summaryrefslogtreecommitdiffstats
path: root/libvo/vo_x11.c
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-14 16:17:18 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-14 16:17:18 +0000
commit1d1e48eb11ed07dcc493742b71662f9f6ec6d98e (patch)
tree2bc88ea76f8f644f323f42d2c1e0e761c2ced827 /libvo/vo_x11.c
parent8b3ed50c4b5b5408b97364a04521bb4fda0e8744 (diff)
downloadmpv-1d1e48eb11ed07dcc493742b71662f9f6ec6d98e.tar.bz2
mpv-1d1e48eb11ed07dcc493742b71662f9f6ec6d98e.tar.xz
bugfix for width % 2 != 0
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4698 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/vo_x11.c')
-rw-r--r--libvo/vo_x11.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c
index 1a8c943868..6075fcd5e0 100644
--- a/libvo/vo_x11.c
+++ b/libvo/vo_x11.c
@@ -276,9 +276,10 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t
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 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t
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 @@ static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t
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 );