# HG changeset patch # User arpi # Date 1003316074 0 # Node ID 36fa77e785d45f6a73cac81949e0552da5724533 # Parent 5d8a0bc932c46bfb183f78375d5a9ccdbecb0782 swscale - 16bpp and -fs support diff -r 5d8a0bc932c4 -r 36fa77e785d4 libvo/vo_x11.c --- a/libvo/vo_x11.c Wed Oct 17 03:40:03 2001 +0000 +++ b/libvo/vo_x11.c Wed Oct 17 10:54:34 2001 +0000 @@ -172,12 +172,17 @@ if ( depth != 15 && depth != 16 && depth != 24 && depth != 32 ) depth=24; XMatchVisualInfo( mDisplay,mScreen,depth,TrueColor,&vinfo ); - if( flags&0x04 && depth>=24 && format==IMGFMT_YV12 ) { + if( flags&0x04 && format==IMGFMT_YV12 ) { // software scale - scale_xinc=(width << 8) / d_width - 1; // -1 needed for proper rounding - scale_yinc=(height << 16) / d_height; - image_width=d_width; - image_height=d_height; + if(fullscreen){ + image_width=vo_screenwidth; + image_height=vo_screenheight; + } else { + image_width=d_width&(~3); + image_height=d_height; + } + scale_xinc=(width << 8) / image_width - 1; // -1 needed for proper rounding + scale_yinc=(height << 16) / image_height; SwScale_Init(); } @@ -480,7 +485,7 @@ if(scale_xinc){ SwScale_YV12slice_brg24(src,stride,y,h, - ImageData, image_width*((bpp+7)/8), image_width, ((bpp+7)/8), + ImageData, image_width*((bpp+7)/8), image_width, bpp, scale_xinc, scale_yinc); } else { uint8_t *dst=ImageData + ( image_width * y + x ) * ( bpp/8 );