# HG changeset patch # User nick # Date 1003579125 0 # Node ID 0769b2fb3ce23a69fb952088e45d3aac48fc74ff # Parent 456e22bfb1476f9c05ced0560c5216c17a6cab7b Fixed zooming bug diff -r 456e22bfb147 -r 0769b2fb3ce2 libvo/vo_vesa.c --- a/libvo/vo_vesa.c Sat Oct 20 11:16:47 2001 +0000 +++ b/libvo/vo_vesa.c Sat Oct 20 11:58:45 2001 +0000 @@ -385,7 +385,7 @@ } if(verbose) { - printf("vo_vesa: Requested mode: %ux%u@%x bpp=%u\n",width,height,format,bpp); + printf("vo_vesa: Requested mode: %ux%u@%u (%s)\n",width,height,bpp,vo_format_name(format)); printf("vo_vesa: Total modes found: %u\n",num_modes); mode_ptr = vib.VideoModePtr; printf("vo_vesa: Mode list:"); @@ -454,20 +454,23 @@ printf("vo_vesa: Can't allocate temporary buffer\n"); return -1; } - if( vesa_zoom && format==IMGFMT_YV12 ) + if( vesa_zoom ) { - /* software scale */ - image_width = video_mode_info.XResolution; - image_height = video_mode_info.YResolution; - scale_xinc=(width << 16) / image_width - 2; /* needed for proper rounding */ - scale_yinc=(height << 16) / image_height + 2; - SwScale_Init(); - if(verbose) printf("vo_vesa: Using SCALE\n"); - } - else - { - printf("vo_vesa: Can't apply zooming to non YV12 formats\n"); - return -1; + if( format==IMGFMT_YV12 ) + { + /* software scale */ + image_width = video_mode_info.XResolution; + image_height = video_mode_info.YResolution; + scale_xinc=(width << 16) / image_width - 2; /* needed for proper rounding */ + scale_yinc=(height << 16) / image_height + 2; + SwScale_Init(); + if(verbose) printf("vo_vesa: Using SCALE\n"); + } + else + { + printf("vo_vesa: Can't apply zooming to non YV12 formats\n"); + return -1; + } } if((video_mode_info.WinAAttributes & FRAME_MODE) == FRAME_MODE) win.idx = 0; /* frame A */