[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