Mercurial > mplayer.hg
diff libvo/vo_vesa.c @ 2304:0769b2fb3ce2
Fixed zooming bug
author | nick |
---|---|
date | Sat, 20 Oct 2001 11:58:45 +0000 |
parents | 674acdf0aa43 |
children | 82c17b134946 |
line wrap: on
line diff
--- 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 */