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];