changeset 7691:5381fb575552

10l fix & cleanup of draw_frame(), still NO support for stride :(
author arpi
date Wed, 09 Oct 2002 23:39:36 +0000
parents d8ce19f6b1fe
children bbbf2e677afe
files libvo/vo_svga.c
diffstat 1 files changed, 12 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_svga.c	Wed Oct 09 23:13:47 2002 +0000
+++ b/libvo/vo_svga.c	Wed Oct 09 23:39:36 2002 +0000
@@ -484,36 +484,29 @@
 }
 
 static uint32_t draw_frame(uint8_t *src[]) {
+  uint8_t *s=src[0];
+#if 0
+  // draw_frame() is never called for YV12
   if (pformat == IMGFMT_YV12) {
     if(bpp==1)
       yuv2rgb(yuvbuf, src[0], src[1], src[2], orig_w, orig_h, (orig_w+7)/8, orig_w, orig_w / 2);
     else
       yuv2rgb(yuvbuf, src[0], src[1], src[2], orig_w, orig_h, orig_w * BYTESPERPIXEL, orig_w, orig_w / 2);
-    src[0] = yuvbuf;
+    s = yuvbuf;
   }
+#endif
   if (bpp_conv) {
     switch(bpp) {
-      case 32: {
-        uint8_t *source = src[0];
-        uint8_t *dest = bppbuf;
-	register uint32_t i = 0;
-    
-	while (i < (maxw * maxh * 4)) {
-	  dest[i] = source[i];
-	  dest[i+1] = source[i+1];
-	  dest[i+2] = source[i+2];
-	  dest[i+3] = 0;
-	  i += 4;
-	}
-      } break;
-      case 16: {
+      case 32:
+        rgb24to32(src[0],bppbuf,maxw * maxh * 3);
+        break;
+      case 16:
         rgb15to16(src[0],bppbuf,maxw * maxh * 2);
-      } break;
+        break;
     }
-    src[0] = bppbuf;
+    s = bppbuf;
   }
-  putbox(x_pos, y_pos, maxw, maxh, src[0], 1);
-  
+  putbox(x_pos, y_pos, maxw, maxh, s, 1);
   return (0);
 }