33 #ifndef __WEED_PALETTES_H__
34 #define __WEED_PALETTES_H__
36 #define WEED_PALETTES_VERSION 200
40 #define WEED_PALETTE_NONE 0
41 #define WEED_PALETTE_END WEED_PALETTE_NONE
42 #define WEED_PALETTE_RGB24 1
43 #define WEED_PALETTE_RGB888 WEED_PALETTE_RGB24
44 #define WEED_PALETTE_BGR24 2
45 #define WEED_PALETTE_BGR888 WEED_PALETTE_BGR24
46 #define WEED_PALETTE_RGBA32 3
47 #define WEED_PALETTE_RGBA8888 WEED_PALETTE_RGBA32
48 #define WEED_PALETTE_BGRA32 4
49 #define WEED_PALETTE_BGRA8888 WEED_PALETTE_BGRA32
50 #define WEED_PALETTE_ARGB32 5
51 #define WEED_PALETTE_ARGB8888 WEED_PALETTE_ARGB32
53 #define WEED_PALETTE_RGBFLOAT 64
54 #define WEED_PALETTE_RGBAFLOAT 65
58 #define WEED_PALETTE_YUV420P 512
59 #define WEED_PALETTE_I420 WEED_PALETTE_YUV420P
60 #define WEED_PALETTE_IYUV WEED_PALETTE_YUV420P
62 #define WEED_PALETTE_YVU420P 513
63 #define WEED_PALETTE_YV12 WEED_PALETTE_YVU420P
65 #define WEED_PALETTE_YUV422P 522
66 #define WEED_PALETTE_P422 WEED_PALETTE_YUV422P
68 #define WEED_PALETTE_YUV444P 544
70 #define WEED_PALETTE_YUVA4444P 545
73 #define WEED_PALETTE_UYVY 564
74 #define WEED_PALETTE_UYVY8888 WEED_PALETTE_UYVY
75 #define WEED_PALETTE_UYVY422 WEED_PALETTE_UYVY
76 #define WEED_PALETTE_Y422 WEED_PALETTE_UYVY
77 #define WEED_PALETTE_HDYC WEED_PALETTE_UYVY
79 #define WEED_PALETTE_YUYV 565
80 #define WEED_PALETTE_YUYV8888 WEED_PALETTE_YUYV
81 #define WEED_PALETTE_YUYV422 WEED_PALETTE_YUYV
82 #define WEED_PALETTE_YUY2 WEED_PALETTE_YUYV
84 #define WEED_PALETTE_YUV888 588
85 #define WEED_PALETTE_IYU2 WEED_PALETTE_YUV888
87 #define WEED_PALETTE_YUVA8888 589
89 #define WEED_PALETTE_YUV411 595
90 #define WEED_PALETTE_IYU1 WEED_PALETTE_YUV411
93 #define WEED_PALETTE_A8 1024
94 #define WEED_PALETTE_A1 1025
95 #define WEED_PALETTE_AFLOAT 1064
97 #define WEED_PALETTE_FIRST_CUSTOM 8192
101 #define WEED_YUV_SAMPLING_DEFAULT 0
102 #define WEED_YUV_SAMPLING_JPEG 0
103 #define WEED_YUV_SAMPLING_MPEG 1
104 #define WEED_YUV_SAMPLING_DVPAL 2
105 #define WEED_YUV_SAMPLING_DVNTSC 3
107 #define WEED_YUV_SAMPLING_FIRST_CUSTOM 512
110 #define WEED_YUV_CLAMPING_CLAMPED 0
111 #define WEED_YUV_CLAMPING_MPEG WEED_YUV_CLAMPING_CLAMPED
112 #define WEED_YUV_CLAMPING_UNCLAMPED 1
113 #define WEED_YUV_CLAMPING_JPEG WEED_YUV_CLAMPING_UNCLAMPED
115 #define WEED_YUV_CLAMPING_FIRST_CUSTOM 512
118 #define WEED_YUV_SUBSPACE_YUV 0
119 #define WEED_YUV_SUBSPACE_YCBCR 1
120 #define WEED_YUV_SUBSPACE_BT709 2
121 #define WEED_YUV_SUBSPACE_ITU709 WEED_YUV_SUBSPACE_BT709
123 #define WEED_YUV_SUBSPACE_FIRST_CUSTOM 512
127 #define WEED_GAMMA_UNKNOWN 0
128 #define WEED_GAMMA_LINEAR -1
129 #define WEED_GAMMA_SRGB 1
130 #define WEED_GAMMA_BT709 2
132 #define WEED_GAMMA_FIRST_CUSTOM 512
136 #ifdef WEED_ADVANCED_PALETTES
137 #define WEED_ADVANCED_PALETTES_VERSION 100
150 #define WEED_PALETTE_ADVANCED 8191
152 #define WEED_LEAF_ADVANCED_PALETTE_LIST "adv_pal_list"
153 #define WEED_LEAF_ADVANCED_PALETTE "adv_palette"
159 #define WEED_VCHAN_end 0
161 #define WEED_VCHAN_red 1
162 #define WEED_VCHAN_green 2
163 #define WEED_VCHAN_blue 3
165 #define WEED_VCHAN_Y 512
166 #define WEED_VCHAN_U 513
167 #define WEED_VCHAN_V 514
169 #define WEED_VCHAN_alpha 1024
171 #define WEED_VCHAN_FIRST_CUSTOM 8192
173 #define WEED_VCHAN_DESC_PLANAR (1 << 0)
174 #define WEED_VCHAN_DESC_FP (1 << 1)
175 #define WEED_VCHAN_DESC_BE (1 << 1)
177 #define WEED_VCHAN_DESC_FIRST_CUSTOM (1 << 16)
181 uint16_t chantype[MAXPPLANES];
183 uint8_t hsub[MAXPPLANES];
184 uint8_t vsub[MAXPPLANES];
186 uint8_t bitsize[MAXPPLANES];