[mythtv] revised greedy high motion deinterlacer

David Engel david at istwok.net
Wed Nov 21 15:49:14 UTC 2007


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.

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.

> > 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.  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.

On Wed, Nov 21, 2007 at 01:31:58AM +0100, Markus Schulz wrote:
> Am Dienstag, 20. November 2007 schrieb David Engel:
> > 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.
> 
> Haven't tried yadif so far. I will take a look, but my spare time is 
> rare too ;)

OK.  When I last seriously looked at things a couple months ago, yadif
and greedyh appeared to produce comparable results using mplayer and
xine, respectively.  I figured yadif would be the easier port so
that's the one I concentrated on.

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.

On Wed, Nov 21, 2007 at 11:50:49AM +0100, Michael Haas wrote:
> I've tested it and it will often segfault right at the beginning of
> playback. I'm running Kubuntu 7.10 amd64 with the proprietary nvidia
> driver and my video source is DVB-C in Germany. A backtrace is attached.
> Due to a permission problem, the regular log file was not created. I can
> get you a log file in case you need it, though.

I had one segfault due to some sort of underrun.  Since ti was just
one case and I'd also updated svn, I can't attribute it to greedyh.

David
-- 
David Engel
david at istwok.net


More information about the mythtv-dev mailing list