[Ffmpeg-cvslog] r6172 - trunk/libavcodec/vmnc.c

kostya subversion
Tue Sep 5 09:29:27 CEST 2006


Author: kostya
Date: Tue Sep  5 09:29:26 2006
New Revision: 6172

Modified:
   trunk/libavcodec/vmnc.c

Log:
Handle raw blocks correctly (both updating pointer and storing to memory)


Modified: trunk/libavcodec/vmnc.c
==============================================================================
--- trunk/libavcodec/vmnc.c	(original)
+++ trunk/libavcodec/vmnc.c	Tue Sep  5 09:29:26 2006
@@ -105,7 +105,17 @@
         for(i = 0; i < w; i++) {
             p = vmnc_get_pixel(src, bpp, be);
             src += bpp;
-            memcpy(dst + i*bpp, &p, bpp);
+            switch(bpp){
+            case 1:
+                dst[i] = p;
+                break;
+            case 2:
+                ((uint16_t*)dst)[i] = p;
+                break;
+            case 4:
+                ((uint32_t*)dst)[i] = p;
+                break;
+            }
         }
         dst += stride;
     }
@@ -129,6 +139,7 @@
             flags = *src++;
             if(flags & HT_RAW) {
                 paint_raw(dst2, bw, bh, src, bpp, c->bigendian, stride);
+                src += bw * bh * bpp;
             } else {
                 if(flags & HT_BKG) {
                     bg = vmnc_get_pixel(src, bpp, c->bigendian); src += bpp;




More information about the ffmpeg-cvslog mailing list