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 */