- add sources.
[platform/framework/web/crosswalk.git] / src / media / base / simd / yuv_to_rgb_table.cc
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.
4
5 #include "media/base/simd/yuv_to_rgb_table.h"
6
7 extern "C" {
8
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 \
15 }
16
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) \
28 }
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) \
35 }
36 #endif
37
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 \
47 }
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 \
54 }
55 #endif
56
57 // Used to define a set of multiplier words for each alpha level.
58 #define ALPHA(i) { \
59   i, i, i, i \
60 }
61
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.
67
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),
133
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),
199
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),
265
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),
331 };
332
333 #undef RGBY
334 #undef RGBU
335 #undef RGBV
336 #undef ALPHA
337
338 }  // extern "C"