[mythtv] Ideas for high quality TV-out

Michael Wright mikewright at iprimus.com.au
Mon Jun 28 11:32:44 EDT 2004


Hi Doug,

Thanks, that is a very informative response.

I would be very interested in getting hold of your patch. 

To address you points:
 
1.  I don't need to worry about HDTV, I'm only interested in SDTV -
720x576 at 25fps. I know that other people do care about HDTV and they can
solve that by throwing CPU poer at the problem.

2.  I want to stick the the OSS nv driver if I can.  I have not been
able to get a solid system with the binary drivers.  I guess if they
come good, I can always switch to them later.  But since I don't need 3D
then I think the OSS nv driver should be better suited.

3.  That was what I was afraid of.  I guess the best way to become
familiar with the code is to get invasive :)

I would love to see your patch!  It would help me to become familiar
with the relevant Myth code quickly.

I also intend to look at the nv driver to see if it supports VSYNC in
anyway. I'm guessing no because it seems to be a Kernel level thing. 
and X is purely user-space.

On Mon, 2004-06-28 at 20:05, Doug Larrick wrote:
> Jukka Tastula wrote:
> > On Monday 28 June 2004 03:44, mikewright at iprimus.com.au wrote:
> >>Any ideas on how to do this [better deinterlacing in Myth]?
> 
> I actually had a 'bob' deinterlacer (display fields sequentially) 
> working in my private development tree for a time, but haven't carried 
> it forward for three reasons:
> 1. At the time, the videocard-based a/v sync method was not up to 
> displaying twice as many (HDTV-sized) frames in anything approaching a 
> smooth cadence.  This is better now, but I'm fighting a threads-related 
> crash in the OpenGL video sync method :-(
> 2. I was anticipating new nVidia drivers with interlaced output support 
> at the end of March (shoulda asked what year)
> 3. This type of thing required very invasive changes to Myth's filter 
> and video output code and I didn't want to the be the one responsible 
> for fixing all those bugs :-)
> 
> The Myth filter chain is called as basically the last thing that happens 
> before each frame is sent to the video card.  So to support 
> deinterlacing that alters (doubles) the frame rate, you have to:
> * note that there is such a filter in the chain, and halve the frame 
> interval in NuppelVideoPlayer -- but only locally so as not to perturb 
> other parts of the system (decoding, audio, etc.)
> * feed in a second Xv (or whatever) surface for the odd field
> * notice non-interlaced video in the filter and turn into a no-op -- 
> interlaced flag currently does not survive libavcodec, and is certainly 
> not sent to the filter chain. (I never did anything about this)
> * write a filter that does your algorithm.  A simple sequential-field 
> bob deinterlacer would be very easy based on my 'onefield' filter.  A 
> smarter filter that tries to recover more picture detail from 
> largely-static portions of the frame (like in TVTime) would be more work.
> 
> I'm willing to share the code I came up with for these tasks, though 
> it's against a CVS that's several months out of date.
> 
> As for whether the nv driver supports any vsync methods at all, best bet 
> would be to (a) read the code, or (b) ask the developers.
> 
> -Doug
> 
> ______________________________________________________________________
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev



More information about the mythtv-dev mailing list