[mythtv-users] How I got great quality TV-out on my nVidia MX4000

Cory Papenfuss papenfuss at juneau.me.vt.edu
Thu Mar 10 12:32:11 UTC 2005


> The key to MythTV (or any program, really) being able
> to render a display without tears or choppiness is
> really in two things:
> 1. Being able to know when the vertical sync is, and,
> 2. Being able to react to the vertical sync event in a
> timely manner
>
 	There's a 3rd issue here.  Most (all?) linux video cards run with 
a free-running clock.  If you want to avoid beat frequency issues and 
tearing, you really want to have the mpeg stream itself trigger the card 
to send out a new vertical field.  Otherwise, you have the MPEG stream 
running a 29.97Hz field rate, and the video card running at a "close," but 
not phase/frequency locked rate of, say, 29.98Hz.  That leaves a 0.01Hz 
beat frequency which can show up as screen tearing that moves slowly.

 	I guess if you've got the VBI, you can do without this by simply 
using the blanking interval time as a time buffer.  If the card runs too 
fast and the MPEG stream doesn't have another frame yet, show the old 
frame again.  If the card runs too slowly and *another* frame is ready 
before the previous has been shown, drop it.  As said before, the 
fundamental problem is that linux is not realtime (hard or even soft).

-Cory

*************************************************************************
* Cory Papenfuss                                                        *
* Electrical Engineering candidate Ph.D. graduate student               *
* Virginia Polytechnic Institute and State University                   *
*************************************************************************



More information about the mythtv-users mailing list