Skip to content

Instantly share code, notes, and snippets.

@marcan
Last active May 6, 2023 03:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marcan/d93ebdffce5b36be9aaa06079a60503f to your computer and use it in GitHub Desktop.
Save marcan/d93ebdffce5b36be9aaa06079a60503f to your computer and use it in GitHub Desktop.
0x000 1 isTiled
0x001 1 isTearingAllowed
0x002 1 isPremultiplied
0x003 4 planeCount
0x007 4 planeCount2
0x00b 4 pixelFormat
0x00f 4 YCbCrMatrix
0x013 1 transferFunctionIndex
13 == SDR
16 == HDR
0x014 1 colorPrimariesIndex
12 == P3
0x015 4 bytesPerRow
0x019 2 bytesPerElement
0x01b 1 elementWidth
0x01c 1 elementHeight
0x01d 4 baseOffset
0x021 4 width
0x025 4 height
0x029 4 allocSize
0x02d 8 protectionOptions
0x035 4 surfaceID
0x039 1 numberOfComponentsOfPlane
0x03a n typeOfComponentOfPlane
[4*0x50]
0x059 4 planeWidth
0x05d 4 planeHeight
0x061 4 planeBase
0x065 4 planeOffset
0x069 4 planeBytesPerRow
0x06d 4 planeSize
0x071 2 planeBytesPerElement
0x073 1 planeElementWidth
0x074 1 planeElementHeight
0x082 1 planeAddressFormat
[4*0x34]
0x151 CompressedPlaneInfo
This is a fraction (defaults to 1/1 if 0/0), possibly color/gamma related
0x1f5 4 <- 0x5c num
0x1f9 4 <- 0x60 denom
PixelDef
Type:
0 R5G6B5
1 A2R10G10B10
2 A RGBA8
3 A RGBA10
4 A A8R10G10B10
5 a 4:4:4
6 a 4:2:2
7 a 4:2:0
8 A R16G16B16A16 FP16 (possibly gamma if transferFunctionIndex == 13, always HDR range)
ColorType:
0 0 YUV Full
1 0 CIF V YUV Video
2 0 YCCExtended
3 0 CIF ARGB
4 8 CIF A YUVA8 Full
5 8 A V YUVA8 Video
6 16 A
7 16 A V
Mode
0 Normal
1 Multiple pixels packed together
2 Passthrough
CT T p1x p1y BPP M swiz
0 BGRA 3 2 0 0 4 0 0000 B8G8R8A8?
&BGA
1 ARGB 3 2 0 0 4 0 0000 A8R8G8B8
2 RGBA 3 2 0 0 4 0 2103 A8B8G8R8
3 L565 3 0 0 0 2 0 0000 R5G6B5
4 w40a 3 3 0 0 8 0 0000 X24A10R10G10B10
&w4a
5 w10p 3 1 0 0 4 0 0000 X2R10G10B10
6 w30r 3 1 0 0 4 0 0000 X2R10G10B10
&w3r
7 w18p 3 4 1 1 5 0 0000 X2R10G10B10 + A8
8 b3a8 3 4 1 1 5 0 0000 X2R10G10B10 + A8 Wide
&b38
9 RGhA 3 8 0 0 8 0 2103 A16B16G16R16
&RhA
10 yuvf 0 6 2 1 8 0 0000 YUV8 4:2:2 Packed Full
&yuf
11 yuvs 1 6 2 1 8 0 0000 YUV8 4:2:2 Packed Limited
&yus
12 xf4p 0 5 1 1 10 0 0000 YUV10 4:4:4 Planar Full
&f4p
13 x44p 1 5 1 1 10 0 0000 YUV10 4:4:4 Planar Limited
&44p
14 420f 0 7 2 2 8 0 0000 YUV8 4:2:0 Planar Full
&8f0
15 420v 1 7 2 2 8 0 0000 YUV8 4:2:0 Planar Limited
&8v0
16 v0a8 5 7 2 2 8 0 0000 YUVA8 4:2:0 Tri-Planar Limited
&v08
17 f0a8 4 7 2 2 8 0 0000 YUVA8 4:2:0 Tri-Planar Full
18 l20v 0 7 2 2 10 1 0000
19 pf20 0 7 2 2 10 1 0000 YUV10 4:2:0 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Full
&xf0
20 p420 1 7 2 2 10 1 0000 YUV10 4:2:0 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Limited
&xv0
21 xf20 0 7 2 2 10 0 0000 YUV10 4:2:0 Planar (MSB aligned 16bit) Full
[xf0
22 x420 1 7 2 2 10 0 0000 YUV10 4:2:0 Planar (MSB aligned 16bit) Limited
[xv0
23 ypf0 0 7 2 2 12 1 0000
&tf0
24 ypv0 1 7 2 2 12 1 0000
&tv0
25 422f 0 6 2 1 8 0 0000 YUV8 4:2:2 Planar Full
&8f2
26 422v 1 6 2 1 8 0 0000 YUV8 4:2:2 Planar Limited
&8v2
27 v2a8 5 6 2 1 8 0 0000 YUVA8 4:2:2 Tri-Planar Limited
&v28
28 f2a8 4 6 2 1 8 0 0000 YUVA8 4:2:2 Tri-Planar Full
29 l22v 7 6 2 1 8 0 0000
30 pf22 0 6 2 1 10 1 0000 YUV10 4:2:2 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Full
&xf2
31 p422 1 6 2 1 10 1 0000 YUV10 4:2:2 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Limited
&xv2
32 xf22 0 6 2 1 10 0 0000 YUV10 4:2:2 Planar (MSB aligned 16bit) Full
[xf2
33 x422 1 6 2 1 10 0 0000 YUV10 4:2:2 Planar (MSB aligned 16bit) Limited
[xv2
34 ypf2 0 6 2 1 12 1 0000
&tf2
35 ypv2 1 6 2 1 12 1 0000
&tv2
36 t2as 7 6 2 1 12 0 0000
37 x2as 7 6 2 1 10 0 0000
38 px2s 7 6 2 1 10 1 0000
&x2s
39 pt2s 7 6 2 1 12 1 0000
&t2s
40 444f 0 5 1 1 8 0 0000 YUV8 4:4:4 Planar Full
&8f4
41 444v 1 5 1 1 8 0 0000 YUV8 4:4:4 Planar Limited
&8v4
42 v4a8 5 5 1 1 8 0 0000 YUVA8 4:2:0 Tri-Planar Limited
&v48
43 f4a8 4 5 1 1 8 0 0000 YUVA8 4:2:0 Tri-Planar Full
44 l44v 7 5 1 1 8 0 0000
45 pf44 0 5 1 1 10 1 0000 YUV10 4:4:4 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Full
&xf4
46 p444 1 5 1 1 10 1 0000 YUV10 4:4:4 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Limited
&xv4
47 xf44 0 5 1 1 10 0 0000 YUV10 4:4:4 Planar (MSB aligned 16bit) Full
[xf4
48 x444 1 5 1 1 10 0 0000 YUV10 4:4:4 Planar (MSB aligned 16bit) Limited
[xv4
49 tv20 1 7 2 2 12 0 0000 YUV12 4:2:0 Planar (MSB aligned 16bit) Limited
[tv2
50 tv22 1 6 2 1 12 0 0000 YUV12 4:2:2 Planar (MSB aligned 16bit) Limited
[tv2
51 tv44 1 5 1 1 12 0 0000 YUV12 4:4:4 Planar (MSB aligned 16bit) Limited
[tv4
52 tf20 0 7 2 2 12 0 0000 YUV12 4:2:0 Planar (MSB aligned 16bit) Full
[tf0
53 tf22 0 6 2 1 12 0 0000 YUV12 4:2:2 Planar (MSB aligned 16bit) Full
[tf2
54 tf44 0 5 1 1 12 0 0000 YUV12 4:4:4 Planar (MSB aligned 16bit) Full
[tf4
55 ypf4 0 5 1 1 12 1 0000
&tf4
56 ypv4 1 5 1 1 12 1 0000
&tv4
57 t4as 7 5 1 1 12 0 0000
58 x4as 7 5 1 1 10 0 0000
59 xp4s 7 5 1 1 10 1 0000
60 pt4s 7 5 1 1 12 1 0000
&t4s
61 xw20 2 7 2 2 10 0 0000 YUV10 4:2:0 Planar (Y LSB? C MSB aligned 16bit) Wide black=384
62 xw22 2 6 2 1 10 0 0000 YUV10 4:2:2 Planar (Y LSB? C MSB aligned 16bit) Wide black=384
63 xw44 2 5 1 1 10 0 0000 YUV10 4:4:4 Planar (Y LSB? C MSB aligned 16bit) Wide black=384
64 xw4p 2 5 1 1 10 0 0000 YUV10 4:4:4 Packed Wide black=384
65 pw20 2 7 2 2 10 1 0000 YUV10 4:2:0 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Wide black=384
66 pw22 2 6 2 1 10 1 0000 YUV10 4:2:2 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Wide black=384
67 pw44 2 5 1 1 10 1 0000 YUV10 4:4:4 Planar 3px-packed X2Y10Y10Y10 | X2U10U10U10 X2V10V10V10 Wide black=384
68 tw20 2 7 2 2 12 0 0000 YUV12 4:2:0 Planar (MSB aligned 16bit) Wide
69 tw22 2 6 2 1 12 0 0000 YUV12 4:2:2 Planar (MSB aligned 16bit) Wide
70 tw44 2 5 1 1 12 0 0000 YUV12 4:4:4 Planar (MSB aligned 16bit) Wide
71 ptw0 2 7 2 2 12 1 0000 YUV12 4:2:0 Planar 5px-packed X4Y12Y12Y12Y12Y12 | ... Wide
72 ptw2 2 6 2 1 12 1 0000 YUV12 4:2:2 Planar 5px-packed X4Y12Y12Y12Y12Y12 | ... Wide
73 ptw4 2 5 1 1 12 1 0000 YUV12 4:4:4 Planar 5px-packed X4Y12Y12Y12Y12Y12 | ... Wide
74 ===1 3 2 0 0 4 2 0000 Passthrough format RGB
75 ===2 0 5 1 1 12 2 0000 Passthrough format 4:4:4
76 ===3 0 6 2 1 12 2 0000 Passthrough format 4:2:2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment