# HG changeset patch # User michael # Date 1013703438 0 # Node ID b4f72d6b23659751b9cd050f2d10f9b286938449 # Parent 629429644de7d3cb4b6a33057c4da92dad436769 bugfix for width % 2 != 0 diff -r 629429644de7 -r b4f72d6b2365 libvo/vo_x11.c --- a/libvo/vo_x11.c Thu Feb 14 16:09:36 2002 +0000 +++ b/libvo/vo_x11.c Thu Feb 14 16:17:18 2002 +0000 @@ -276,9 +276,10 @@ if ( depth != 15 && depth != 16 && depth != 24 && depth != 32 ) depth=24; XMatchVisualInfo( mDisplay,mScreen,depth,TrueColor,&vinfo ); - /* set image size, if zoom is on it will be changed during draw_slice anyway - so we dont dupplicate the aspect code here */ - image_width=width; + /* set image size (which is indeed neither the input nor output size), + if zoom is on it will be changed during draw_slice anyway so we dont dupplicate the aspect code here + */ + image_width=(width + 7) & (~7); image_height=height; aspect= ((1<<16)*d_width + d_height/2)/d_height; @@ -292,8 +293,13 @@ hint.x=0; hint.y=0; - hint.width=image_width; - hint.height=image_height; + if(zoomFlag){ + hint.width=d_width; + hint.height=d_height; + }else{ + hint.width=width; + hint.height=height; + } #ifdef HAVE_XF86VM if ( vm ) @@ -395,7 +401,8 @@ default: draw_alpha_fnc=draw_alpha_null; } - swsContext= getSwsContextFromCmdLine(width, height, in_format, image_width, image_height, out_format ); + /* no scaling here, it will be changed during draw_slice if -zoom is on so we dont dupplicate the code */ + swsContext= getSwsContextFromCmdLine(width, height, in_format, width, height, out_format ); // printf( "X11 color mask: R:%lX G:%lX B:%lX\n",myximage->red_mask,myximage->green_mask,myximage->blue_mask );