[MPlayer-dev-eng] [PATCH] reduce flashing on resize with VDPAU

Dan Oscarsson Dan.Oscarsson at tietoenator.com
Thu Mar 19 08:35:07 CET 2009


On 2009-03-18 at 10:34 +0100 Reimar Döffinger wrote:

> > I can do my patch for just the vsync handling, but if there is a better
> > one I can try it. Which patches are you thinking of?
> 
> You can try attached patch. There are some issues though: I only tested
> with the blit engine, which behaves a bit weirdly, it should be possible
> to disable it, and it should be possible to adjust the number of output
> surfaces used.
> It might also be nicer to allow skipping in the draw_image part for
> cases where the GPU usage is the issue, but that has higher jitter.

I have tested in the difficult case when fps is same (nearly) as vsyncs
per second.

Using 4 output surfaces I get, after a while, frames being display
nearly 2 vsyncs late (in my case running at 23,976hz, 70-80 ms).
Using 3 surfaces it works like my patch (which is expected as it is more
or less done in the same way), giving a delay up to about 40 ms.

Your patch, just like mine, will drop many frames when mplayer calls
flip_page just when the vsync occurs.

> 
> > Note: the moment you allow several frames to be queued, audio easily
> > gets slightly out of sync without mplayer noticing it as frames may be
> > shown long after they were queued by flip_page.
> 
> Which some people may still prefer over frame-dropping.

Well, I prefer to not have any frame dropping and audio in sync.
Currently, if I have no frame dropping, I can easily get audio out of
sync by 100-200 ms or even more which makes the movie unwatchable.
The way mplayer syncs video to audio does not work well when fps is same
as vsyncs per second.





More information about the MPlayer-dev-eng mailing list