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