raw2png: Fix channel order in a8b8g8r8/x8b8g8r8 formats.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Thu, 7 Aug 2008 07:50:50 +0000 (08:50 +0100)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Thu, 7 Aug 2008 17:58:30 +0000 (18:58 +0100)
bin/raw2png.py

index 18d40bda0e70024fb8b6268870b3929a16f1e1a6..f01e7990a139f1b025fede4e6990dbb55e6a2c07 100755 (executable)
@@ -262,12 +262,20 @@ def translate_r5g6b5(data):
        a = 255
        return [[(r, g, b, a)]]
 
+def translate_a8r8g8b8(data):
+    b, g, r, a = struct.unpack_from("BBBB", data)
+    return [[(r, g, b, a)]]
+
+
+def translate_x8r8g8b8(data):
+    b, g, r, x = struct.unpack_from("BBBB", data)
+    a = 255
+    return [[(r, g, b, a)]]
 
 def translate_r8g8b8a8(data):
        r, g, b, a = struct.unpack_from("BBBB", data)
        return [[(r, g, b, a)]]
 
-
 def translate_ycbcr(data):
        y1, u, y2, v = struct.unpack_from("BBBB", data)
        r1, g1, b1 = yuv2rgb(y1, u, v)
@@ -296,8 +304,8 @@ def translate_s8z24(data):
 
 
 translate = {
-       PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_r8g8b8a8),
-       PIPE_FORMAT_X8R8G8B8_UNORM: (4, 1, 1, translate_r8g8b8a8),
+       PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_a8r8g8b8),
+       PIPE_FORMAT_X8R8G8B8_UNORM: (4, 1, 1, translate_x8r8g8b8),
        PIPE_FORMAT_B8G8R8A8_UNORM: (4, 1, 1, translate_r8g8b8a8),
        PIPE_FORMAT_B8G8R8X8_UNORM: (4, 1, 1, translate_r8g8b8a8),
        PIPE_FORMAT_A8B8G8R8_SNORM: (4, 1, 1, translate_r8g8b8a8),