[mythtv] revised greedy high motion deinterlacer

Markus Schulz msc at antzsystem.de
Wed Nov 21 17:50:02 UTC 2007


Am Mittwoch, 21. November 2007 schrieb David Engel:
> On Tue, Nov 20, 2007 at 11:18:47PM +0100, Janne Grunau wrote:
> > On Tuesday 20 November 2007 23:05:35 David Engel wrote:
> > I spotted two minor things in the patch:
> > The deinterlace paused frame should be a separate patch
> > and NeedsDoubleProcess() contains a bogus comment, probably pasted
> > from NeedsDoubleRate()
>
> I found a minor nit.  greedyh 2x does not inform the OSD of the
> doubled frame rate.  The result is the OSD disappears and fades out
> in half the time it should.

Ok, i will look at this.

> My main hope was that greedyh 2x would retain some of the vertical
> resolution that bob 2x loses.  Zooming letterboxed, SD material to
> full screen can be pretty grainy.  I'm happy to report greedyh 2x
> appeared to be a slight improvement in this regard.  I will reserve
> further judgement until I can watch some football and hockey recorded
> in SD.

In my opinion greedy high motion was one of the best (except yadif cause 
not tried) for fast moving interlaced pictures like sporting events.

> > > Markus, have you considered porting the yadif deinterlacer too? 
> > > It's on my TODO list, but at the rate I'm [not] working things
> > > off, it's little more than a wish list.
> >
> > I started it some months ago (startet means unfortunately only
> > copying the yadif source to a new filters directory). We should
> > coordinate working on it.
>
> I didn't even get as far as copying the code into Myth.  I was still
> studying the yadif mplayer code to see what would be needed to port
> it.  As I recall, there were two main hurdles.  First, yadif 2x
> produces 2 full output frames for each input frame, which Myth
> dosen't support.  Bob 2x kind of does this, but with a bit of smoke
> and mirrors.  Markus has addressed this with the "doubleprocess" part
> of his patch.  

yes, if there are other or better ideas, tell it please.

> Second, was doing the buffering so yadif could 
> reference the previous and next fields when deinterlacing the current
> one.  That is where I left off.

Greedyh has the same problem, i'm saving the last frame inside the 
filter and check if current frame is the direct successor (framenumber) 
of saved frame. If there is no saved frame the current was used twice.

> On Wed, Nov 21, 2007 at 01:18:36AM +0100, Markus Schulz wrote:
> > Am Dienstag, 20. November 2007 schrieb Tino Keitel:
> > > One minor "glitch": CPU usage has increased a lot. A PIII 1,1 GHz
> > > is way too slow for smooth PAL playback. I use the 2x version.
> >
> > yes, its cpu intensive. The 2x version calculates at a rate of
> > 50fps (50 deinterlaced frames per second) instead of 25fps of
> > previous (non 2x HW) deinterlacers. The non-2x version should be
> > nearly equal to kernel-deint in respect of cpu usage.
>
> greedyh non-2x appears to require more CPU than kerneldeint.  My X2
> 4200 has just enough horsepower to timestretch 1080i content to 2x
> speed using kerneldeint.  Doing the same with greedyh resulted in
> very bad stuttering.  FWIW, greedyh 2x was just a bit too much for my
> CPU to play 1080i at normal speed.  It stuttered about once a second.
> That's OK, though, since I didn't really expect, nor need, greedyh to
> work on HD content.

there was one problem for mee, greedyh implementation works on yuv 
packed data only, therefore i'm convert yv12 planar to yuv packed and 
vice versa cause for now myth can only output yv12 planar.
For SD content this has only small weight but for HD the overhead is 
notable compared to kerneldeint.



-- 
Markus Schulz




More information about the mythtv-dev mailing list