Quote:
Originally Posted by neuron2
I find this discussion amusing. The source filter is the last one to know about the RFF flags, so if repeated fields are going to be honored, that is the right place to do it.
|
I respectfully disagree. It adds needless complexity to a
source filter. The better idea is add it to the frame metadata in VapourSynth, and have a separate filter handle it (IVTC filter, perhaps). There is absolutely no reason to burden the source filter with this, whose job is not to mess with the frames.
Quote:
Originally Posted by neuron2
And to coordinate with random access by frame number...it has to take into account the repeats.
|
Um, no. There's is no reason you
need RFF flags for "proper" random access. In fact, you shouldn't even have to 'expand' them at all. I'm curious how you define "proper" here.
Quote:
Originally Posted by neuron2
This stuff is hardly "cruft", if you want to do things in a half-assed way, fine, it's your choice, but don't try to blame someone that has done the right thing.
|
"Right thing" is subjective here, and you also seem to be bogged down in AviSynth's and its filters' limitations. Your way is merely one way to do it. And for what it's worth, DGDecode has
plenty of cruft. It's like a bunch of stuff that just happens to have a source filter in it. How many people actually think BlindPP(), Deblock(), LumaYV12(), or the pp, showQ, cpu, cpu2, etc params of MPEG2Source() are even useful in 2012? Were they ever useful? It's cruft-level is libpostproc-like (which actually does something similar).
Quote:
Originally Posted by neuron2
There are lots of streams with irregular pulldown and ones with mixtures of hard and soft pulldown. If you want to have a hope of processing those correctly, you are going to need to honor repeat flags.
|
I've been working with hybrid material (in YATTA, anime obviously) with all sorts of crap like that for about about a decade now. As I said, there is absolutely no reason to handle this in the source filter when you have standard metadata for frames.
P.S. You should take a look at how I'm actually using FFmpeg before you make such statements in the future.