[MPlayer-users] Re: [-] Re: [-] Best de-interlace filter ( NOVIRUS )

D Richard Felker III dalias at aerifal.cx
Mon Oct 11 05:21:56 CEST 2004


On Sun, Oct 10, 2004 at 09:32:41PM +0200, Matthias Wieser wrote:
> Am Sonntag, 10. Oktober 2004 02:29 schrieb D Richard Felker III:
> > On Wed, Oct 06, 2004 at 08:21:19PM +0200, Matthias Wieser wrote:
> > > Am Mittwoch, 6. Oktober 2004 01:39 schrieb D Richard Felker III:
> > > >
> > > > i would go so far as to say there's no such thing as a high quality
> > > > deinterlacer. interlacing sucks, and deinterlacing sucks just as
> > > > much...
> > >
> > > Dscaler and TV-Time do have some high quality deinterlacers.
> >
> > i wouldn't call them high quality. your eyes just compensate because
> > of the high refresh rate (50/60 fps).
> 
> You can configure TVtime and Dscaler to give 25/30 fps.

that makes the quality much lower and eliminates the purpose of these
programs.

> > but if you encode the output of 
> > these it'll take insane bitrate because of the high frequency flicker
> > your eyes cover up. so from my standpoint it's very low quality.
> 
> ??
> 
> I don't see how a deinterlace filter like
> 
> if pixel needs deinterlacing {
> 	deinterlace 
> 	make nice edges
> } else {
> 	do nothing
> }
> 
> has to produce flicker.

what does "if pixel needs deinterlacing" mean??
ideas like this come from an incorrect assumption that interlaced
video is a sequence of frames with possible combing.
interlaced video is a sequence of fully independent fields which are
undersampled by 1/2 (and thus horribly aliased).

sometimes you can use the previous (or next?) field to fill in missing
lines of a field. but deciding if/where you can do this is a very
inexact art, and very error-prone.

assuming you're going to deinterlace all fields (for 50/60 fps output)
rather than just half (25/30 fps), you need to make sure that there is
no high frequency temporal noise in the output. otherwise you'll waste
bits like mad. and all naive algorithms for 50/60 fps deinterlacing
(like the ones tvtime uses) will introduce this noise. it doesn't
matter for watching but it does matter for encoding.

> > > pp=md lacks a good smothing algorithm
> >
> > then apply a blur filter afterwards.
> 
> That would blur the whole frame. I thought the advantage of the md filter 
> was that it only deinterlaes where necessary.

then use a good adaptive blur..

> > anyway this isn't it's most 
> > serious fault. the main problem with md is that it destroys all local
> > extrema in the picture.
> 
> That's true - at least for extrema only one pixel high. But I have never 
> seen this effect. So I would say it's a minor problem. The most visible 
> problem is the staircase effect on edges. 

essentially all extrema are only one pixel high. the only exception is
when you have a vertical run of several pixels exactly the same color.

anyway your "staircase" example is exactly what i said, destroying
local extrema.

> > > pp=lb blurs the image and does deinterlace everywhere
> >
> > lb blurs two consecutive fields together so you don't lose either of
> > them entirely.
> 
> -vf boxblur won't make you lose a frame entirely, too ;-)

:)))))))))))

i didn't say lb is good. just explained the idea behind it.

rich




More information about the MPlayer-users mailing list