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

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sat Mar 14 18:15:20 CET 2009


On Sat, Mar 14, 2009 at 05:44:31PM +0100, Dan Oscarsson wrote:
> In resize:
>   - width and height are set to screen width and height.
>     This results in no resizing of output surfaces are done but once.
>     I suspect that destroying the active visible surface results in
>     flashing - this avoids that.

That change does not really fix anything, it just hides the issue by
making it less likely.

>   - Only update output when in pause. When not paused it will be updated
>     at next picture frame.

I don't mind much, but ideally it would work nicely for e.g. 1 fps
slideshows, which is the reason it is done always currently.

> In win_x11_init_vdpau_flip_queue:
>   - set background colour to black for parts outside a surface.
>     Without this I get yellowish flashing during resize. Black
>     works better.

I heavily suggest that NVidia should change their code to set the
background to bacl by default, making every application set that
manually for no good reason just seems silly.
Unless of course this is also the "overlay" colour as it was used for
Xv, in that case this change might have weird effects like writing on a
Window placed on top of MPlayer becoming transparent...

> In check_events:
>   - removed the code that requeues the current visible output surface
>     when paused. vdpau does redisplay the visible output surface by
>     itself.

Are you sure this is true if the blit backend is used? I can't really
see how, but of course NVidia might have found a clever trick I have not
thought of.



More information about the MPlayer-dev-eng mailing list