raw2png: support some depth formats.
This commit is contained in:
@@ -280,6 +280,20 @@ def translate_ycbcr_rev(data):
|
|||||||
r2, g2, b2 = yuv2rgb(y1, u, v)
|
r2, g2, b2 = yuv2rgb(y1, u, v)
|
||||||
return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]]
|
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 = {
|
translate = {
|
||||||
PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_r8g8b8a8),
|
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_R5G6B5_UNORM: (2, 1, 1, translate_r5g6b5),
|
||||||
PIPE_FORMAT_YCBCR: (4, 2, 1, translate_ycbcr),
|
PIPE_FORMAT_YCBCR: (4, 2, 1, translate_ycbcr),
|
||||||
PIPE_FORMAT_YCBCR_REV: (4, 2, 1, translate_ycbcr_rev),
|
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):
|
def read_header(infile):
|
||||||
|
Reference in New Issue
Block a user