[mythtv] Ideas for high quality TV-out
mikewright at iprimus.com.au
Sat Jul 3 12:50:38 EDT 2004
On Tue, 2004-06-29 at 09:00, Doug Larrick wrote:
> Robert-Paul Berretty wrote:
> > As for the 'bob' deinterlacer, depending a bit on the scaler that you'd
> > use, I do not think that this is going to really solve the problem without
> > a frame blank sync. My guess would be that if you're displaying an odd
> > frame at the even 'phase' of the video out, the playback would be shaking
> > up and down at a rate of 50fps. Perhaps Doug can share how he solved this,
> > since a solution there would also work for the XBox setup.
> I did not solve this particular problem for PVR-350. You will
> definitely need some sort of vertical retrace synchronization; I have no
> idea how that works on that card. On nVidia you may choose the old
> /dev/nvidia0 method (for old drivers) or the new OpenGL method (for new
> drivers, though I'm working on solving a crashing problem).
> >>> I'm willing to share the code I came up with for these tasks [bob
> >>> deinterlacer], though >>> it's against a CVS that's several months out
> of date.
> > Pretty please, sugar on top.
> It will certainly take me a few days; maybe not until next week. But
> I'll get to it.
It's been a little while since I have posted about this stuff because
I've been trying to get my head around the whole situation of
high-quality TV-out. As most of you will know, new NVidia driver came
out recently and I must admit they seem pretty stable with my system. I
have not had a single crash yet.
I have been trying to understand the NVidia interlace support:
"Interlaced modes are supported on all GeForce FX/Quadro FX and newer
GPUs, and certain older GPUs" -from the NVidia readme.
My understanding is, this just gives you good old interlaced VGA output
on the VGA connector and will not help me achieve my high-quality TV
goal since it is related to breaking DVB content odd/even lines into
fields and displaying them in the right order at the right rate. Please
correct me if I'm wrong.
Anyway here comes some good news.
I've noticed that MPlayer supports a very nice option called: "-vf
tfields=2". This does exactly what I want - it breaks my MPEG2 DVB
video frames into fields and displays them in the right order.
Now when I play this on the TV through the composite connector is looks
crappy and jumpy. This is exactly what I thought would happen. This
method takes a 720x576 at 25fps stream and splits it into a 720x288x50fps
stream. For the picture to look right, every frame must be rendered in
video memory before the tv-encoder draws the field on the TV screen.
I decided to try and hook the OpenGL VSYNC code from MythTV into
MPlayer. The result was nothing short of amazing. The video is truly
smooth. It is life-like.
Anyway I've attached the patch to MPlayer-1.0pre3. The file you need to
patch is libvo/vo_xv.c.
Here is the bad news.
The audio now creeps slowly out of sync. I'll look into this.
Why am I posting MPlayer patches to the MythTV list? I'm just trying to
increase the understanding of the interlacing issue on regular TVs.
Plus I use MythTV mostly as a replacement VCR and don't use Live-TV
much. Therefore I want to MythTV to transcode shows to MPEG4 and watch
them through MythVideo. That may change if I can get Live-TV to look as
good as MPlayer does with the attached patch :)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4495 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20040704/b3151565/vo_xv.bin
More information about the mythtv-dev