summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJosé Fonseca <jrfonseca@tungstengraphics.com>2008-08-06 14:48:53 +0100
committerJosé Fonseca <jrfonseca@tungstengraphics.com>2008-08-07 18:58:29 +0100
commiteb422a724342b0870ae0c796d229f38cf6b0706f (patch)
tree6444acbeb6564d81068344b760dae4fb3e665018 /bin
parent72a5e479789febb552ec783a1cba0ed628dfa427 (diff)
downloadexternal_mesa3d-eb422a724342b0870ae0c796d229f38cf6b0706f.zip
external_mesa3d-eb422a724342b0870ae0c796d229f38cf6b0706f.tar.gz
external_mesa3d-eb422a724342b0870ae0c796d229f38cf6b0706f.tar.bz2
raw2png: support some depth formats.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/raw2png.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/bin/raw2png.py b/bin/raw2png.py
index be4f3ec..18d40bd 100755
--- a/bin/raw2png.py
+++ b/bin/raw2png.py
@@ -280,6 +280,20 @@ def translate_ycbcr_rev(data):
r2, g2, b2 = yuv2rgb(y1, u, v)
return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]]
+def translate_x8z24(data):
+ value, = struct.unpack_from("I", data)
+ r = g = b = (value & 0xffffff)*0xff/0xffffff
+ a = 255
+ return [[(r, g, b, a)]]
+
+def translate_s8z24(data):
+ value, = struct.unpack_from("I", data)
+ r = (value & 0xffffff)*0xff/0xffffff
+ g = value >> 24
+ b = 0
+ a = 255
+ return [[(r, g, b, a)]]
+
translate = {
PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_r8g8b8a8),
@@ -290,6 +304,8 @@ translate = {
PIPE_FORMAT_R5G6B5_UNORM: (2, 1, 1, translate_r5g6b5),
PIPE_FORMAT_YCBCR: (4, 2, 1, translate_ycbcr),
PIPE_FORMAT_YCBCR_REV: (4, 2, 1, translate_ycbcr_rev),
+ PIPE_FORMAT_S8Z24_UNORM: (4, 1, 1, translate_s8z24),
+ PIPE_FORMAT_X8Z24_UNORM: (4, 1, 1, translate_x8z24),
}
def read_header(infile):