[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