Revert of Add correct support for videos with YUVJ420P color format, in the software...
[chromium-blink-merge.git] / media / base / simd / yuv_to_rgb_table.cc
blob253280da951bdb4a2fa26ee87d79ae359575f1d6
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/base/simd/yuv_to_rgb_table.h"
7 extern "C" {
9 // Defines the R,G,B,A contributions from Y.
10 #define RGBY(i) { \
11 static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
12 static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
13 static_cast<int16>(1.164 * 64 * (i - 16) + 0.5), \
14 0 \
17 // Defines the R,G,B,A contributions from U.
18 // The contribution to A is the same for any value of U
19 // causing the final A value to be 255 in every conversion.
20 // Android's pixel layout is RGBA, while other platforms
21 // are BGRA.
22 #if defined(OS_ANDROID)
23 #define RGBU(i) { \
24 0, \
25 static_cast<int16>(-0.391 * 64 * (i - 128) + 0.5), \
26 static_cast<int16>(2.018 * 64 * (i - 128) + 0.5), \
27 static_cast<int16>(256 * 64 - 1) \
29 #else
30 #define RGBU(i) { \
31 static_cast<int16>(2.018 * 64 * (i - 128) + 0.5), \
32 static_cast<int16>(-0.391 * 64 * (i - 128) + 0.5), \
33 0, \
34 static_cast<int16>(256 * 64 - 1) \
36 #endif
38 // Defines the R,G,B,A contributions from V.
39 // Android's pixel layout is RGBA, while other platforms
40 // are BGRA.
41 #if defined(OS_ANDROID)
42 #define RGBV(i) { \
43 static_cast<int16>(1.596 * 64 * (i - 128) + 0.5), \
44 static_cast<int16>(-0.813 * 64 * (i - 128) + 0.5), \
45 0, \
46 0 \
48 #else
49 #define RGBV(i) { \
50 0, \
51 static_cast<int16>(-0.813 * 64 * (i - 128) + 0.5), \
52 static_cast<int16>(1.596 * 64 * (i - 128) + 0.5), \
53 0 \
55 #endif
57 // Used to define a set of multiplier words for each alpha level.
58 #define ALPHA(i) { \
59 i, i, i, i \
62 // The following table defines the RGBA contributions
63 // for each component of YUVA. The Y table is first followed
64 // by the U, and V tables. The alpha multiplier table follows.
65 // These tables are aligned and kept adjacent to optimize for
66 // SIMD and cacheing.
68 SIMD_ALIGNED(const int16 kCoefficientsRgbY[256 * 4][4]) = {
69 RGBY(0x00), RGBY(0x01), RGBY(0x02), RGBY(0x03),
70 RGBY(0x04), RGBY(0x05), RGBY(0x06), RGBY(0x07),
71 RGBY(0x08), RGBY(0x09), RGBY(0x0A), RGBY(0x0B),
72 RGBY(0x0C), RGBY(0x0D), RGBY(0x0E), RGBY(0x0F),
73 RGBY(0x10), RGBY(0x11), RGBY(0x12), RGBY(0x13),
74 RGBY(0x14), RGBY(0x15), RGBY(0x16), RGBY(0x17),
75 RGBY(0x18), RGBY(0x19), RGBY(0x1A), RGBY(0x1B),
76 RGBY(0x1C), RGBY(0x1D), RGBY(0x1E), RGBY(0x1F),
77 RGBY(0x20), RGBY(0x21), RGBY(0x22), RGBY(0x23),
78 RGBY(0x24), RGBY(0x25), RGBY(0x26), RGBY(0x27),
79 RGBY(0x28), RGBY(0x29), RGBY(0x2A), RGBY(0x2B),
80 RGBY(0x2C), RGBY(0x2D), RGBY(0x2E), RGBY(0x2F),
81 RGBY(0x30), RGBY(0x31), RGBY(0x32), RGBY(0x33),
82 RGBY(0x34), RGBY(0x35), RGBY(0x36), RGBY(0x37),
83 RGBY(0x38), RGBY(0x39), RGBY(0x3A), RGBY(0x3B),
84 RGBY(0x3C), RGBY(0x3D), RGBY(0x3E), RGBY(0x3F),
85 RGBY(0x40), RGBY(0x41), RGBY(0x42), RGBY(0x43),
86 RGBY(0x44), RGBY(0x45), RGBY(0x46), RGBY(0x47),
87 RGBY(0x48), RGBY(0x49), RGBY(0x4A), RGBY(0x4B),
88 RGBY(0x4C), RGBY(0x4D), RGBY(0x4E), RGBY(0x4F),
89 RGBY(0x50), RGBY(0x51), RGBY(0x52), RGBY(0x53),
90 RGBY(0x54), RGBY(0x55), RGBY(0x56), RGBY(0x57),
91 RGBY(0x58), RGBY(0x59), RGBY(0x5A), RGBY(0x5B),
92 RGBY(0x5C), RGBY(0x5D), RGBY(0x5E), RGBY(0x5F),
93 RGBY(0x60), RGBY(0x61), RGBY(0x62), RGBY(0x63),
94 RGBY(0x64), RGBY(0x65), RGBY(0x66), RGBY(0x67),
95 RGBY(0x68), RGBY(0x69), RGBY(0x6A), RGBY(0x6B),
96 RGBY(0x6C), RGBY(0x6D), RGBY(0x6E), RGBY(0x6F),
97 RGBY(0x70), RGBY(0x71), RGBY(0x72), RGBY(0x73),
98 RGBY(0x74), RGBY(0x75), RGBY(0x76), RGBY(0x77),
99 RGBY(0x78), RGBY(0x79), RGBY(0x7A), RGBY(0x7B),
100 RGBY(0x7C), RGBY(0x7D), RGBY(0x7E), RGBY(0x7F),
101 RGBY(0x80), RGBY(0x81), RGBY(0x82), RGBY(0x83),
102 RGBY(0x84), RGBY(0x85), RGBY(0x86), RGBY(0x87),
103 RGBY(0x88), RGBY(0x89), RGBY(0x8A), RGBY(0x8B),
104 RGBY(0x8C), RGBY(0x8D), RGBY(0x8E), RGBY(0x8F),
105 RGBY(0x90), RGBY(0x91), RGBY(0x92), RGBY(0x93),
106 RGBY(0x94), RGBY(0x95), RGBY(0x96), RGBY(0x97),
107 RGBY(0x98), RGBY(0x99), RGBY(0x9A), RGBY(0x9B),
108 RGBY(0x9C), RGBY(0x9D), RGBY(0x9E), RGBY(0x9F),
109 RGBY(0xA0), RGBY(0xA1), RGBY(0xA2), RGBY(0xA3),
110 RGBY(0xA4), RGBY(0xA5), RGBY(0xA6), RGBY(0xA7),
111 RGBY(0xA8), RGBY(0xA9), RGBY(0xAA), RGBY(0xAB),
112 RGBY(0xAC), RGBY(0xAD), RGBY(0xAE), RGBY(0xAF),
113 RGBY(0xB0), RGBY(0xB1), RGBY(0xB2), RGBY(0xB3),
114 RGBY(0xB4), RGBY(0xB5), RGBY(0xB6), RGBY(0xB7),
115 RGBY(0xB8), RGBY(0xB9), RGBY(0xBA), RGBY(0xBB),
116 RGBY(0xBC), RGBY(0xBD), RGBY(0xBE), RGBY(0xBF),
117 RGBY(0xC0), RGBY(0xC1), RGBY(0xC2), RGBY(0xC3),
118 RGBY(0xC4), RGBY(0xC5), RGBY(0xC6), RGBY(0xC7),
119 RGBY(0xC8), RGBY(0xC9), RGBY(0xCA), RGBY(0xCB),
120 RGBY(0xCC), RGBY(0xCD), RGBY(0xCE), RGBY(0xCF),
121 RGBY(0xD0), RGBY(0xD1), RGBY(0xD2), RGBY(0xD3),
122 RGBY(0xD4), RGBY(0xD5), RGBY(0xD6), RGBY(0xD7),
123 RGBY(0xD8), RGBY(0xD9), RGBY(0xDA), RGBY(0xDB),
124 RGBY(0xDC), RGBY(0xDD), RGBY(0xDE), RGBY(0xDF),
125 RGBY(0xE0), RGBY(0xE1), RGBY(0xE2), RGBY(0xE3),
126 RGBY(0xE4), RGBY(0xE5), RGBY(0xE6), RGBY(0xE7),
127 RGBY(0xE8), RGBY(0xE9), RGBY(0xEA), RGBY(0xEB),
128 RGBY(0xEC), RGBY(0xED), RGBY(0xEE), RGBY(0xEF),
129 RGBY(0xF0), RGBY(0xF1), RGBY(0xF2), RGBY(0xF3),
130 RGBY(0xF4), RGBY(0xF5), RGBY(0xF6), RGBY(0xF7),
131 RGBY(0xF8), RGBY(0xF9), RGBY(0xFA), RGBY(0xFB),
132 RGBY(0xFC), RGBY(0xFD), RGBY(0xFE), RGBY(0xFF),
134 // Chroma U table.
135 RGBU(0x00), RGBU(0x01), RGBU(0x02), RGBU(0x03),
136 RGBU(0x04), RGBU(0x05), RGBU(0x06), RGBU(0x07),
137 RGBU(0x08), RGBU(0x09), RGBU(0x0A), RGBU(0x0B),
138 RGBU(0x0C), RGBU(0x0D), RGBU(0x0E), RGBU(0x0F),
139 RGBU(0x10), RGBU(0x11), RGBU(0x12), RGBU(0x13),
140 RGBU(0x14), RGBU(0x15), RGBU(0x16), RGBU(0x17),
141 RGBU(0x18), RGBU(0x19), RGBU(0x1A), RGBU(0x1B),
142 RGBU(0x1C), RGBU(0x1D), RGBU(0x1E), RGBU(0x1F),
143 RGBU(0x20), RGBU(0x21), RGBU(0x22), RGBU(0x23),
144 RGBU(0x24), RGBU(0x25), RGBU(0x26), RGBU(0x27),
145 RGBU(0x28), RGBU(0x29), RGBU(0x2A), RGBU(0x2B),
146 RGBU(0x2C), RGBU(0x2D), RGBU(0x2E), RGBU(0x2F),
147 RGBU(0x30), RGBU(0x31), RGBU(0x32), RGBU(0x33),
148 RGBU(0x34), RGBU(0x35), RGBU(0x36), RGBU(0x37),
149 RGBU(0x38), RGBU(0x39), RGBU(0x3A), RGBU(0x3B),
150 RGBU(0x3C), RGBU(0x3D), RGBU(0x3E), RGBU(0x3F),
151 RGBU(0x40), RGBU(0x41), RGBU(0x42), RGBU(0x43),
152 RGBU(0x44), RGBU(0x45), RGBU(0x46), RGBU(0x47),
153 RGBU(0x48), RGBU(0x49), RGBU(0x4A), RGBU(0x4B),
154 RGBU(0x4C), RGBU(0x4D), RGBU(0x4E), RGBU(0x4F),
155 RGBU(0x50), RGBU(0x51), RGBU(0x52), RGBU(0x53),
156 RGBU(0x54), RGBU(0x55), RGBU(0x56), RGBU(0x57),
157 RGBU(0x58), RGBU(0x59), RGBU(0x5A), RGBU(0x5B),
158 RGBU(0x5C), RGBU(0x5D), RGBU(0x5E), RGBU(0x5F),
159 RGBU(0x60), RGBU(0x61), RGBU(0x62), RGBU(0x63),
160 RGBU(0x64), RGBU(0x65), RGBU(0x66), RGBU(0x67),
161 RGBU(0x68), RGBU(0x69), RGBU(0x6A), RGBU(0x6B),
162 RGBU(0x6C), RGBU(0x6D), RGBU(0x6E), RGBU(0x6F),
163 RGBU(0x70), RGBU(0x71), RGBU(0x72), RGBU(0x73),
164 RGBU(0x74), RGBU(0x75), RGBU(0x76), RGBU(0x77),
165 RGBU(0x78), RGBU(0x79), RGBU(0x7A), RGBU(0x7B),
166 RGBU(0x7C), RGBU(0x7D), RGBU(0x7E), RGBU(0x7F),
167 RGBU(0x80), RGBU(0x81), RGBU(0x82), RGBU(0x83),
168 RGBU(0x84), RGBU(0x85), RGBU(0x86), RGBU(0x87),
169 RGBU(0x88), RGBU(0x89), RGBU(0x8A), RGBU(0x8B),
170 RGBU(0x8C), RGBU(0x8D), RGBU(0x8E), RGBU(0x8F),
171 RGBU(0x90), RGBU(0x91), RGBU(0x92), RGBU(0x93),
172 RGBU(0x94), RGBU(0x95), RGBU(0x96), RGBU(0x97),
173 RGBU(0x98), RGBU(0x99), RGBU(0x9A), RGBU(0x9B),
174 RGBU(0x9C), RGBU(0x9D), RGBU(0x9E), RGBU(0x9F),
175 RGBU(0xA0), RGBU(0xA1), RGBU(0xA2), RGBU(0xA3),
176 RGBU(0xA4), RGBU(0xA5), RGBU(0xA6), RGBU(0xA7),
177 RGBU(0xA8), RGBU(0xA9), RGBU(0xAA), RGBU(0xAB),
178 RGBU(0xAC), RGBU(0xAD), RGBU(0xAE), RGBU(0xAF),
179 RGBU(0xB0), RGBU(0xB1), RGBU(0xB2), RGBU(0xB3),
180 RGBU(0xB4), RGBU(0xB5), RGBU(0xB6), RGBU(0xB7),
181 RGBU(0xB8), RGBU(0xB9), RGBU(0xBA), RGBU(0xBB),
182 RGBU(0xBC), RGBU(0xBD), RGBU(0xBE), RGBU(0xBF),
183 RGBU(0xC0), RGBU(0xC1), RGBU(0xC2), RGBU(0xC3),
184 RGBU(0xC4), RGBU(0xC5), RGBU(0xC6), RGBU(0xC7),
185 RGBU(0xC8), RGBU(0xC9), RGBU(0xCA), RGBU(0xCB),
186 RGBU(0xCC), RGBU(0xCD), RGBU(0xCE), RGBU(0xCF),
187 RGBU(0xD0), RGBU(0xD1), RGBU(0xD2), RGBU(0xD3),
188 RGBU(0xD4), RGBU(0xD5), RGBU(0xD6), RGBU(0xD7),
189 RGBU(0xD8), RGBU(0xD9), RGBU(0xDA), RGBU(0xDB),
190 RGBU(0xDC), RGBU(0xDD), RGBU(0xDE), RGBU(0xDF),
191 RGBU(0xE0), RGBU(0xE1), RGBU(0xE2), RGBU(0xE3),
192 RGBU(0xE4), RGBU(0xE5), RGBU(0xE6), RGBU(0xE7),
193 RGBU(0xE8), RGBU(0xE9), RGBU(0xEA), RGBU(0xEB),
194 RGBU(0xEC), RGBU(0xED), RGBU(0xEE), RGBU(0xEF),
195 RGBU(0xF0), RGBU(0xF1), RGBU(0xF2), RGBU(0xF3),
196 RGBU(0xF4), RGBU(0xF5), RGBU(0xF6), RGBU(0xF7),
197 RGBU(0xF8), RGBU(0xF9), RGBU(0xFA), RGBU(0xFB),
198 RGBU(0xFC), RGBU(0xFD), RGBU(0xFE), RGBU(0xFF),
200 // Chroma V table.
201 RGBV(0x00), RGBV(0x01), RGBV(0x02), RGBV(0x03),
202 RGBV(0x04), RGBV(0x05), RGBV(0x06), RGBV(0x07),
203 RGBV(0x08), RGBV(0x09), RGBV(0x0A), RGBV(0x0B),
204 RGBV(0x0C), RGBV(0x0D), RGBV(0x0E), RGBV(0x0F),
205 RGBV(0x10), RGBV(0x11), RGBV(0x12), RGBV(0x13),
206 RGBV(0x14), RGBV(0x15), RGBV(0x16), RGBV(0x17),
207 RGBV(0x18), RGBV(0x19), RGBV(0x1A), RGBV(0x1B),
208 RGBV(0x1C), RGBV(0x1D), RGBV(0x1E), RGBV(0x1F),
209 RGBV(0x20), RGBV(0x21), RGBV(0x22), RGBV(0x23),
210 RGBV(0x24), RGBV(0x25), RGBV(0x26), RGBV(0x27),
211 RGBV(0x28), RGBV(0x29), RGBV(0x2A), RGBV(0x2B),
212 RGBV(0x2C), RGBV(0x2D), RGBV(0x2E), RGBV(0x2F),
213 RGBV(0x30), RGBV(0x31), RGBV(0x32), RGBV(0x33),
214 RGBV(0x34), RGBV(0x35), RGBV(0x36), RGBV(0x37),
215 RGBV(0x38), RGBV(0x39), RGBV(0x3A), RGBV(0x3B),
216 RGBV(0x3C), RGBV(0x3D), RGBV(0x3E), RGBV(0x3F),
217 RGBV(0x40), RGBV(0x41), RGBV(0x42), RGBV(0x43),
218 RGBV(0x44), RGBV(0x45), RGBV(0x46), RGBV(0x47),
219 RGBV(0x48), RGBV(0x49), RGBV(0x4A), RGBV(0x4B),
220 RGBV(0x4C), RGBV(0x4D), RGBV(0x4E), RGBV(0x4F),
221 RGBV(0x50), RGBV(0x51), RGBV(0x52), RGBV(0x53),
222 RGBV(0x54), RGBV(0x55), RGBV(0x56), RGBV(0x57),
223 RGBV(0x58), RGBV(0x59), RGBV(0x5A), RGBV(0x5B),
224 RGBV(0x5C), RGBV(0x5D), RGBV(0x5E), RGBV(0x5F),
225 RGBV(0x60), RGBV(0x61), RGBV(0x62), RGBV(0x63),
226 RGBV(0x64), RGBV(0x65), RGBV(0x66), RGBV(0x67),
227 RGBV(0x68), RGBV(0x69), RGBV(0x6A), RGBV(0x6B),
228 RGBV(0x6C), RGBV(0x6D), RGBV(0x6E), RGBV(0x6F),
229 RGBV(0x70), RGBV(0x71), RGBV(0x72), RGBV(0x73),
230 RGBV(0x74), RGBV(0x75), RGBV(0x76), RGBV(0x77),
231 RGBV(0x78), RGBV(0x79), RGBV(0x7A), RGBV(0x7B),
232 RGBV(0x7C), RGBV(0x7D), RGBV(0x7E), RGBV(0x7F),
233 RGBV(0x80), RGBV(0x81), RGBV(0x82), RGBV(0x83),
234 RGBV(0x84), RGBV(0x85), RGBV(0x86), RGBV(0x87),
235 RGBV(0x88), RGBV(0x89), RGBV(0x8A), RGBV(0x8B),
236 RGBV(0x8C), RGBV(0x8D), RGBV(0x8E), RGBV(0x8F),
237 RGBV(0x90), RGBV(0x91), RGBV(0x92), RGBV(0x93),
238 RGBV(0x94), RGBV(0x95), RGBV(0x96), RGBV(0x97),
239 RGBV(0x98), RGBV(0x99), RGBV(0x9A), RGBV(0x9B),
240 RGBV(0x9C), RGBV(0x9D), RGBV(0x9E), RGBV(0x9F),
241 RGBV(0xA0), RGBV(0xA1), RGBV(0xA2), RGBV(0xA3),
242 RGBV(0xA4), RGBV(0xA5), RGBV(0xA6), RGBV(0xA7),
243 RGBV(0xA8), RGBV(0xA9), RGBV(0xAA), RGBV(0xAB),
244 RGBV(0xAC), RGBV(0xAD), RGBV(0xAE), RGBV(0xAF),
245 RGBV(0xB0), RGBV(0xB1), RGBV(0xB2), RGBV(0xB3),
246 RGBV(0xB4), RGBV(0xB5), RGBV(0xB6), RGBV(0xB7),
247 RGBV(0xB8), RGBV(0xB9), RGBV(0xBA), RGBV(0xBB),
248 RGBV(0xBC), RGBV(0xBD), RGBV(0xBE), RGBV(0xBF),
249 RGBV(0xC0), RGBV(0xC1), RGBV(0xC2), RGBV(0xC3),
250 RGBV(0xC4), RGBV(0xC5), RGBV(0xC6), RGBV(0xC7),
251 RGBV(0xC8), RGBV(0xC9), RGBV(0xCA), RGBV(0xCB),
252 RGBV(0xCC), RGBV(0xCD), RGBV(0xCE), RGBV(0xCF),
253 RGBV(0xD0), RGBV(0xD1), RGBV(0xD2), RGBV(0xD3),
254 RGBV(0xD4), RGBV(0xD5), RGBV(0xD6), RGBV(0xD7),
255 RGBV(0xD8), RGBV(0xD9), RGBV(0xDA), RGBV(0xDB),
256 RGBV(0xDC), RGBV(0xDD), RGBV(0xDE), RGBV(0xDF),
257 RGBV(0xE0), RGBV(0xE1), RGBV(0xE2), RGBV(0xE3),
258 RGBV(0xE4), RGBV(0xE5), RGBV(0xE6), RGBV(0xE7),
259 RGBV(0xE8), RGBV(0xE9), RGBV(0xEA), RGBV(0xEB),
260 RGBV(0xEC), RGBV(0xED), RGBV(0xEE), RGBV(0xEF),
261 RGBV(0xF0), RGBV(0xF1), RGBV(0xF2), RGBV(0xF3),
262 RGBV(0xF4), RGBV(0xF5), RGBV(0xF6), RGBV(0xF7),
263 RGBV(0xF8), RGBV(0xF9), RGBV(0xFA), RGBV(0xFB),
264 RGBV(0xFC), RGBV(0xFD), RGBV(0xFE), RGBV(0xFF),
266 // Alpha multipliers for each alpha level.
267 ALPHA(0x00), ALPHA(0x01), ALPHA(0x02), ALPHA(0x03),
268 ALPHA(0x04), ALPHA(0x05), ALPHA(0x06), ALPHA(0x07),
269 ALPHA(0x08), ALPHA(0x09), ALPHA(0x0A), ALPHA(0x0B),
270 ALPHA(0x0C), ALPHA(0x0D), ALPHA(0x0E), ALPHA(0x0F),
271 ALPHA(0x10), ALPHA(0x11), ALPHA(0x12), ALPHA(0x13),
272 ALPHA(0x14), ALPHA(0x15), ALPHA(0x16), ALPHA(0x17),
273 ALPHA(0x18), ALPHA(0x19), ALPHA(0x1A), ALPHA(0x1B),
274 ALPHA(0x1C), ALPHA(0x1D), ALPHA(0x1E), ALPHA(0x1F),
275 ALPHA(0x20), ALPHA(0x21), ALPHA(0x22), ALPHA(0x23),
276 ALPHA(0x24), ALPHA(0x25), ALPHA(0x26), ALPHA(0x27),
277 ALPHA(0x28), ALPHA(0x29), ALPHA(0x2A), ALPHA(0x2B),
278 ALPHA(0x2C), ALPHA(0x2D), ALPHA(0x2E), ALPHA(0x2F),
279 ALPHA(0x30), ALPHA(0x31), ALPHA(0x32), ALPHA(0x33),
280 ALPHA(0x34), ALPHA(0x35), ALPHA(0x36), ALPHA(0x37),
281 ALPHA(0x38), ALPHA(0x39), ALPHA(0x3A), ALPHA(0x3B),
282 ALPHA(0x3C), ALPHA(0x3D), ALPHA(0x3E), ALPHA(0x3F),
283 ALPHA(0x40), ALPHA(0x41), ALPHA(0x42), ALPHA(0x43),
284 ALPHA(0x44), ALPHA(0x45), ALPHA(0x46), ALPHA(0x47),
285 ALPHA(0x48), ALPHA(0x49), ALPHA(0x4A), ALPHA(0x4B),
286 ALPHA(0x4C), ALPHA(0x4D), ALPHA(0x4E), ALPHA(0x4F),
287 ALPHA(0x50), ALPHA(0x51), ALPHA(0x52), ALPHA(0x53),
288 ALPHA(0x54), ALPHA(0x55), ALPHA(0x56), ALPHA(0x57),
289 ALPHA(0x58), ALPHA(0x59), ALPHA(0x5A), ALPHA(0x5B),
290 ALPHA(0x5C), ALPHA(0x5D), ALPHA(0x5E), ALPHA(0x5F),
291 ALPHA(0x60), ALPHA(0x61), ALPHA(0x62), ALPHA(0x63),
292 ALPHA(0x64), ALPHA(0x65), ALPHA(0x66), ALPHA(0x67),
293 ALPHA(0x68), ALPHA(0x69), ALPHA(0x6A), ALPHA(0x6B),
294 ALPHA(0x6C), ALPHA(0x6D), ALPHA(0x6E), ALPHA(0x6F),
295 ALPHA(0x70), ALPHA(0x71), ALPHA(0x72), ALPHA(0x73),
296 ALPHA(0x74), ALPHA(0x75), ALPHA(0x76), ALPHA(0x77),
297 ALPHA(0x78), ALPHA(0x79), ALPHA(0x7A), ALPHA(0x7B),
298 ALPHA(0x7C), ALPHA(0x7D), ALPHA(0x7E), ALPHA(0x7F),
299 ALPHA(0x80), ALPHA(0x81), ALPHA(0x82), ALPHA(0x83),
300 ALPHA(0x84), ALPHA(0x85), ALPHA(0x86), ALPHA(0x87),
301 ALPHA(0x88), ALPHA(0x89), ALPHA(0x8A), ALPHA(0x8B),
302 ALPHA(0x8C), ALPHA(0x8D), ALPHA(0x8E), ALPHA(0x8F),
303 ALPHA(0x90), ALPHA(0x91), ALPHA(0x92), ALPHA(0x93),
304 ALPHA(0x94), ALPHA(0x95), ALPHA(0x96), ALPHA(0x97),
305 ALPHA(0x98), ALPHA(0x99), ALPHA(0x9A), ALPHA(0x9B),
306 ALPHA(0x9C), ALPHA(0x9D), ALPHA(0x9E), ALPHA(0x9F),
307 ALPHA(0xA0), ALPHA(0xA1), ALPHA(0xA2), ALPHA(0xA3),
308 ALPHA(0xA4), ALPHA(0xA5), ALPHA(0xA6), ALPHA(0xA7),
309 ALPHA(0xA8), ALPHA(0xA9), ALPHA(0xAA), ALPHA(0xAB),
310 ALPHA(0xAC), ALPHA(0xAD), ALPHA(0xAE), ALPHA(0xAF),
311 ALPHA(0xB0), ALPHA(0xB1), ALPHA(0xB2), ALPHA(0xB3),
312 ALPHA(0xB4), ALPHA(0xB5), ALPHA(0xB6), ALPHA(0xB7),
313 ALPHA(0xB8), ALPHA(0xB9), ALPHA(0xBA), ALPHA(0xBB),
314 ALPHA(0xBC), ALPHA(0xBD), ALPHA(0xBE), ALPHA(0xBF),
315 ALPHA(0xC0), ALPHA(0xC1), ALPHA(0xC2), ALPHA(0xC3),
316 ALPHA(0xC4), ALPHA(0xC5), ALPHA(0xC6), ALPHA(0xC7),
317 ALPHA(0xC8), ALPHA(0xC9), ALPHA(0xCA), ALPHA(0xCB),
318 ALPHA(0xCC), ALPHA(0xCD), ALPHA(0xCE), ALPHA(0xCF),
319 ALPHA(0xD0), ALPHA(0xD1), ALPHA(0xD2), ALPHA(0xD3),
320 ALPHA(0xD4), ALPHA(0xD5), ALPHA(0xD6), ALPHA(0xD7),
321 ALPHA(0xD8), ALPHA(0xD9), ALPHA(0xDA), ALPHA(0xDB),
322 ALPHA(0xDC), ALPHA(0xDD), ALPHA(0xDE), ALPHA(0xDF),
323 ALPHA(0xE0), ALPHA(0xE1), ALPHA(0xE2), ALPHA(0xE3),
324 ALPHA(0xE4), ALPHA(0xE5), ALPHA(0xE6), ALPHA(0xE7),
325 ALPHA(0xE8), ALPHA(0xE9), ALPHA(0xEA), ALPHA(0xEB),
326 ALPHA(0xEC), ALPHA(0xED), ALPHA(0xEE), ALPHA(0xEF),
327 ALPHA(0xF0), ALPHA(0xF1), ALPHA(0xF2), ALPHA(0xF3),
328 ALPHA(0xF4), ALPHA(0xF5), ALPHA(0xF6), ALPHA(0xF7),
329 ALPHA(0xF8), ALPHA(0xF9), ALPHA(0xFA), ALPHA(0xFB),
330 ALPHA(0xFC), ALPHA(0xFD), ALPHA(0xFE), ALPHA(0xFF),
333 #undef RGBY
334 #undef RGBU
335 #undef RGBV
336 #undef ALPHA
338 } // extern "C"