Hi guys!

Because I still have problems with playback smoothness, I'd thought I'd share
my thoughts on the topic.

The main point is, I'm using PAL TVout for video playback, which means there
is a fixed refresh rate of 25fps. Needless to say, watching stuff that is
encoded at 23.98 or 25 fps doesn't produce smooth playback (though I think
29.97 does). This occurs because playback isn't synchronized to refresh, but
to internal clock of the soundcard (actually it's more complicated, but you
get the point). 

The problem is like this: most frames are played at speed (1 movie frame == 1
TV frame). But pretty often, like once a second, the same videoframe stays on
the TV for the period of 2 TV frames (aka 80ms instead of 40ms). This is quite
noticeable and disturbing. It doesn't matter if a video frame gets missed,
because then the delay is still 40ms, but you simply can't miss a TV
frame.

So, my proposal is to add an option, that when turned on, will
- check a special character device (mga_vid, ati_vid etc) to calculate refresh
  frequency (relative to system clock)
- calculate sound card crystal speed (relative to system clock)
- modify soundcard frequency based on these numbers and movie fps
- these numbers should be rounded up, so that we rather have the soundcard a
  little bit faster than a little bit slower.
- "try really hard" (TM) to maintain a fixed-frequency plaback (e.g. by using
  this special character device.

Simply telling the player "when you think you should draw, simply wait for
refresh in addition to the stuff you usually do" doesn't solve the problem,
because the problem isn't that it draws too soon, but too late.

Whaddaya think?

Bye,

Peter Surda (Shurdeek) <[EMAIL PROTECTED]>, ICQ 10236103, +436505122023

--
                   Press every key to continue.

Attachment: msg02408/pgp00000.pgp
Description: PGP signature

Reply via email to