[vlc-devel] Bug in vlc xv engine?

Greg Farrell greg at gregfarrell.org
Wed Feb 8 16:23:56 CET 2006


I've found a bug in the vlc xv rendering I believe.

XV requests a surface to draw to of dimensions X*Y.
However the xv driver may give a surface slightly larger due to
underlying aspects of the suported hardware.

e.g. with the unichrome driver on via cle266 when xv asks for a 720x576
surface it will actually be given a 736x576 one. 

If vlc xv doesn't check this properly it'll draw to this buffer and the
output will be skewed as each line will be off by 16 pixels compared to
the previous. There'll also be some lines of junk down the bottom as
we've run out of pixels to fill it in. This is exactly what i've been
seeing with my xv problems.

>From running the via driver with -logverbose 8 (thanks to Luc Verhaegen
unichrome author) I can see the surfaces returned by the xv driver to
vlc.

For a 480x384 movie (this works)
(II) VIA(0): ViaSwovSurfaceCreate: FourCC 0x32315659, Width 480, Height
384
(II) VIA(0): FUNCTION: ViaMemAlloc

For a 720x576 (this does not work)
(II) VIA(0): FUNCTION: ViaSwovSurfaceCreate
(II) VIA(0): ViaSwovSurfaceCreate: FourCC 0x32315659, Width 736, Height
576

mplayer and xine are able to handle these 736x576 surfaces correctly so
I think we need to fix vlc to do so also. I'll look into doing this

   Greg



-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list