Quote:
Originally Posted by pinterf
The method of filling the variable is a workaround hack which probably works only when the variable is constant.
|
Ah, that's unfortunate. I don't suppose there's any chance this will change in the future?
Quote:
Originally Posted by pinterf
You can define a filter to NonCachedGenericVideoFilter
|
Correct me if I'm wrong but this won't fix the issue if, for example, you have a script like this:
Code:
FFVideoSource("foo.mkv")
bar()
myfilter()
If bar() is someone else's filter that's cached and does frame requests outside of the current frame, my filter would still have issues getting the correct FFPICT_TYPE, right?
Edit: Now that I think about it, even if AviSynth+ cached these it would still require the earlier filter to do the request for any non-offset frames last. For instance, if you think about a filter that does a temporal blend of frame 'f' with radius 'x' (forward and backward), it would still have to request frame 'f' last and not frame 'f + x' to get the variable correct. It seems like a better solution is to either parse the the FFVideoSource() cache (if that even contains the picture types), or the source file itself, but neither is friendly if there's a simple Trim() in the script before it hits myfilter().
In any case, there's no general solution, as even the idea of a picture type disappears with any temporal filtering.