[MPlayer-dev-eng] New inverse-telecine filter
D Richard Felker III
dalias at aerifal.cx
Fri Dec 5 23:35:09 CET 2003
On Fri, Dec 05, 2003 at 04:08:10PM -0600, Zoltan Hidvegi wrote:
> > On Fri, Dec 05, 2003 at 12:00:28PM -0600, Zoltan Hidvegi wrote:
> > > > > > Also, the way hard-interlaced mode alternates a couple times per
> > > > > > second between using bottom and top field as a source of interpolation
> > > > > > creates a horrible low-frequency flicker.
> > > > >
> > > > > Yes, but what else can I do, that's the only way to keep the output
> > > > > rate even for interlaced content. Ive started to write a motion
> > > >
> > > > Well then at the very least, you need a better filter.
> > >
> > > Yes. Any suggestions? That's the same problem as tfields, that
> > > flickers too.
> > Yes, but it flickers at a steady, rapid 60 Hz, and your eyes filter
> > that out, just like on a real TV. On the other hand, 5 Hz flicker
> > looks horrible.
> Yes, I know it is ugly, but the only filter I know that could
> eliminate that is motion-compensated deinterlacing, and you know that
> it's a quite complex task to write such a deinterlacer. Or do you
> know any simple kernel filter that does not flicker, and still OK
> quality (pp=lb is not OK for me)?
In the absence of anything better, I'd use linear blend. Yes it's
horrible if you make a mistake and apply it to telecined fields, but
if you actually have 60fps content the blurring is only minor. Much
less visually annoying than the flicker.
> You can to top-fiel all the time,
> but then the motion will not be smoth. What your filter does? Output
> at 60fps, since you can do variable rate in G2?
For mismatched lone fields in an otherwise progressive/telecine
sequence, my intent is just to drop them entirely. Presently I don't
really handle what you call hard-interlaced content, since I think
doing so will always be detrimental to the cases I care about. I would
like to add it, but only as an optional feature, in which case a
separate filter would actually be used afterwards for making full
60fps frames out of the fields. So it would be:
decoder --> pullup[detect_interlaced,dont_drop_1frames] -->
true_deinterlacer(60fps output) --> vo or ve
More information about the MPlayer-dev-eng