Mercurial > mplayer.hg
changeset 4697:b4f72d6b2365
bugfix for width % 2 != 0
author | michael |
---|---|
date | Thu, 14 Feb 2002 16:17:18 +0000 |
parents | 629429644de7 |
children | 319d80378895 |
files | libvo/vo_x11.c |
diffstat | 1 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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 );