avpicture_layout: use a endian independant format for the palette.
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 13 Apr 2012 16:21:51 +0000 (18:21 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 13 Apr 2012 16:21:51 +0000 (18:21 +0200)
This should fix the failing fate PAL8 tests.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/imgconvert.c

index c26e5b6..76d75aa 100644 (file)
@@ -340,8 +340,11 @@ int avpicture_layout(const AVPicture* src, enum PixelFormat pix_fmt, int width,
         return size;
     }
 
-    if (desc->flags & PIX_FMT_PAL)
-        memcpy((unsigned char *)(((size_t)dest + 3) & ~3), src->data[1], 256 * 4);
+    if (desc->flags & PIX_FMT_PAL) {
+        uint32_t *d32 = (unsigned char *)(((size_t)dest + 3) & ~3);
+        for (i = 0; i<256; i++)
+            AV_WL32(d32 + i, AV_RN32(src->data[1] + 4*i));
+    }
 
     return size;
 }