• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

libavcodec/vp3data.h

Go to the documentation of this file.
00001 /*
00002  * copyright (C) 2003 the ffmpeg project
00003  *
00004  * This file is part of FFmpeg.
00005  *
00006  * FFmpeg is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * FFmpeg is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with FFmpeg; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00019  */
00020 
00021 #ifndef AVCODEC_VP3DATA_H
00022 #define AVCODEC_VP3DATA_H
00023 
00024 #include <stdint.h>
00025 #include <stdlib.h>
00026 
00027 /* these coefficients dequantize intraframe Y plane coefficients
00028  * (note: same as JPEG) */
00029 static const int16_t vp31_intra_y_dequant[64] =
00030 {       16,  11,  10,  16,  24,  40,  51,  61,
00031         12,  12,  14,  19,  26,  58,  60,  55,
00032         14,  13,  16,  24,  40,  57,  69,  56,
00033         14,  17,  22,  29,  51,  87,  80,  62,
00034         18,  22,  37,  58,  68, 109, 103,  77,
00035         24,  35,  55,  64,  81, 104, 113,  92,
00036         49,  64,  78,  87, 103, 121, 120, 101,
00037         72,  92,  95,  98, 112, 100, 103,  99
00038 };
00039 
00040 /* these coefficients dequantize intraframe C plane coefficients
00041  * (note: same as JPEG) */
00042 static const int16_t vp31_intra_c_dequant[64] =
00043 {       17,  18,     24,     47,     99,     99,     99,     99,
00044         18,  21,     26,     66,     99,     99,     99,     99,
00045         24,  26,     56,     99,     99,     99,     99,     99,
00046         47,  66,     99,     99,     99,     99,     99,     99,
00047         99,  99,     99,     99,     99,     99,     99,     99,
00048         99,  99,     99,     99,     99,     99,     99,     99,
00049         99,  99,     99,     99,     99,     99,     99,     99,
00050         99,  99,     99,     99,     99,     99,     99,     99
00051 };
00052 
00053 /* these coefficients dequantize interframe coefficients (all planes) */
00054 static const int16_t vp31_inter_dequant[64] =
00055 {   16,  16,  16,  20,  24,  28,  32,  40,
00056     16,  16,  20,  24,  28,  32,  40,  48,
00057     16,  20,  24,  28,  32,  40,  48,  64,
00058     20,  24,  28,  32,  40,  48,  64,  64,
00059     24,  28,  32,  40,  48,  64,  64,  64,
00060     28,  32,  40,  48,  64,  64,  64,  96,
00061     32,  40,  48,  64,  64,  64,  96,  128,
00062     40,  48,  64,  64,  64,  96,  128, 128
00063 };
00064 
00065 static const int16_t vp31_dc_scale_factor[64] =
00066 { 220, 200, 190, 180, 170, 170, 160, 160,
00067   150, 150, 140, 140, 130, 130, 120, 120,
00068   110, 110, 100, 100, 90,  90,  90,  80,
00069   80,  80,  70,  70,  70,  60,  60,  60,
00070   60,  50,  50,  50,  50,  40,  40,  40,
00071   40,  40,  30,  30,  30,  30,  30,  30,
00072   30,  20,  20,  20,  20,  20,  20,  20,
00073   20,  10,  10,  10,  10,  10,  10,  10
00074 };
00075 
00076 static const uint32_t vp31_ac_scale_factor[64] =
00077 { 500,  450,  400,  370,  340,  310, 285, 265,
00078   245,  225,  210,  195,  185,  180, 170, 160,
00079   150,  145,  135,  130,  125,  115, 110, 107,
00080   100,   96,   93,   89,   85,   82,  75,  74,
00081    70,   68,   64,   60,   57,   56,  52,  50,
00082    49,   45,   44,   43,   40,   38,  37,  35,
00083    33,   32,   30,   29,   28,   25,  24,  22,
00084    21,   19,   18,   17,   15,   13,  12,  10
00085 };
00086 
00087 static const uint8_t vp31_filter_limit_values[64] =
00088 {  30, 25, 20, 20, 15, 15, 14, 14,
00089    13, 13, 12, 12, 11, 11, 10, 10,
00090     9,  9,  8,  8,  7,  7,  7,  7,
00091     6,  6,  6,  6,  5,  5,  5,  5,
00092     4,  4,  4,  4,  3,  3,  3,  3,
00093     2,  2,  2,  2,  2,  2,  2,  2,
00094     0,  0,  0,  0,  0,  0,  0,  0,
00095     0,  0,  0,  0,  0,  0,  0,  0
00096 };
00097 
00098 static const uint16_t superblock_run_length_vlc_table[34][2] = {
00099     { 0, 1 },
00100 
00101     { 4, 3 },    { 5, 3 },
00102 
00103     { 0xC, 4 },  { 0xD, 4 },
00104 
00105     { 0x38, 6 },    { 0x39, 6 },    { 0x3A, 6 },    { 0x3B, 6 },
00106 
00107     { 0xF0, 8 },    { 0xF1, 8 },    { 0xF2, 8 },    { 0xF3, 8 },
00108     { 0xF4, 8 },    { 0xF5, 8 },    { 0xF6, 8 },    { 0xF7, 8 },
00109 
00110     { 0x3E0, 10 },    { 0x3E1, 10 },    { 0x3E2, 10 },    { 0x3E3, 10 },
00111     { 0x3E4, 10 },    { 0x3E5, 10 },    { 0x3E6, 10 },    { 0x3E7, 10 },
00112     { 0x3E8, 10 },    { 0x3E9, 10 },    { 0x3EA, 10 },    { 0x3EB, 10 },
00113     { 0x3EC, 10 },    { 0x3ED, 10 },    { 0x3EE, 10 },    { 0x3EF, 10 },
00114 
00115     { 0x3F, 6 }  /* this last VLC is a special case for reading 12 more
00116                     bits from stream and adding the value 34 */
00117 };
00118 
00119 static const uint16_t fragment_run_length_vlc_table[30][2] = {
00120     /* 1 -> 2 */
00121     { 0x0, 2 },    { 0x1, 2 },
00122 
00123     /* 3 -> 4 */
00124     { 0x4, 3 },    { 0x5, 3 },
00125 
00126     /* 5 -> 6 */
00127     { 0xC, 4 },    { 0xD, 4 },
00128 
00129     /* 7 -> 10 */
00130     { 0x38, 6 },   { 0x39, 6 },
00131     { 0x3A, 6 },   { 0x3B, 6 },
00132 
00133     /* 11 -> 14 */
00134     { 0x78, 7 },   { 0x79, 7 },
00135     { 0x7A, 7 },   { 0x7B, 7 },
00136 
00137     /* 15 -> 30 */
00138     { 0x1F0, 9 },  { 0x1F1, 9 },  { 0x1F2, 9 },  { 0x1F3, 9 },
00139     { 0x1F4, 9 },  { 0x1F5, 9 },  { 0x1F6, 9 },  { 0x1F7, 9 },
00140     { 0x1F8, 9 },  { 0x1F9, 9 },  { 0x1FA, 9 },  { 0x1FB, 9 },
00141     { 0x1FC, 9 },  { 0x1FD, 9 },  { 0x1FE, 9 },  { 0x1FF, 9 }
00142 };
00143 
00144 static const uint8_t mode_code_vlc_table[8][2] = {
00145     { 0, 1 },      { 2, 2 },
00146     { 6, 3 },      { 14, 4 },
00147     { 30, 5 },     { 62, 6 },
00148     { 126, 7 },    { 127, 7 }
00149 };
00150 
00151 static const uint8_t motion_vector_vlc_table[63][2] = {
00152     { 0, 3 },
00153     { 1, 3 },
00154     { 2, 3 },
00155 
00156     { 6, 4 },    { 7, 4 },
00157 
00158     { 8, 4 },    { 9, 4 },
00159 
00160     { 40, 6 },    { 41, 6 },    { 42, 6 },    { 43, 6 },
00161     { 44, 6 },    { 45, 6 },    { 46, 6 },    { 47, 6 },
00162 
00163     { 96, 7 },    { 97, 7 },    { 98, 7 },    { 99, 7 },
00164     { 100, 7 },   { 101, 7 },   { 102, 7 },   { 103, 7 },
00165     { 104, 7 },   { 105, 7 },   { 106, 7 },   { 107, 7 },
00166     { 108, 7 },   { 109, 7 },   { 110, 7 },   { 111, 7 },
00167 
00168     { 0xE0, 8 },  { 0xE1, 8 },  { 0xE2, 8 },  { 0xE3, 8 },
00169     { 0xE4, 8 },  { 0xE5, 8 },  { 0xE6, 8 },  { 0xE7, 8 },
00170     { 0xE8, 8 },  { 0xE9, 8 },  { 0xEA, 8 },  { 0xEB, 8 },
00171     { 0xEC, 8 },  { 0xED, 8 },  { 0xEE, 8 },  { 0xEF, 8 },
00172 
00173     { 0xF0, 8 },  { 0xF1, 8 },  { 0xF2, 8 },  { 0xF3, 8 },
00174     { 0xF4, 8 },  { 0xF5, 8 },  { 0xF6, 8 },  { 0xF7, 8 },
00175     { 0xF8, 8 },  { 0xF9, 8 },  { 0xFA, 8 },  { 0xFB, 8 },
00176     { 0xFC, 8 },  { 0xFD, 8 },  { 0xFE, 8 },  { 0xFF, 8 }
00177 };
00178 
00179 static const int motion_vector_table[63] = {
00180     0, 1, -1,
00181     2, -2,
00182     3, -3,
00183     4, -4, 5, -5, 6, -6, 7, -7,
00184     8, -8, 9, -9, 10, -10, 11, -11, 12, -12, 13, -13, 14, -14, 15, -15,
00185     16, -16, 17, -17, 18, -18, 19, -19, 20, -20, 21, -21, 22, -22, 23, -23,
00186     24, -24, 25, -25, 26, -26, 27, -27, 28, -28, 29, -29, 30, -30, 31, -31
00187 };
00188 
00189 static const int8_t fixed_motion_vector_table[64] = {
00190    0,   0,   1,  -1,   2,  -2,   3,  -3,
00191    4,  -4,   5,  -5,   6,  -6,   7,  -7,
00192    8,  -8,   9,  -9,  10, -10,  11, -11,
00193   12, -12,  13, -13,  14, -14,  15, -15,
00194   16, -16,  17, -17,  18, -18,  19, -19,
00195   20, -20,  21, -21,  22, -22,  23, -23,
00196   24, -24,  25, -25,  26, -26,  27, -27,
00197   28, -28,  29, -29,  30, -30,  31, -31
00198 };
00199 
00200 /* only tokens 0..6 indicate eob runs */
00201 static const int eob_run_base[7] = {
00202     1, 2, 3, 4, 8, 16, 0
00203 };
00204 static const int eob_run_get_bits[7] = {
00205     0, 0, 0, 2, 3, 4, 12
00206 };
00207 
00208 static const int zero_run_base[32] = {
00209     0, 0, 0, 0, 0, 0, 0,  /* 0..6 are never used */
00210     0, 0,  /* 7..8 */
00211     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  /* 9..22 */
00212     1, 2, 3, 4, 5,  /* 23..27 */
00213     6, 10, 1, 2  /* 28..31 */
00214 };
00215 static const int zero_run_get_bits[32] = {
00216     0, 0, 0, 0, 0, 0, 0,  /* 0..6 are never used */
00217     3, 6,  /* 7..8 */
00218     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  /* 9..22 */
00219     0, 0, 0, 0, 0,  /* 23..27 */
00220     2, 3, 0, 1  /* 28..31 */
00221 };
00222 
00223 static const int coeff_get_bits[32] = {
00224     0, 0, 0, 0, 0, 0, 0,  /* 0..6 are never used */
00225     0, 0, 0, 0, 0, 0,  /* 7..12 use constant coeffs */
00226     1, 1, 1, 1,  /* 13..16 are constants but still need sign bit */
00227     2, 3, 4, 5, 6, 10,  /* 17..22, for reading large coeffs */
00228     1, 1, 1, 1, 1, 1, 1,  /* 23..29 are constants but still need sign bit */
00229     2, 2  /* 30..31 */
00230 };
00231 
00232 static const int16_t coeff_table_token_7_8[1] = { 0 };
00233 static const int16_t coeff_table_token_9[1] = { 1 };
00234 static const int16_t coeff_table_token_10[1] = { -1 };
00235 static const int16_t coeff_table_token_11[1] = { 2 };
00236 static const int16_t coeff_table_token_12[1] = { -2 };
00237 
00238 static const int16_t coeff_table_token_13[2] = { 3, -3 };
00239 static const int16_t coeff_table_token_14[2] = { 4, -4 };
00240 static const int16_t coeff_table_token_15[2] = { 5, -5 };
00241 static const int16_t coeff_table_token_16[2] = { 6, -6 };
00242 
00243 static const int16_t coeff_table_token_23_24_25_26_27_28_29[2] = { 1, -1 };
00244 static const int16_t coeff_table_token_30[4] = { 2, 3, -2, -3 };
00245 static const int16_t coeff_table_token_31[4] = { 2, 3, -2, -3 };
00246 
00247 static const int16_t coeff_table_token_17[4] = {
00248     7, 8, -7, -8
00249 };
00250 
00251 static const int16_t coeff_table_token_18[8] = {
00252     9, 10, 11, 12, -9, -10, -11, -12
00253 };
00254 
00255 static const int16_t coeff_table_token_19[16] = {
00256     13, 14, 15, 16, 17, 18, 19, 20, -13, -14, -15, -16, -17, -18, -19, -20
00257 };
00258 
00259 static const int16_t coeff_table_token_20[32] = {
00260     21, 22, 23, 24, 25, 26, 27, 28,
00261     29, 30, 31, 32, 33, 34, 35, 36,
00262     -21, -22, -23, -24, -25, -26, -27, -28,
00263     -29, -30, -31, -32, -33, -34, -35, -36
00264 };
00265 
00266 static const int16_t coeff_table_token_21[64] = {
00267     37, 38, 39, 40, 41, 42, 43, 44,
00268     45, 46, 47, 48, 49, 50, 51, 52,
00269     53, 54, 55, 56, 57, 58, 59, 60,
00270     61, 62, 63, 64, 65, 66, 67, 68,
00271     -37, -38, -39, -40, -41, -42, -43, -44,
00272     -45, -46, -47, -48, -49, -50, -51, -52,
00273     -53, -54, -55, -56, -57, -58, -59, -60,
00274     -61, -62, -63, -64, -65, -66, -67, -68
00275 };
00276 
00277 static const int16_t coeff_table_token_22[1024] = {
00278     69, 70, 71, 72, 73, 74, 75, 76,
00279     77, 78, 79, 80, 81, 82, 83, 84,
00280     85, 86, 87, 88, 89, 90, 91, 92,
00281     93, 94, 95, 96, 97, 98, 99, 100,
00282     101, 102, 103, 104, 105, 106, 107, 108,
00283     109, 110, 111, 112, 113, 114, 115, 116,
00284     117, 118, 119, 120, 121, 122, 123, 124,
00285     125, 126, 127, 128, 129, 130, 131, 132,
00286     133, 134, 135, 136, 137, 138, 139, 140,
00287     141, 142, 143, 144, 145, 146, 147, 148,
00288     149, 150, 151, 152, 153, 154, 155, 156,
00289     157, 158, 159, 160, 161, 162, 163, 164,
00290     165, 166, 167, 168, 169, 170, 171, 172,
00291     173, 174, 175, 176, 177, 178, 179, 180,
00292     181, 182, 183, 184, 185, 186, 187, 188,
00293     189, 190, 191, 192, 193, 194, 195, 196,
00294     197, 198, 199, 200, 201, 202, 203, 204,
00295     205, 206, 207, 208, 209, 210, 211, 212,
00296     213, 214, 215, 216, 217, 218, 219, 220,
00297     221, 222, 223, 224, 225, 226, 227, 228,
00298     229, 230, 231, 232, 233, 234, 235, 236,
00299     237, 238, 239, 240, 241, 242, 243, 244,
00300     245, 246, 247, 248, 249, 250, 251, 252,
00301     253, 254, 255, 256, 257, 258, 259, 260,
00302     261, 262, 263, 264, 265, 266, 267, 268,
00303     269, 270, 271, 272, 273, 274, 275, 276,
00304     277, 278, 279, 280, 281, 282, 283, 284,
00305     285, 286, 287, 288, 289, 290, 291, 292,
00306     293, 294, 295, 296, 297, 298, 299, 300,
00307     301, 302, 303, 304, 305, 306, 307, 308,
00308     309, 310, 311, 312, 313, 314, 315, 316,
00309     317, 318, 319, 320, 321, 322, 323, 324,
00310     325, 326, 327, 328, 329, 330, 331, 332,
00311     333, 334, 335, 336, 337, 338, 339, 340,
00312     341, 342, 343, 344, 345, 346, 347, 348,
00313     349, 350, 351, 352, 353, 354, 355, 356,
00314     357, 358, 359, 360, 361, 362, 363, 364,
00315     365, 366, 367, 368, 369, 370, 371, 372,
00316     373, 374, 375, 376, 377, 378, 379, 380,
00317     381, 382, 383, 384, 385, 386, 387, 388,
00318     389, 390, 391, 392, 393, 394, 395, 396,
00319     397, 398, 399, 400, 401, 402, 403, 404,
00320     405, 406, 407, 408, 409, 410, 411, 412,
00321     413, 414, 415, 416, 417, 418, 419, 420,
00322     421, 422, 423, 424, 425, 426, 427, 428,
00323     429, 430, 431, 432, 433, 434, 435, 436,
00324     437, 438, 439, 440, 441, 442, 443, 444,
00325     445, 446, 447, 448, 449, 450, 451, 452,
00326     453, 454, 455, 456, 457, 458, 459, 460,
00327     461, 462, 463, 464, 465, 466, 467, 468,
00328     469, 470, 471, 472, 473, 474, 475, 476,
00329     477, 478, 479, 480, 481, 482, 483, 484,
00330     485, 486, 487, 488, 489, 490, 491, 492,
00331     493, 494, 495, 496, 497, 498, 499, 500,
00332     501, 502, 503, 504, 505, 506, 507, 508,
00333     509, 510, 511, 512, 513, 514, 515, 516,
00334     517, 518, 519, 520, 521, 522, 523, 524,
00335     525, 526, 527, 528, 529, 530, 531, 532,
00336     533, 534, 535, 536, 537, 538, 539, 540,
00337     541, 542, 543, 544, 545, 546, 547, 548,
00338     549, 550, 551, 552, 553, 554, 555, 556,
00339     557, 558, 559, 560, 561, 562, 563, 564,
00340     565, 566, 567, 568, 569, 570, 571, 572,
00341     573, 574, 575, 576, 577, 578, 579, 580,
00342     -69, -70, -71, -72, -73, -74, -75, -76,
00343     -77, -78, -79, -80, -81, -82, -83, -84,
00344     -85, -86, -87, -88, -89, -90, -91, -92,
00345     -93, -94, -95, -96, -97, -98, -99, -100,
00346     -101, -102, -103, -104, -105, -106, -107, -108,
00347     -109, -110, -111, -112, -113, -114, -115, -116,
00348     -117, -118, -119, -120, -121, -122, -123, -124,
00349     -125, -126, -127, -128, -129, -130, -131, -132,
00350     -133, -134, -135, -136, -137, -138, -139, -140,
00351     -141, -142, -143, -144, -145, -146, -147, -148,
00352     -149, -150, -151, -152, -153, -154, -155, -156,
00353     -157, -158, -159, -160, -161, -162, -163, -164,
00354     -165, -166, -167, -168, -169, -170, -171, -172,
00355     -173, -174, -175, -176, -177, -178, -179, -180,
00356     -181, -182, -183, -184, -185, -186, -187, -188,
00357     -189, -190, -191, -192, -193, -194, -195, -196,
00358     -197, -198, -199, -200, -201, -202, -203, -204,
00359     -205, -206, -207, -208, -209, -210, -211, -212,
00360     -213, -214, -215, -216, -217, -218, -219, -220,
00361     -221, -222, -223, -224, -225, -226, -227, -228,
00362     -229, -230, -231, -232, -233, -234, -235, -236,
00363     -237, -238, -239, -240, -241, -242, -243, -244,
00364     -245, -246, -247, -248, -249, -250, -251, -252,
00365     -253, -254, -255, -256, -257, -258, -259, -260,
00366     -261, -262, -263, -264, -265, -266, -267, -268,
00367     -269, -270, -271, -272, -273, -274, -275, -276,
00368     -277, -278, -279, -280, -281, -282, -283, -284,
00369     -285, -286, -287, -288, -289, -290, -291, -292,
00370     -293, -294, -295, -296, -297, -298, -299, -300,
00371     -301, -302, -303, -304, -305, -306, -307, -308,
00372     -309, -310, -311, -312, -313, -314, -315, -316,
00373     -317, -318, -319, -320, -321, -322, -323, -324,
00374     -325, -326, -327, -328, -329, -330, -331, -332,
00375     -333, -334, -335, -336, -337, -338, -339, -340,
00376     -341, -342, -343, -344, -345, -346, -347, -348,
00377     -349, -350, -351, -352, -353, -354, -355, -356,
00378     -357, -358, -359, -360, -361, -362, -363, -364,
00379     -365, -366, -367, -368, -369, -370, -371, -372,
00380     -373, -374, -375, -376, -377, -378, -379, -380,
00381     -381, -382, -383, -384, -385, -386, -387, -388,
00382     -389, -390, -391, -392, -393, -394, -395, -396,
00383     -397, -398, -399, -400, -401, -402, -403, -404,
00384     -405, -406, -407, -408, -409, -410, -411, -412,
00385     -413, -414, -415, -416, -417, -418, -419, -420,
00386     -421, -422, -423, -424, -425, -426, -427, -428,
00387     -429, -430, -431, -432, -433, -434, -435, -436,
00388     -437, -438, -439, -440, -441, -442, -443, -444,
00389     -445, -446, -447, -448, -449, -450, -451, -452,
00390     -453, -454, -455, -456, -457, -458, -459, -460,
00391     -461, -462, -463, -464, -465, -466, -467, -468,
00392     -469, -470, -471, -472, -473, -474, -475, -476,
00393     -477, -478, -479, -480, -481, -482, -483, -484,
00394     -485, -486, -487, -488, -489, -490, -491, -492,
00395     -493, -494, -495, -496, -497, -498, -499, -500,
00396     -501, -502, -503, -504, -505, -506, -507, -508,
00397     -509, -510, -511, -512, -513, -514, -515, -516,
00398     -517, -518, -519, -520, -521, -522, -523, -524,
00399     -525, -526, -527, -528, -529, -530, -531, -532,
00400     -533, -534, -535, -536, -537, -538, -539, -540,
00401     -541, -542, -543, -544, -545, -546, -547, -548,
00402     -549, -550, -551, -552, -553, -554, -555, -556,
00403     -557, -558, -559, -560, -561, -562, -563, -564,
00404     -565, -566, -567, -568, -569, -570, -571, -572,
00405     -573, -574, -575, -576, -577, -578, -579, -580
00406 };
00407 
00408 static const int16_t *const coeff_tables[32] = {
00409     NULL,
00410     NULL,
00411     NULL,
00412     NULL,
00413     NULL,
00414     NULL,
00415     NULL,
00416     coeff_table_token_7_8,
00417 
00418     coeff_table_token_7_8,
00419     coeff_table_token_9,
00420     coeff_table_token_10,
00421     coeff_table_token_11,
00422     coeff_table_token_12,
00423     coeff_table_token_13,
00424     coeff_table_token_14,
00425     coeff_table_token_15,
00426 
00427     coeff_table_token_16,
00428     coeff_table_token_17,
00429     coeff_table_token_18,
00430     coeff_table_token_19,
00431     coeff_table_token_20,
00432     coeff_table_token_21,
00433     coeff_table_token_22,
00434     coeff_table_token_23_24_25_26_27_28_29,
00435 
00436     coeff_table_token_23_24_25_26_27_28_29,
00437     coeff_table_token_23_24_25_26_27_28_29,
00438     coeff_table_token_23_24_25_26_27_28_29,
00439     coeff_table_token_23_24_25_26_27_28_29,
00440     coeff_table_token_23_24_25_26_27_28_29,
00441     coeff_table_token_23_24_25_26_27_28_29,
00442     coeff_table_token_30,
00443     coeff_table_token_31
00444 };
00445 
00446 static const uint16_t dc_bias[16][32][2] = {
00447   {  /* DC bias table 0 */
00448     { 0x2D, 6 },
00449     { 0x26, 7 },
00450     { 0x166, 9 },
00451     { 0x4E, 8 },
00452     { 0x2CE, 10 },
00453     { 0x59E, 11 },
00454     { 0x27D, 11 },
00455     { 0x8, 5 },
00456     { 0x4F9, 12 },
00457     { 0xF, 4 },
00458     { 0xE, 4 },
00459     { 0x1B, 5 },
00460     { 0x6, 4 },
00461     { 0x8, 4 },
00462     { 0x5, 4 },
00463     { 0x1A, 5 },
00464     { 0x15, 5 },
00465     { 0x7, 4 },
00466     { 0xC, 4 },
00467     { 0x1, 3 },
00468     { 0x0, 3 },
00469     { 0x9, 4 },
00470     { 0x17, 5 },
00471     { 0x29, 6 },
00472     { 0x28, 6 },
00473     { 0xB2, 8 },
00474     { 0x4F8, 12 },
00475     { 0x59F, 11 },
00476     { 0x9E, 9 },
00477     { 0x13F, 10 },
00478     { 0x12, 6 },
00479     { 0x58, 7 }
00480   },
00481   {  /* DC bias table 1 */
00482     { 0x10, 5 },
00483     { 0x47, 7 },
00484     { 0x1FF, 9 },
00485     { 0x8C, 8 },
00486     { 0x3FC, 10 },
00487     { 0x46A, 11 },
00488     { 0x469, 11 },
00489     { 0x22, 6 },
00490     { 0x11A1, 13 },
00491     { 0xE, 4 },
00492     { 0xD, 4 },
00493     { 0x4, 4 },
00494     { 0x5, 4 },
00495     { 0x9, 4 },
00496     { 0x6, 4 },
00497     { 0x1E, 5 },
00498     { 0x16, 5 },
00499     { 0x7, 4 },
00500     { 0xC, 4 },
00501     { 0x1, 3 },
00502     { 0x0, 3 },
00503     { 0xA, 4 },
00504     { 0x17, 5 },
00505     { 0x7D, 7 },
00506     { 0x7E, 7 },
00507     { 0x11B, 9 },
00508     { 0x8D1, 12 },
00509     { 0x3FD, 10 },
00510     { 0x46B, 11 },
00511     { 0x11A0, 13 },
00512     { 0x7C, 7 },
00513     { 0xFE, 8 }
00514   },
00515   {  /* DC bias table 2 */
00516     { 0x16, 5 },
00517     { 0x20, 6 },
00518     { 0x86, 8 },
00519     { 0x87, 8 },
00520     { 0x367, 10 },
00521     { 0x6CC, 11 },
00522     { 0x6CB, 11 },
00523     { 0x6E, 7 },
00524     { 0x366D, 14 },
00525     { 0xF, 4 },
00526     { 0xE, 4 },
00527     { 0x4, 4 },
00528     { 0x5, 4 },
00529     { 0xA, 4 },
00530     { 0x6, 4 },
00531     { 0x1A, 5 },
00532     { 0x11, 5 },
00533     { 0x7, 4 },
00534     { 0xC, 4 },
00535     { 0x1, 3 },
00536     { 0x0, 3 },
00537     { 0x9, 4 },
00538     { 0x17, 5 },
00539     { 0x6F, 7 },
00540     { 0x6D, 7 },
00541     { 0x364, 10 },
00542     { 0xD9A, 12 },
00543     { 0x6CA, 11 },
00544     { 0x1B37, 13 },
00545     { 0x366C, 14 },
00546     { 0x42, 7 },
00547     { 0xD8, 8 }
00548   },
00549   {  /* DC bias table 3 */
00550     { 0x0, 4 },
00551     { 0x2D, 6 },
00552     { 0xF7, 8 },
00553     { 0x58, 7 },
00554     { 0x167, 9 },
00555     { 0x2CB, 10 },
00556     { 0x2CA, 10 },
00557     { 0xE, 6 },
00558     { 0x1661, 13 },
00559     { 0x3, 3 },
00560     { 0x2, 3 },
00561     { 0x8, 4 },
00562     { 0x9, 4 },
00563     { 0xD, 4 },
00564     { 0x2, 4 },
00565     { 0x1F, 5 },
00566     { 0x17, 5 },
00567     { 0x1, 4 },
00568     { 0xC, 4 },
00569     { 0xE, 4 },
00570     { 0xA, 4 },
00571     { 0x6, 5 },
00572     { 0x78, 7 },
00573     { 0xF, 6 },
00574     { 0x7A, 7 },
00575     { 0x164, 9 },
00576     { 0x599, 11 },
00577     { 0x2CD, 10 },
00578     { 0xB31, 12 },
00579     { 0x1660, 13 },
00580     { 0x79, 7 },
00581     { 0xF6, 8 }
00582   },
00583   {  /* DC bias table 4 */
00584     { 0x3, 4 },
00585     { 0x3C, 6 },
00586     { 0xF, 7 },
00587     { 0x7A, 7 },
00588     { 0x1D, 8 },
00589     { 0x20, 9 },
00590     { 0x72, 10 },
00591     { 0x6, 6 },
00592     { 0x399, 13 },
00593     { 0x4, 3 },
00594     { 0x5, 3 },
00595     { 0x5, 4 },
00596     { 0x6, 4 },
00597     { 0xE, 4 },
00598     { 0x4, 4 },
00599     { 0x0, 4 },
00600     { 0x19, 5 },
00601     { 0x2, 4 },
00602     { 0xD, 4 },
00603     { 0x7, 4 },
00604     { 0x1F, 5 },
00605     { 0x30, 6 },
00606     { 0x11, 8 },
00607     { 0x31, 6 },
00608     { 0x5, 6 },
00609     { 0x21, 9 },
00610     { 0xE7, 11 },
00611     { 0x38, 9 },
00612     { 0x1CD, 12 },
00613     { 0x398, 13 },
00614     { 0x7B, 7 },
00615     { 0x9, 7 }
00616   },
00617   {  /* DC bias table 5 */
00618     { 0x9, 4 },
00619     { 0x2, 5 },
00620     { 0x74, 7 },
00621     { 0x7, 6 },
00622     { 0xEC, 8 },
00623     { 0xD1, 9 },
00624     { 0x1A6, 10 },
00625     { 0x6, 6 },
00626     { 0xD21, 13 },
00627     { 0x5, 3 },
00628     { 0x6, 3 },
00629     { 0x8, 4 },
00630     { 0x7, 4 },
00631     { 0xF, 4 },
00632     { 0x4, 4 },
00633     { 0x0, 4 },
00634     { 0x1C, 5 },
00635     { 0x2, 4 },
00636     { 0x5, 4 },
00637     { 0x3, 4 },
00638     { 0xC, 5 },
00639     { 0x35, 7 },
00640     { 0x1A7, 10 },
00641     { 0x1B, 6 },
00642     { 0x77, 7 },
00643     { 0x1A5, 10 },
00644     { 0x349, 11 },
00645     { 0xD0, 9 },
00646     { 0x691, 12 },
00647     { 0xD20, 13 },
00648     { 0x75, 7 },
00649     { 0xED, 8 }
00650   },
00651   {  /* DC bias table 6 */
00652     { 0xA, 4 },
00653     { 0xC, 5 },
00654     { 0x12, 6 },
00655     { 0x1B, 6 },
00656     { 0xB7, 8 },
00657     { 0x16C, 9 },
00658     { 0x99, 9 },
00659     { 0x5A, 7 },
00660     { 0x16D8, 13 },
00661     { 0x7, 3 },
00662     { 0x6, 3 },
00663     { 0x9, 4 },
00664     { 0x8, 4 },
00665     { 0x0, 3 },
00666     { 0x5, 4 },
00667     { 0x17, 5 },
00668     { 0xE, 5 },
00669     { 0x2, 4 },
00670     { 0x3, 4 },
00671     { 0xF, 5 },
00672     { 0x1A, 6 },
00673     { 0x4D, 8 },
00674     { 0x2DB3, 14 },
00675     { 0x2C, 6 },
00676     { 0x11, 6 },
00677     { 0x2DA, 10 },
00678     { 0x5B7, 11 },
00679     { 0x98, 9 },
00680     { 0xB6D, 12 },
00681     { 0x2DB2, 14 },
00682     { 0x10, 6 },
00683     { 0x27, 7 }
00684   },
00685   {  /* DC bias table 7 */
00686     { 0xD, 4 },
00687     { 0xF, 5 },
00688     { 0x1D, 6 },
00689     { 0x8, 5 },
00690     { 0x51, 7 },
00691     { 0x56, 8 },
00692     { 0xAF, 9 },
00693     { 0x2A, 7 },
00694     { 0x148A, 13 },
00695     { 0x7, 3 },
00696     { 0x0, 2 },
00697     { 0x8, 4 },
00698     { 0x9, 4 },
00699     { 0xC, 4 },
00700     { 0x6, 4 },
00701     { 0x17, 5 },
00702     { 0xB, 5 },
00703     { 0x16, 5 },
00704     { 0x15, 5 },
00705     { 0x9, 5 },
00706     { 0x50, 7 },
00707     { 0xAE, 9 },
00708     { 0x2917, 14 },
00709     { 0x1C, 6 },
00710     { 0x14, 6 },
00711     { 0x290, 10 },
00712     { 0x523, 11 },
00713     { 0x149, 9 },
00714     { 0xA44, 12 },
00715     { 0x2916, 14 },
00716     { 0x53, 7 },
00717     { 0xA5, 8 }
00718   },
00719   {  /* DC bias table 8 */
00720     { 0x1, 4 },
00721     { 0x1D, 6 },
00722     { 0xF5, 8 },
00723     { 0xF4, 8 },
00724     { 0x24D, 10 },
00725     { 0x499, 11 },
00726     { 0x498, 11 },
00727     { 0x1, 5 },
00728     { 0x21, 6 },
00729     { 0x6, 3 },
00730     { 0x5, 3 },
00731     { 0x6, 4 },
00732     { 0x5, 4 },
00733     { 0x2, 4 },
00734     { 0x7, 5 },
00735     { 0x25, 6 },
00736     { 0x7B, 7 },
00737     { 0x1C, 6 },
00738     { 0x20, 6 },
00739     { 0xD, 6 },
00740     { 0x48, 7 },
00741     { 0x92, 8 },
00742     { 0x127, 9 },
00743     { 0xE, 4 },
00744     { 0x4, 4 },
00745     { 0x11, 5 },
00746     { 0xC, 6 },
00747     { 0x3C, 6 },
00748     { 0xF, 5 },
00749     { 0x0, 5 },
00750     { 0x1F, 5 },
00751     { 0x13, 5 }
00752   },
00753   {  /* DC bias table 9 */
00754     { 0x5, 4 },
00755     { 0x3C, 6 },
00756     { 0x40, 7 },
00757     { 0xD, 7 },
00758     { 0x31, 9 },
00759     { 0x61, 10 },
00760     { 0x60, 10 },
00761     { 0x2, 5 },
00762     { 0xF5, 8 },
00763     { 0x6, 3 },
00764     { 0x5, 3 },
00765     { 0x7, 4 },
00766     { 0x6, 4 },
00767     { 0x2, 4 },
00768     { 0x9, 5 },
00769     { 0x25, 6 },
00770     { 0x7, 6 },
00771     { 0x21, 6 },
00772     { 0x24, 6 },
00773     { 0x10, 6 },
00774     { 0x41, 7 },
00775     { 0xF4, 8 },
00776     { 0x19, 8 },
00777     { 0xE, 4 },
00778     { 0x3, 4 },
00779     { 0x11, 5 },
00780     { 0x11, 6 },
00781     { 0x3F, 6 },
00782     { 0x3E, 6 },
00783     { 0x7B, 7 },
00784     { 0x0, 4 },
00785     { 0x13, 5 }
00786   },
00787   {  /* DC bias table 10 */
00788     { 0xA, 4 },
00789     { 0x7, 5 },
00790     { 0x1, 6 },
00791     { 0x9, 6 },
00792     { 0x131, 9 },
00793     { 0x261, 10 },
00794     { 0x260, 10 },
00795     { 0x15, 6 },
00796     { 0x1, 7 },
00797     { 0x7, 3 },
00798     { 0x6, 3 },
00799     { 0x8, 4 },
00800     { 0x7, 4 },
00801     { 0x6, 4 },
00802     { 0x12, 5 },
00803     { 0x2F, 6 },
00804     { 0x14, 6 },
00805     { 0x27, 6 },
00806     { 0x2D, 6 },
00807     { 0x16, 6 },
00808     { 0x4D, 7 },
00809     { 0x99, 8 },
00810     { 0x0, 7 },
00811     { 0x4, 4 },
00812     { 0x1, 4 },
00813     { 0x5, 5 },
00814     { 0x17, 6 },
00815     { 0x2E, 6 },
00816     { 0x2C, 6 },
00817     { 0x8, 6 },
00818     { 0x6, 5 },
00819     { 0x1, 5 }
00820   },
00821   {  /* DC bias table 11 */
00822     { 0x0, 3 },
00823     { 0xE, 5 },
00824     { 0x17, 6 },
00825     { 0x2A, 6 },
00826     { 0x10, 7 },
00827     { 0xF9, 10 },
00828     { 0xF8, 10 },
00829     { 0x1E, 7 },
00830     { 0x3F, 8 },
00831     { 0x7, 3 },
00832     { 0x6, 3 },
00833     { 0x9, 4 },
00834     { 0x8, 4 },
00835     { 0x6, 4 },
00836     { 0xF, 5 },
00837     { 0x5, 5 },
00838     { 0x16, 6 },
00839     { 0x29, 6 },
00840     { 0x2B, 6 },
00841     { 0x15, 6 },
00842     { 0x50, 7 },
00843     { 0x11, 7 },
00844     { 0x7D, 9 },
00845     { 0x4, 4 },
00846     { 0x17, 5 },
00847     { 0x6, 5 },
00848     { 0x14, 6 },
00849     { 0x2C, 6 },
00850     { 0x2D, 6 },
00851     { 0xE, 6 },
00852     { 0x9, 6 },
00853     { 0x51, 7 }
00854   },
00855   {  /* DC bias table 12 */
00856     { 0x2, 3 },
00857     { 0x18, 5 },
00858     { 0x2F, 6 },
00859     { 0xD, 5 },
00860     { 0x53, 7 },
00861     { 0x295, 10 },
00862     { 0x294, 10 },
00863     { 0xA4, 8 },
00864     { 0x7C, 8 },
00865     { 0x0, 2 },
00866     { 0x7, 3 },
00867     { 0x9, 4 },
00868     { 0x8, 4 },
00869     { 0x1B, 5 },
00870     { 0xC, 5 },
00871     { 0x28, 6 },
00872     { 0x6A, 7 },
00873     { 0x1E, 6 },
00874     { 0x1D, 6 },
00875     { 0x69, 7 },
00876     { 0xD7, 8 },
00877     { 0x7D, 8 },
00878     { 0x14B, 9 },
00879     { 0x19, 5 },
00880     { 0x16, 5 },
00881     { 0x2E, 6 },
00882     { 0x1C, 6 },
00883     { 0x2B, 6 },
00884     { 0x2A, 6 },
00885     { 0x68, 7 },
00886     { 0x3F, 7 },
00887     { 0xD6, 8 }
00888   },
00889   {  /* DC bias table 13 */
00890     { 0x2, 3 },
00891     { 0x1B, 5 },
00892     { 0xC, 5 },
00893     { 0x18, 5 },
00894     { 0x29, 6 },
00895     { 0x7F, 8 },
00896     { 0x2F0, 10 },
00897     { 0x198, 9 },
00898     { 0x179, 9 },
00899     { 0x0, 2 },
00900     { 0x7, 3 },
00901     { 0x9, 4 },
00902     { 0x8, 4 },
00903     { 0x1A, 5 },
00904     { 0xD, 5 },
00905     { 0x2A, 6 },
00906     { 0x64, 7 },
00907     { 0x1E, 6 },
00908     { 0x67, 7 },
00909     { 0x5F, 7 },
00910     { 0xCD, 8 },
00911     { 0x7E, 8 },
00912     { 0x2F1, 10 },
00913     { 0x16, 5 },
00914     { 0xE, 5 },
00915     { 0x2E, 6 },
00916     { 0x65, 7 },
00917     { 0x2B, 6 },
00918     { 0x28, 6 },
00919     { 0x3E, 7 },
00920     { 0xBD, 8 },
00921     { 0x199, 9 }
00922   },
00923   {  /* DC bias table 14 */
00924     { 0x2, 3 },
00925     { 0x7, 4 },
00926     { 0x16, 5 },
00927     { 0x6, 4 },
00928     { 0x36, 6 },
00929     { 0x5C, 7 },
00930     { 0x15D, 9 },
00931     { 0x15C, 9 },
00932     { 0x2BF, 10 },
00933     { 0x0, 2 },
00934     { 0x7, 3 },
00935     { 0x9, 4 },
00936     { 0x8, 4 },
00937     { 0x18, 5 },
00938     { 0x34, 6 },
00939     { 0x2A, 6 },
00940     { 0x5E, 7 },
00941     { 0x6A, 7 },
00942     { 0x64, 7 },
00943     { 0x5D, 7 },
00944     { 0xCB, 8 },
00945     { 0xAD, 8 },
00946     { 0x2BE, 10 },
00947     { 0x14, 5 },
00948     { 0x33, 6 },
00949     { 0x6E, 7 },
00950     { 0x5F, 7 },
00951     { 0x6F, 7 },
00952     { 0x6B, 7 },
00953     { 0xCA, 8 },
00954     { 0xAC, 8 },
00955     { 0x15E, 9 }
00956   },
00957   {  /* DC bias table 15 */
00958     { 0xF, 4 },
00959     { 0x1D, 5 },
00960     { 0x18, 5 },
00961     { 0xB, 4 },
00962     { 0x19, 5 },
00963     { 0x29, 6 },
00964     { 0xD6, 8 },
00965     { 0x551, 11 },
00966     { 0xAA1, 12 },
00967     { 0x1, 2 },
00968     { 0x0, 2 },
00969     { 0x9, 4 },
00970     { 0x8, 4 },
00971     { 0x1B, 5 },
00972     { 0x38, 6 },
00973     { 0x28, 6 },
00974     { 0x57, 7 },
00975     { 0x6A, 7 },
00976     { 0x68, 7 },
00977     { 0x56, 7 },
00978     { 0xE5, 8 },
00979     { 0x155, 9 },
00980     { 0xAA0, 12 },
00981     { 0x73, 7 },
00982     { 0x69, 7 },
00983     { 0xD7, 8 },
00984     { 0xAB, 8 },
00985     { 0xE4, 8 },
00986     { 0xA9, 8 },
00987     { 0x151, 9 },
00988     { 0x150, 9 },
00989     { 0x2A9, 10 }
00990   }
00991 };
00992 
00993 static const uint16_t ac_bias_0[16][32][2] = {
00994   {  /* AC bias group 1, table 0 */
00995     { 0x8, 5 },
00996     { 0x25, 7 },
00997     { 0x17A, 9 },
00998     { 0x2F7, 10 },
00999     { 0xBDB, 12 },
01000     { 0x17B4, 13 },
01001     { 0x2F6B, 14 },
01002     { 0x1D, 5 },
01003     { 0x2F6A, 14 },
01004     { 0x8, 4 },
01005     { 0x7, 4 },
01006     { 0x1, 4 },
01007     { 0x2, 4 },
01008     { 0xA, 4 },
01009     { 0x6, 4 },
01010     { 0x0, 4 },
01011     { 0x1C, 5 },
01012     { 0x9, 4 },
01013     { 0xD, 4 },
01014     { 0xF, 4 },
01015     { 0xC, 4 },
01016     { 0x3, 4 },
01017     { 0xA, 5 },
01018     { 0x16, 5 },
01019     { 0x13, 6 },
01020     { 0x5D, 7 },
01021     { 0x24, 7 },
01022     { 0xBC, 8 },
01023     { 0x5C, 7 },
01024     { 0x5EC, 11 },
01025     { 0xB, 5 },
01026     { 0x5F, 7 }
01027   },
01028   {  /* AC bias group 1, table 1 */
01029     { 0xF, 5 },
01030     { 0x10, 6 },
01031     { 0x4B, 8 },
01032     { 0xC6, 8 },
01033     { 0x31D, 10 },
01034     { 0xC71, 12 },
01035     { 0xC70, 12 },
01036     { 0x1, 4 },
01037     { 0xC73, 12 },
01038     { 0x8, 4 },
01039     { 0x9, 4 },
01040     { 0x2, 4 },
01041     { 0x3, 4 },
01042     { 0xB, 4 },
01043     { 0x6, 4 },
01044     { 0x0, 4 },
01045     { 0x1C, 5 },
01046     { 0x5, 4 },
01047     { 0xD, 4 },
01048     { 0xF, 4 },
01049     { 0xA, 4 },
01050     { 0x19, 5 },
01051     { 0x13, 6 },
01052     { 0x1D, 5 },
01053     { 0x30, 6 },
01054     { 0x62, 7 },
01055     { 0x24, 7 },
01056     { 0x4A, 8 },
01057     { 0x18F, 9 },
01058     { 0xC72, 12 },
01059     { 0xE, 5 },
01060     { 0x11, 6 }
01061   },
01062   {  /* AC bias group 1, table 2 */
01063     { 0x1B, 5 },
01064     { 0x3, 6 },
01065     { 0x8D, 8 },
01066     { 0x40, 7 },
01067     { 0x239, 10 },
01068     { 0x471, 11 },
01069     { 0x8E0, 12 },
01070     { 0x3, 4 },
01071     { 0x11C3, 13 },
01072     { 0xA, 4 },
01073     { 0x9, 4 },
01074     { 0x4, 4 },
01075     { 0x5, 4 },
01076     { 0xE, 4 },
01077     { 0x7, 4 },
01078     { 0x1, 4 },
01079     { 0x1E, 5 },
01080     { 0x6, 4 },
01081     { 0xC, 4 },
01082     { 0xB, 4 },
01083     { 0x2, 4 },
01084     { 0x0, 5 },
01085     { 0x41, 7 },
01086     { 0x1F, 5 },
01087     { 0x22, 6 },
01088     { 0x2, 6 },
01089     { 0x8F, 8 },
01090     { 0x8C, 8 },
01091     { 0x11D, 9 },
01092     { 0x11C2, 13 },
01093     { 0x1A, 5 },
01094     { 0x21, 6 }
01095   },
01096   {  /* AC bias group 1, table 3 */
01097     { 0x1F, 5 },
01098     { 0x3, 6 },
01099     { 0x3, 7 },
01100     { 0x43, 7 },
01101     { 0xB, 9 },
01102     { 0x15, 10 },
01103     { 0x51, 12 },
01104     { 0x3, 4 },
01105     { 0x50, 12 },
01106     { 0xD, 4 },
01107     { 0xC, 4 },
01108     { 0x4, 4 },
01109     { 0x6, 4 },
01110     { 0xE, 4 },
01111     { 0xA, 4 },
01112     { 0x1, 4 },
01113     { 0x1E, 5 },
01114     { 0x5, 4 },
01115     { 0x9, 4 },
01116     { 0x7, 4 },
01117     { 0x11, 5 },
01118     { 0x2, 6 },
01119     { 0x4, 8 },
01120     { 0x2, 4 },
01121     { 0x2D, 6 },
01122     { 0x20, 6 },
01123     { 0x42, 7 },
01124     { 0x1, 7 },
01125     { 0x0, 7 },
01126     { 0x29, 11 },
01127     { 0x17, 5 },
01128     { 0x2C, 6 }
01129   },
01130   {  /* AC bias group 1, table 4 */
01131     { 0x3, 4 },
01132     { 0x1F, 6 },
01133     { 0x3A, 7 },
01134     { 0x5D, 7 },
01135     { 0x173, 9 },
01136     { 0x2E4, 10 },
01137     { 0x172D, 13 },
01138     { 0x4, 4 },
01139     { 0x172C, 13 },
01140     { 0xF, 4 },
01141     { 0xE, 4 },
01142     { 0x9, 4 },
01143     { 0x8, 4 },
01144     { 0xC, 4 },
01145     { 0xA, 4 },
01146     { 0x1, 4 },
01147     { 0x16, 5 },
01148     { 0x2, 4 },
01149     { 0x5, 4 },
01150     { 0x1A, 5 },
01151     { 0x2F, 6 },
01152     { 0x38, 7 },
01153     { 0x5CA, 11 },
01154     { 0x6, 4 },
01155     { 0x37, 6 },
01156     { 0x1E, 6 },
01157     { 0x3B, 7 },
01158     { 0x39, 7 },
01159     { 0xB8, 8 },
01160     { 0xB97, 12 },
01161     { 0x0, 4 },
01162     { 0x36, 6 }
01163   },
01164   {  /* AC bias group 1, table 5 */
01165     { 0x6, 4 },
01166     { 0x37, 6 },
01167     { 0x5D, 7 },
01168     { 0xC, 6 },
01169     { 0xB9, 8 },
01170     { 0x2E3, 10 },
01171     { 0x5C4, 11 },
01172     { 0x4, 4 },
01173     { 0x1715, 13 },
01174     { 0x0, 3 },
01175     { 0xF, 4 },
01176     { 0x8, 4 },
01177     { 0x7, 4 },
01178     { 0xC, 4 },
01179     { 0x9, 4 },
01180     { 0x1D, 5 },
01181     { 0x16, 5 },
01182     { 0x1C, 5 },
01183     { 0x1A, 5 },
01184     { 0xB, 5 },
01185     { 0x5E, 7 },
01186     { 0x170, 9 },
01187     { 0x1714, 13 },
01188     { 0xA, 4 },
01189     { 0xA, 5 },
01190     { 0x36, 6 },
01191     { 0x5F, 7 },
01192     { 0x1B, 7 },
01193     { 0x1A, 7 },
01194     { 0xB8B, 12 },
01195     { 0x2, 4 },
01196     { 0x7, 5 }
01197   },
01198   {  /* AC bias group 1, table 6 */
01199     { 0xC, 4 },
01200     { 0xB, 5 },
01201     { 0x79, 7 },
01202     { 0x22, 6 },
01203     { 0xF0, 8 },
01204     { 0x119, 9 },
01205     { 0x230, 10 },
01206     { 0x1D, 5 },
01207     { 0x8C4, 12 },
01208     { 0x1, 3 },
01209     { 0x0, 3 },
01210     { 0xA, 4 },
01211     { 0x9, 4 },
01212     { 0xB, 4 },
01213     { 0x7, 4 },
01214     { 0x1C, 5 },
01215     { 0x3D, 6 },
01216     { 0xD, 5 },
01217     { 0x8, 5 },
01218     { 0x15, 6 },
01219     { 0x8D, 8 },
01220     { 0x118B, 13 },
01221     { 0x118A, 13 },
01222     { 0xD, 4 },
01223     { 0x10, 5 },
01224     { 0x9, 5 },
01225     { 0x14, 6 },
01226     { 0x47, 7 },
01227     { 0xF1, 8 },
01228     { 0x463, 11 },
01229     { 0x1F, 5 },
01230     { 0xC, 5 }
01231   },
01232   {  /* AC bias group 1, table 7 */
01233     { 0x0, 3 },
01234     { 0x1A, 5 },
01235     { 0x33, 6 },
01236     { 0xC, 5 },
01237     { 0x46, 7 },
01238     { 0x1E3, 9 },
01239     { 0x3C5, 10 },
01240     { 0x17, 5 },
01241     { 0x1E21, 13 },
01242     { 0x2, 3 },
01243     { 0x1, 3 },
01244     { 0x9, 4 },
01245     { 0xA, 4 },
01246     { 0x7, 4 },
01247     { 0x1B, 5 },
01248     { 0x3D, 6 },
01249     { 0x1B, 6 },
01250     { 0x22, 6 },
01251     { 0x79, 7 },
01252     { 0xF0, 8 },
01253     { 0x1E20, 13 },
01254     { 0x1E23, 13 },
01255     { 0x1E22, 13 },
01256     { 0xE, 4 },
01257     { 0x16, 5 },
01258     { 0x18, 5 },
01259     { 0x32, 6 },
01260     { 0x1A, 6 },
01261     { 0x47, 7 },
01262     { 0x789, 11 },
01263     { 0x1F, 5 },
01264     { 0x10, 5 }
01265   },
01266   {  /* AC bias group 1, table 8 */
01267     { 0x1D, 5 },
01268     { 0x61, 7 },
01269     { 0x4E, 8 },
01270     { 0x9E, 9 },
01271     { 0x27C, 11 },
01272     { 0x9F5, 13 },
01273     { 0x9F4, 13 },
01274     { 0x3, 4 },
01275     { 0x60, 7 },
01276     { 0x0, 3 },
01277     { 0xF, 4 },
01278     { 0xB, 4 },
01279     { 0xA, 4 },
01280     { 0x9, 4 },
01281     { 0x5, 4 },
01282     { 0xD, 5 },
01283     { 0x31, 6 },
01284     { 0x8, 5 },
01285     { 0x38, 6 },
01286     { 0x12, 6 },
01287     { 0x26, 7 },
01288     { 0x13F, 10 },
01289     { 0x4FB, 12 },
01290     { 0xD, 4 },
01291     { 0x2, 4 },
01292     { 0xC, 5 },
01293     { 0x39, 6 },
01294     { 0x1C, 6 },
01295     { 0xF, 5 },
01296     { 0x1D, 6 },
01297     { 0x8, 4 },
01298     { 0x19, 5 }
01299   },
01300   {  /* AC bias group 1, table 9 */
01301     { 0x7, 4 },
01302     { 0x19, 6 },
01303     { 0xAB, 8 },
01304     { 0xAA, 8 },
01305     { 0x119, 10 },
01306     { 0x461, 12 },
01307     { 0x460, 12 },
01308     { 0x1B, 5 },
01309     { 0x47, 8 },
01310     { 0x1, 3 },
01311     { 0x0, 3 },
01312     { 0xC, 4 },
01313     { 0xB, 4 },
01314     { 0x9, 4 },
01315     { 0x5, 4 },
01316     { 0xD, 5 },
01317     { 0x35, 6 },
01318     { 0x3D, 6 },
01319     { 0x3C, 6 },
01320     { 0x18, 6 },
01321     { 0x22, 7 },
01322     { 0x8D, 9 },
01323     { 0x231, 11 },
01324     { 0xE, 4 },
01325     { 0x1F, 5 },
01326     { 0x9, 5 },
01327     { 0x2B, 6 },
01328     { 0x10, 6 },
01329     { 0x34, 6 },
01330     { 0x54, 7 },
01331     { 0x8, 4 },
01332     { 0x14, 5 }
01333   },
01334   {  /* AC bias group 1, table 10 */
01335     { 0xC, 4 },
01336     { 0x5, 5 },
01337     { 0x8, 6 },
01338     { 0x5B, 7 },
01339     { 0x4D, 9 },
01340     { 0x131, 11 },
01341     { 0x261, 12 },
01342     { 0x1A, 5 },
01343     { 0x12, 7 },
01344     { 0x0, 3 },
01345     { 0xF, 4 },
01346     { 0xA, 4 },
01347     { 0x9, 4 },
01348     { 0x6, 4 },
01349     { 0x1B, 5 },
01350     { 0x6, 5 },
01351     { 0x1C, 6 },
01352     { 0x2C, 6 },
01353     { 0x15, 6 },
01354     { 0x5A, 7 },
01355     { 0x27, 8 },
01356     { 0x99, 10 },
01357     { 0x260, 12 },
01358     { 0xE, 4 },
01359     { 0x4, 4 },
01360     { 0xF, 5 },
01361     { 0x7, 5 },
01362     { 0x1D, 6 },
01363     { 0xB, 5 },
01364     { 0x14, 6 },
01365     { 0x8, 4 },
01366     { 0x17, 5 }
01367   },
01368   {  /* AC bias group 1, table 11 */
01369     { 0xF, 4 },
01370     { 0x13, 5 },
01371     { 0x75, 7 },
01372     { 0x24, 6 },
01373     { 0x95, 8 },
01374     { 0x251, 10 },
01375     { 0x4A0, 11 },
01376     { 0x10, 5 },
01377     { 0xC8, 8 },
01378     { 0x2, 3 },
01379     { 0x1, 3 },
01380     { 0x1, 4 },
01381     { 0x0, 4 },
01382     { 0x1A, 5 },
01383     { 0x11, 5 },
01384     { 0x2C, 6 },
01385     { 0x65, 7 },
01386     { 0x74, 7 },
01387     { 0x4B, 7 },
01388     { 0xC9, 8 },
01389     { 0x129, 9 },
01390     { 0x943, 12 },
01391     { 0x942, 12 },
01392     { 0x3, 3 },
01393     { 0xA, 4 },
01394     { 0x1C, 5 },
01395     { 0x18, 5 },
01396     { 0x33, 6 },
01397     { 0x17, 5 },
01398     { 0x2D, 6 },
01399     { 0x1B, 5 },
01400     { 0x3B, 6 }
01401   },
01402   {  /* AC bias group 1, table 12 */
01403     { 0x3, 3 },
01404     { 0x1A, 5 },
01405     { 0x2D, 6 },
01406     { 0x38, 6 },
01407     { 0x28, 7 },
01408     { 0x395, 10 },
01409     { 0xE51, 12 },
01410     { 0x37, 6 },
01411     { 0xE4, 8 },
01412     { 0x1, 3 },
01413     { 0x0, 3 },
01414     { 0x1F, 5 },
01415     { 0x1E, 5 },
01416     { 0x17, 5 },
01417     { 0x3A, 6 },
01418     { 0x73, 7 },
01419     { 0x2A, 7 },
01420     { 0x2B, 7 },
01421     { 0x29, 7 },
01422     { 0x1CB, 9 },
01423     { 0x729, 11 },
01424     { 0x1CA1, 13 },
01425     { 0x1CA0, 13 },
01426     { 0x4, 3 },
01427     { 0xA, 4 },
01428     { 0x4, 4 },
01429     { 0x18, 5 },
01430     { 0x36, 6 },
01431     { 0xB, 5 },
01432     { 0x2C, 6 },
01433     { 0x19, 5 },
01434     { 0x3B, 6 }
01435   },
01436   {  /* AC bias group 1, table 13 */
01437     { 0x4, 3 },
01438     { 0x4, 4 },
01439     { 0x3F, 6 },
01440     { 0x17, 5 },
01441     { 0x75, 7 },
01442     { 0x1F5, 9 },
01443     { 0x7D1, 11 },
01444     { 0x17, 6 },
01445     { 0x1F6, 9 },
01446     { 0x1, 3 },
01447     { 0x0, 3 },
01448     { 0x1B, 5 },
01449     { 0x1A, 5 },
01450     { 0xA, 5 },
01451     { 0x32, 6 },
01452     { 0x74, 7 },
01453     { 0xF8, 8 },
01454     { 0xF9, 8 },
01455     { 0x1F7, 9 },
01456     { 0x3E9, 10 },
01457     { 0xFA0, 12 },
01458     { 0x1F43, 13 },
01459     { 0x1F42, 13 },
01460     { 0x3, 3 },
01461     { 0xA, 4 },
01462     { 0x1E, 5 },
01463     { 0x1C, 5 },
01464     { 0x3B, 6 },
01465     { 0x18, 5 },
01466     { 0x16, 6 },
01467     { 0x16, 5 },
01468     { 0x33, 6 }
01469   },
01470   {  /* AC bias group 1, table 14 */
01471     { 0x4, 3 },
01472     { 0x7, 4 },
01473     { 0x18, 5 },
01474     { 0x1E, 5 },
01475     { 0x36, 6 },
01476     { 0x31, 7 },
01477     { 0x177, 9 },
01478     { 0x77, 7 },
01479     { 0x176, 9 },
01480     { 0x1, 3 },
01481     { 0x0, 3 },
01482     { 0x1A, 5 },
01483     { 0x19, 5 },
01484     { 0x3A, 6 },
01485     { 0x19, 6 },
01486     { 0x5C, 7 },
01487     { 0xBA, 8 },
01488     { 0x61, 8 },
01489     { 0xC1, 9 },
01490     { 0x180, 10 },
01491     { 0x302, 11 },
01492     { 0x607, 12 },
01493     { 0x606, 12 },
01494     { 0x2, 3 },
01495     { 0xA, 4 },
01496     { 0x1F, 5 },
01497     { 0x1C, 5 },
01498     { 0x37, 6 },
01499     { 0x16, 5 },
01500     { 0x76, 7 },
01501     { 0xD, 5 },
01502     { 0x2F, 6 }
01503   },
01504   {  /* AC bias group 1, table 15 */
01505     { 0x0, 3 },
01506     { 0xA, 4 },
01507     { 0x1A, 5 },
01508     { 0xC, 4 },
01509     { 0x1D, 5 },
01510     { 0x39, 6 },
01511     { 0x78, 7 },
01512     { 0x5E, 7 },
01513     { 0x393, 11 },
01514     { 0x2, 3 },
01515     { 0x1, 3 },
01516     { 0x16, 5 },
01517     { 0xF, 5 },
01518     { 0x2E, 6 },
01519     { 0x5F, 7 },
01520     { 0x73, 8 },
01521     { 0xE5, 9 },
01522     { 0x1C8, 10 },
01523     { 0xE4A, 13 },
01524     { 0x1C97, 14 },
01525     { 0x1C96, 14 },
01526     { 0xE49, 13 },
01527     { 0xE48, 13 },
01528     { 0x4, 3 },
01529     { 0x6, 4 },
01530     { 0x1F, 5 },
01531     { 0x1B, 5 },
01532     { 0x1D, 6 },
01533     { 0x38, 6 },
01534     { 0x38, 7 },
01535     { 0x3D, 6 },
01536     { 0x79, 7 }
01537   }
01538 };
01539 
01540 static const uint16_t ac_bias_1[16][32][2] = {
01541   {  /* AC bias group 2, table 0 */
01542     { 0xB, 5 },
01543     { 0x2B, 7 },
01544     { 0x54, 8 },
01545     { 0x1B7, 9 },
01546     { 0x6D9, 11 },
01547     { 0xDB1, 12 },
01548     { 0xDB0, 12 },
01549     { 0x2, 4 },
01550     { 0xAB, 9 },
01551     { 0x9, 4 },
01552     { 0xA, 4 },
01553     { 0x7, 4 },
01554     { 0x8, 4 },
01555     { 0xF, 4 },
01556     { 0xC, 4 },
01557     { 0x3, 4 },
01558     { 0x1D, 5 },
01559     { 0x4, 4 },
01560     { 0xB, 4 },
01561     { 0x6, 4 },
01562     { 0x1A, 5 },
01563     { 0x3, 6 },
01564     { 0xAA, 9 },
01565     { 0x1, 4 },
01566     { 0x0, 5 },
01567     { 0x14, 6 },
01568     { 0x6C, 7 },
01569     { 0xDA, 8 },
01570     { 0x2, 6 },
01571     { 0x36D, 10 },
01572     { 0x1C, 5 },
01573     { 0x37, 6 }
01574   },
01575   {  /* AC bias group 2, table 1 */
01576     { 0x1D, 5 },
01577     { 0x4, 6 },
01578     { 0xB6, 8 },
01579     { 0x6A, 8 },
01580     { 0x5B9, 11 },
01581     { 0x16E1, 13 },
01582     { 0x16E0, 13 },
01583     { 0x7, 4 },
01584     { 0x16F, 9 },
01585     { 0xC, 4 },
01586     { 0xD, 4 },
01587     { 0x9, 4 },
01588     { 0x8, 4 },
01589     { 0xF, 4 },
01590     { 0xA, 4 },
01591     { 0x3, 4 },
01592     { 0x17, 5 },
01593     { 0x2, 4 },
01594     { 0x4, 4 },
01595     { 0x1C, 5 },
01596     { 0x2C, 6 },
01597     { 0x6B, 8 },
01598     { 0xB71, 12 },
01599     { 0x5, 4 },
01600     { 0x3, 5 },
01601     { 0x1B, 6 },
01602     { 0x5A, 7 },
01603     { 0x34, 7 },
01604     { 0x5, 6 },
01605     { 0x2DD, 10 },
01606     { 0x0, 4 },
01607     { 0xC, 5 }
01608   },
01609   {  /* AC bias group 2, table 2 */
01610     { 0x3, 4 },
01611     { 0x7F, 7 },
01612     { 0xA1, 8 },
01613     { 0xA0, 8 },
01614     { 0x20C, 10 },
01615     { 0x834, 12 },
01616     { 0x106B, 13 },
01617     { 0x7, 4 },
01618     { 0x82, 8 },
01619     { 0xE, 4 },
01620     { 0xD, 4 },
01621     { 0xB, 4 },
01622     { 0xC, 4 },
01623     { 0x0, 3 },
01624     { 0x9, 4 },
01625     { 0x2, 4 },
01626     { 0x11, 5 },
01627     { 0x1E, 5 },
01628     { 0x15, 5 },
01629     { 0x3E, 6 },
01630     { 0x40, 7 },
01631     { 0x41B, 11 },
01632     { 0x106A, 13 },
01633     { 0x6, 4 },
01634     { 0xA, 5 },
01635     { 0x29, 6 },
01636     { 0x7E, 7 },
01637     { 0x51, 7 },
01638     { 0x21, 6 },
01639     { 0x107, 9 },
01640     { 0x4, 4 },
01641     { 0xB, 5 }
01642   },
01643   {  /* AC bias group 2, table 3 */
01644     { 0x7, 4 },
01645     { 0x1B, 6 },
01646     { 0xF6, 8 },
01647     { 0xE9, 8 },
01648     { 0x3A1, 10 },
01649     { 0x740, 11 },
01650     { 0xE82, 12 },
01651     { 0x1F, 5 },
01652     { 0x1EF, 9 },
01653     { 0x1, 3 },
01654     { 0x2, 3 },
01655     { 0xB, 4 },
01656     { 0xC, 4 },
01657     { 0xD, 4 },
01658     { 0x8, 4 },
01659     { 0x1C, 5 },
01660     { 0x3, 5 },
01661     { 0x12, 5 },
01662     { 0x2, 5 },
01663     { 0x75, 7 },
01664     { 0x1D1, 9 },
01665     { 0x1D07, 13 },
01666     { 0x1D06, 13 },
01667     { 0xA, 4 },
01668     { 0x13, 5 },
01669     { 0x3B, 6 },
01670     { 0x1A, 6 },
01671     { 0x7A, 7 },
01672     { 0x3C, 6 },
01673     { 0x1EE, 9 },
01674     { 0x0, 4 },
01675     { 0xC, 5 }
01676   },
01677   {  /* AC bias group 2, table 4 */
01678     { 0xD, 4 },
01679     { 0x3D, 6 },
01680     { 0x42, 7 },
01681     { 0x37, 7 },
01682     { 0xD9, 9 },
01683     { 0x362, 11 },
01684     { 0x6C6, 12 },
01685     { 0x1F, 5 },
01686     { 0x86, 8 },
01687     { 0x1, 3 },
01688     { 0x2, 3 },
01689     { 0xC, 4 },
01690     { 0xB, 4 },
01691     { 0xA, 4 },
01692     { 0x1, 4 },
01693     { 0xF, 5 },
01694     { 0x25, 6 },
01695     { 0x3C, 6 },
01696     { 0x1A, 6 },
01697     { 0x87, 8 },
01698     { 0x1B0, 10 },
01699     { 0xD8F, 13 },
01700     { 0xD8E, 13 },
01701     { 0xE, 4 },
01702     { 0x13, 5 },
01703     { 0xC, 5 },
01704     { 0x24, 6 },
01705     { 0x20, 6 },
01706     { 0x11, 5 },
01707     { 0x6D, 8 },
01708     { 0x0, 4 },
01709     { 0xE, 5 }
01710   },
01711   {  /* AC bias group 2, table 5 */
01712     { 0x0, 3 },
01713     { 0x12, 5 },
01714     { 0x76, 7 },
01715     { 0x77, 7 },
01716     { 0x14D, 9 },
01717     { 0x533, 11 },
01718     { 0x14C9, 13 },
01719     { 0x13, 5 },
01720     { 0xA5, 8 },
01721     { 0x2, 3 },
01722     { 0x3, 3 },
01723     { 0xB, 4 },
01724     { 0xC, 4 },
01725     { 0x8, 4 },
01726     { 0x1A, 5 },
01727     { 0x2B, 6 },
01728     { 0x75, 7 },
01729     { 0x74, 7 },
01730     { 0xA7, 8 },
01731     { 0x298, 10 },
01732     { 0x14C8, 13 },
01733     { 0x14CB, 13 },
01734     { 0x14CA, 13 },
01735     { 0xF, 4 },
01736     { 0x1C, 5 },
01737     { 0x7, 5 },
01738     { 0x2A, 6 },
01739     { 0x28, 6 },
01740     { 0x1B, 5 },
01741     { 0xA4, 8 },
01742     { 0x2, 4 },
01743     { 0x6, 5 }
01744   },
01745   {  /* AC bias group 2, table 6 */
01746     { 0x2, 3 },
01747     { 0x1A, 5 },
01748     { 0x2B, 6 },
01749     { 0x3A, 6 },
01750     { 0xED, 8 },
01751     { 0x283, 10 },
01752     { 0xA0A, 12 },
01753     { 0x4, 5 },
01754     { 0xA1, 8 },
01755     { 0x4, 3 },
01756     { 0x3, 3 },
01757     { 0xB, 4 },
01758     { 0xC, 4 },
01759     { 0x1F, 5 },
01760     { 0x6, 5 },
01761     { 0x77, 7 },
01762     { 0xA3, 8 },
01763     { 0xA2, 8 },
01764     { 0x140, 9 },
01765     { 0x1417, 13 },
01766     { 0x1416, 13 },
01767     { 0xA09, 12 },
01768     { 0xA08, 12 },
01769     { 0x0, 3 },
01770     { 0x1E, 5 },
01771     { 0x7, 5 },
01772     { 0x2A, 6 },
01773     { 0x29, 6 },
01774     { 0x1C, 5 },
01775     { 0xEC, 8 },
01776     { 0x1B, 5 },
01777     { 0x5, 5 }
01778   },
01779   {  /* AC bias group 2, table 7 */
01780     { 0x2, 3 },
01781     { 0x2, 4 },
01782     { 0x18, 5 },
01783     { 0x1D, 5 },
01784     { 0x35, 6 },
01785     { 0xE4, 8 },
01786     { 0x1CF, 11 },
01787     { 0x1D, 7 },
01788     { 0x72, 9 },
01789     { 0x4, 3 },
01790     { 0x5, 3 },
01791     { 0x6, 4 },
01792     { 0x7, 4 },
01793     { 0x6, 5 },
01794     { 0x73, 7 },
01795     { 0x38, 8 },
01796     { 0x1CE, 11 },
01797     { 0x39B, 12 },
01798     { 0x398, 12 },
01799     { 0x733, 13 },
01800     { 0x732, 13 },
01801     { 0x735, 13 },
01802     { 0x734, 13 },
01803     { 0x0, 3 },
01804     { 0x1F, 5 },
01805     { 0x1B, 5 },
01806     { 0x34, 6 },
01807     { 0xF, 6 },
01808     { 0x1E, 5 },
01809     { 0xE5, 8 },
01810     { 0x19, 5 },
01811     { 0x38, 6 }
01812   },
01813   {  /* AC bias group 2, table 8 */
01814     { 0x16, 5 },
01815     { 0x50, 7 },
01816     { 0x172, 9 },
01817     { 0x2E7, 10 },
01818     { 0x1732, 13 },
01819     { 0x2E67, 14 },
01820     { 0x2E66, 14 },
01821     { 0x6, 4 },
01822     { 0x51, 7 },
01823     { 0x1, 3 },
01824     { 0x0, 3 },
01825     { 0xD, 4 },
01826     { 0xC, 4 },
01827     { 0x9, 4 },
01828     { 0x1C, 5 },
01829     { 0x9, 5 },
01830     { 0x1C, 6 },
01831     { 0x1D, 6 },
01832     { 0x5D, 7 },
01833     { 0xB8, 8 },
01834     { 0x5CD, 11 },
01835     { 0x1731, 13 },
01836     { 0x1730, 13 },
01837     { 0xF, 4 },
01838     { 0x5, 4 },
01839     { 0xF, 5 },
01840     { 0x8, 5 },
01841     { 0x29, 6 },
01842     { 0x1D, 5 },
01843     { 0x2F, 6 },
01844     { 0x8, 4 },
01845     { 0x15, 5 }
01846   },
01847   {  /* AC bias group 2, table 9 */
01848     { 0x9, 4 },
01849     { 0x21, 6 },
01850     { 0x40, 7 },
01851     { 0xAD, 8 },
01852     { 0x2B0, 10 },
01853     { 0x1589, 13 },
01854     { 0x1588, 13 },
01855     { 0x1C, 5 },
01856     { 0x5F, 7 },
01857     { 0x0, 3 },
01858     { 0xF, 4 },
01859     { 0xD, 4 },
01860     { 0xC, 4 },
01861     { 0x6, 4 },
01862     { 0x11, 5 },
01863     { 0x2A, 6 },
01864     { 0x57, 7 },
01865     { 0x5E, 7 },
01866     { 0x41, 7 },
01867     { 0x159, 9 },
01868     { 0x563, 11 },
01869     { 0x158B, 13 },
01870     { 0x158A, 13 },
01871     { 0x1, 3 },
01872     { 0x5, 4 },
01873     { 0x14, 5 },
01874     { 0x3B, 6 },
01875     { 0x2E, 6 },
01876     { 0x4, 4 },
01877     { 0x3A, 6 },
01878     { 0x7, 4 },
01879     { 0x16, 5 }
01880   },
01881   {  /* AC bias group 2, table 10 */
01882     { 0xE, 4 },
01883     { 0x7, 5 },
01884     { 0x46, 7 },
01885     { 0x45, 7 },
01886     { 0x64, 9 },
01887     { 0x32A, 12 },
01888     { 0x657, 13 },
01889     { 0x18, 5 },
01890     { 0xD, 6 },
01891     { 0x0, 3 },
01892     { 0xF, 4 },
01893     { 0xA, 4 },
01894     { 0xB, 4 },
01895     { 0x1A, 5 },
01896     { 0x36, 6 },
01897     { 0x47, 7 },
01898     { 0x44, 7 },
01899     { 0x18, 7 },
01900     { 0x33, 8 },
01901     { 0xCB, 10 },
01902     { 0x656, 13 },
01903     { 0x329, 12 },
01904     { 0x328, 12 },
01905     { 0x2, 3 },
01906     { 0x6, 4 },
01907     { 0x19, 5 },
01908     { 0xE, 5 },
01909     { 0x37, 6 },
01910     { 0x9, 4 },
01911     { 0xF, 5 },
01912     { 0x2, 4 },
01913     { 0x10, 5 }
01914   },
01915   {  /* AC bias group 2, table 11 */
01916     { 0x3, 3 },
01917     { 0x18, 5 },
01918     { 0x23, 6 },
01919     { 0x77, 7 },
01920     { 0x194, 9 },
01921     { 0x1956, 13 },
01922     { 0x32AF, 14 },
01923     { 0x3A, 6 },
01924     { 0x76, 7 },
01925     { 0x2, 3 },
01926     { 0x1, 3 },
01927     { 0x1F, 5 },
01928     { 0x1E, 5 },
01929     { 0x14, 5 },
01930     { 0x22, 6 },
01931     { 0x64, 7 },
01932     { 0x197, 9 },
01933     { 0x196, 9 },
01934     { 0x32B, 10 },
01935     { 0x654, 11 },
01936     { 0x32AE, 14 },
01937     { 0x1955, 13 },
01938     { 0x1954, 13 },
01939     { 0x0, 3 },
01940     { 0x9, 4 },
01941     { 0x1C, 5 },
01942     { 0x15, 5 },
01943     { 0x10, 5 },
01944     { 0xD, 4 },
01945     { 0x17, 5 },
01946     { 0x16, 5 },
01947     { 0x33, 6 }
01948   },
01949   {  /* AC bias group 2, table 12 */
01950     { 0x5, 3 },
01951     { 0x6, 4 },
01952     { 0x3E, 6 },
01953     { 0x10, 5 },
01954     { 0x48, 7 },
01955     { 0x93F, 12 },
01956     { 0x24FA, 14 },
01957     { 0x32, 6 },
01958     { 0x67, 7 },
01959     { 0x2, 3 },
01960     { 0x1, 3 },
01961     { 0x1B, 5 },
01962     { 0x1E, 5 },
01963     { 0x34, 6 },
01964     { 0x66, 7 },
01965     { 0x92, 8 },
01966     { 0x126, 9 },
01967     { 0x24E, 10 },
01968     { 0x49E, 11 },
01969     { 0x49F7, 15 },
01970     { 0x49F6, 15 },
01971     { 0x24F9, 14 },
01972     { 0x24F8, 14 },
01973     { 0x0, 3 },
01974     { 0x7, 4 },
01975     { 0x18, 5 },
01976     { 0x11, 5 },
01977     { 0x3F, 6 },
01978     { 0xE, 4 },
01979     { 0x13, 5 },
01980     { 0x35, 6 },
01981     { 0x25, 6 }
01982   },
01983   {  /* AC bias group 2, table 13 */
01984     { 0x5, 3 },
01985     { 0x8, 4 },
01986     { 0x12, 5 },
01987     { 0x1C, 5 },
01988     { 0x1C, 6 },
01989     { 0xEA, 9 },
01990     { 0x1D75, 14 },
01991     { 0x1E, 6 },
01992     { 0x66, 7 },
01993     { 0x1, 3 },
01994     { 0x2, 3 },
01995     { 0x1B, 5 },
01996     { 0x1A, 5 },
01997     { 0x1F, 6 },
01998     { 0x3B, 7 },
01999     { 0x74, 8 },
02000     { 0x1D6, 10 },
02001     { 0x3AF, 11 },
02002     { 0x1D74, 14 },
02003     { 0x1D77, 14 },
02004     { 0x1D76, 14 },
02005     { 0xEB9, 13 },
02006     { 0xEB8, 13 },
02007     { 0xF, 4 },
02008     { 0x6, 4 },
02009     { 0x13, 5 },
02010     { 0x3B, 6 },
02011     { 0x3A, 6 },
02012     { 0x0, 3 },
02013     { 0x18, 5 },
02014     { 0x32, 6 },
02015     { 0x67, 7 }
02016   },
02017   {  /* AC bias group 2, table 14 */
02018     { 0x4, 3 },
02019     { 0xA, 4 },
02020     { 0x1B, 5 },
02021     { 0xC, 4 },
02022     { 0xD, 5 },
02023     { 0xE6, 8 },
02024     { 0x684, 11 },
02025     { 0x72, 7 },
02026     { 0xE7, 8 },
02027     { 0x2, 3 },
02028     { 0x1, 3 },
02029     { 0x17, 5 },
02030     { 0x16, 5 },
02031     { 0x18, 6 },
02032     { 0xD1, 8 },
02033     { 0x1A0, 9 },
02034     { 0x686, 11 },
02035     { 0xD0F, 12 },
02036     { 0xD0A, 12 },
02037     { 0x1A17, 13 },
02038     { 0x1A16, 13 },
02039     { 0x1A1D, 13 },
02040     { 0x1A1C, 13 },
02041     { 0xF, 4 },
02042     { 0x1D, 5 },
02043     { 0xE, 5 },
02044     { 0x35, 6 },
02045     { 0x38, 6 },
02046     { 0x0, 3 },
02047     { 0xF, 5 },
02048     { 0x19, 6 },
02049     { 0x69, 7 }
02050   },
02051   {  /* AC bias group 2, table 15 */
02052     { 0x3, 3 },
02053     { 0xC, 4 },
02054     { 0x1B, 5 },
02055     { 0x0, 3 },
02056     { 0x3, 4 },
02057     { 0x2E, 6 },
02058     { 0x51, 9 },
02059     { 0xBC, 8 },
02060     { 0x53, 9 },
02061     { 0x4, 3 },
02062     { 0x2, 3 },
02063     { 0x16, 5 },
02064     { 0x15, 5 },
02065     { 0x15, 7 },
02066     { 0x50, 9 },
02067     { 0xA4, 10 },
02068     { 0x294, 12 },
02069     { 0x52B, 13 },
02070     { 0x52A, 13 },
02071     { 0x52D, 13 },
02072     { 0x52C, 13 },
02073     { 0x52F, 13 },
02074     { 0x52E, 13 },
02075     { 0xE, 4 },
02076     { 0x1A, 5 },
02077     { 0x4, 5 },
02078     { 0x28, 6 },
02079     { 0x29, 6 },
02080     { 0xF, 4 },
02081     { 0xB, 6 },
02082     { 0x5F, 7 },
02083     { 0xBD, 8 }
02084   }
02085 };
02086 
02087 static const uint16_t ac_bias_2[16][32][2] = {
02088   {  /* AC bias group 3, table 0 */
02089     { 0x3, 4 },
02090     { 0x9, 6 },
02091     { 0xD0, 8 },
02092     { 0x1A3, 9 },
02093     { 0x344, 10 },
02094     { 0xD14, 12 },
02095     { 0x1A2B, 13 },
02096     { 0x4, 4 },
02097     { 0x15, 7 },
02098     { 0x0, 3 },
02099     { 0xF, 4 },
02100     { 0xB, 4 },
02101     { 0xC, 4 },
02102     { 0xE, 4 },
02103     { 0x9, 4 },
02104     { 0x1B, 5 },
02105     { 0xA, 5 },
02106     { 0x14, 5 },
02107     { 0xD, 5 },
02108     { 0x2A, 6 },
02109     { 0x14, 7 },
02110     { 0x68B, 11 },
02111     { 0x1A2A, 13 },
02112     { 0x8, 4 },
02113     { 0xB, 5 },
02114     { 0x2B, 6 },
02115     { 0xB, 6 },
02116     { 0x69, 7 },
02117     { 0x35, 6 },
02118     { 0x8, 6 },
02119     { 0x7, 4 },
02120     { 0xC, 5 }
02121   },
02122   {  /* AC bias group 3, table 1 */
02123     { 0xA, 4 },
02124     { 0x3C, 6 },
02125     { 0x32, 7 },
02126     { 0x30, 7 },
02127     { 0xC5, 9 },
02128     { 0x621, 12 },
02129     { 0x620, 12 },
02130     { 0x1F, 5 },
02131     { 0x33, 7 },
02132     { 0x1, 3 },
02133     { 0x0, 3 },
02134     { 0xE, 4 },
02135     { 0xD, 4 },
02136     { 0xC, 4 },
02137     { 0x4, 4 },
02138     { 0xD, 5 },
02139     { 0x26, 6 },
02140     { 0x27, 6 },
02141     { 0x14, 6 },
02142     { 0x63, 8 },
02143     { 0x189, 10 },
02144     { 0x623, 12 },
02145     { 0x622, 12 },
02146     { 0xB, 4 },
02147     { 0x12, 5 },
02148     { 0x3D, 6 },
02149     { 0x22, 6 },
02150     { 0x15, 6 },
02151     { 0xB, 5 },
02152     { 0x23, 6 },
02153     { 0x7, 4 },
02154     { 0x10, 5 }
02155   },
02156   {  /* AC bias group 3, table 2 */
02157     { 0xF, 4 },
02158     { 0xC, 5 },
02159     { 0x43, 7 },
02160     { 0x10, 6 },
02161     { 0x44, 8 },
02162     { 0x114, 10 },
02163     { 0x455, 12 },
02164     { 0x18, 5 },
02165     { 0x23, 7 },
02166     { 0x1, 3 },
02167     { 0x0, 3 },
02168     { 0xE, 4 },
02169     { 0xD, 4 },
02170     { 0x9, 4 },
02171     { 0x19, 5 },
02172     { 0x9, 5 },
02173     { 0x17, 6 },
02174     { 0x16, 6 },
02175     { 0x42, 7 },
02176     { 0x8B, 9 },
02177     { 0x454, 12 },
02178     { 0x457, 12 },
02179     { 0x456, 12 },
02180     { 0xB, 4 },
02181     { 0x15, 5 },
02182     { 0xA, 5 },
02183     { 0x29, 6 },
02184     { 0x20, 6 },
02185     { 0xD, 5 },
02186     { 0x28, 6 },
02187     { 0x7, 4 },
02188     { 0x11, 5 }
02189   },
02190   {  /* AC bias group 3, table 3 */
02191     { 0x1, 3 },
02192     { 0x1A, 5 },
02193     { 0x29, 6 },
02194     { 0x2A, 6 },
02195     { 0xA0, 8 },
02196     { 0x285, 10 },
02197     { 0x1425, 13 },
02198     { 0x2, 5 },
02199     { 0x0, 7 },
02200     { 0x2, 3 },
02201     { 0x3, 3 },
02202     { 0xC, 4 },
02203     { 0xB, 4 },
02204     { 0x8, 4 },
02205     { 0x12, 5 },
02206     { 0x1, 6 },
02207     { 0x51, 7 },
02208     { 0x1, 7 },
02209     { 0x143, 9 },
02210     { 0x508, 11 },
02211     { 0x1424, 13 },
02212     { 0x1427, 13 },
02213     { 0x1426, 13 },
02214     { 0xF, 4 },
02215     { 0x1C, 5 },
02216     { 0x3, 5 },
02217     { 0x37, 6 },
02218     { 0x2B, 6 },
02219     { 0x13, 5 },
02220     { 0x36, 6 },
02221     { 0x1D, 5 },
02222     { 0x1, 5 }
02223   },
02224   {  /* AC bias group 3, table 4 */
02225     { 0x4, 3 },
02226     { 0x1F, 5 },
02227     { 0x3D, 6 },
02228     { 0x6, 5 },
02229     { 0x16, 7 },
02230     { 0x53, 9 },
02231     { 0x14A, 11 },
02232     { 0x34, 6 },
02233     { 0x2A, 8 },
02234     { 0x2, 3 },
02235     { 0x3, 3 },
02236     { 0xB, 4 },
02237     { 0xC, 4 },
02238     { 0x1C, 5 },
02239     { 0x37, 6 },
02240     { 0x17, 7 },
02241     { 0x2B, 8 },
02242     { 0x28, 8 },
02243     { 0xA4, 10 },
02244     { 0x52D, 13 },
02245     { 0x52C, 13 },
02246     { 0x52F, 13 },
02247     { 0x52E, 13 },
02248     { 0x0, 3 },
02249     { 0x1D, 5 },
02250     { 0x7, 5 },
02251     { 0x4, 5 },
02252     { 0x35, 6 },
02253     { 0x14, 5 },
02254     { 0x36, 6 },
02255     { 0x15, 5 },
02256     { 0x3C, 6 }
02257   },
02258   {  /* AC bias group 3, table 5 */
02259     { 0x4, 3 },
02260     { 0xA, 4 },
02261     { 0x7, 5 },
02262     { 0x1D, 5 },
02263     { 0x9, 6 },
02264     { 0x1F3, 9 },
02265     { 0x7C7, 11 },
02266     { 0x8, 6 },
02267     { 0x1F0, 9 },
02268     { 0x3, 3 },
02269     { 0x2, 3 },
02270     { 0xD, 4 },
02271     { 0xC, 4 },
02272     { 0x17, 5 },
02273     { 0x7D, 7 },
02274     { 0x1F2, 9 },
02275     { 0x7C6, 11 },
02276     { 0x7C5, 11 },
02277     { 0x1F12, 13 },
02278     { 0x3E27, 14 },
02279     { 0x3E26, 14 },
02280     { 0x1F11, 13 },
02281     { 0x1F10, 13 },
02282     { 0x0, 3 },
02283     { 0x1E, 5 },
02284     { 0x6, 5 },
02285     { 0x39, 6 },
02286     { 0x38, 6 },
02287     { 0x3F, 6 },
02288     { 0x2C, 6 },
02289     { 0x5, 5 },
02290     { 0x2D, 6 }
02291   },
02292   {  /* AC bias group 3, table 6 */
02293     { 0x2, 3 },
02294     { 0x7, 4 },
02295     { 0x18, 5 },
02296     { 0x3, 4 },
02297     { 0x5, 5 },
02298     { 0x35, 7 },
02299     { 0x4F, 9 },
02300     { 0x12, 7 },
02301     { 0x4E5, 13 },
02302     { 0x5, 3 },
02303     { 0x4, 3 },
02304     { 0xD, 4 },
02305     { 0xE, 4 },
02306     { 0x33, 6 },
02307     { 0x26, 8 },
02308     { 0x9D, 10 },
02309     { 0x4E4, 13 },
02310     { 0x4E7, 13 },
02311     { 0x4E6, 13 },
02312     { 0x4E1, 13 },
02313     { 0x4E0, 13 },
02314     { 0x4E3, 13 },
02315     { 0x4E2, 13 },
02316     { 0x0, 3 },
02317     { 0x1F, 5 },
02318     { 0xC, 5 },
02319     { 0x3D, 6 },
02320     { 0x3C, 6 },
02321     { 0x32, 6 },
02322     { 0x34, 7 },
02323     { 0x1B, 6 },
02324     { 0x8, 6 }
02325   },
02326   {  /* AC bias group 3, table 7 */
02327     { 0x0, 3 },
02328     { 0x4, 4 },
02329     { 0x1C, 5 },
02330     { 0xF, 4 },
02331     { 0x2, 4 },
02332     { 0x7, 5 },
02333     { 0x75, 7 },
02334     { 0xE8, 8 },
02335     { 0x1D2A, 13 },
02336     { 0x5, 3 },
02337     { 0x4, 3 },
02338     { 0xD, 4 },
02339     { 0xC, 4 },
02340     { 0x77, 7 },
02341     { 0xE96, 12 },
02342     { 0x3A57, 14 },
02343     { 0x3A56, 14 },
02344     { 0x3A5D, 14 },
02345     { 0x3A5C, 14 },
02346     { 0x3A5F, 14 },
02347     { 0x3A5E, 14 },
02348     { 0x1D29, 13 },
02349     { 0x1D28, 13 },
02350     { 0x3, 3 },
02351     { 0x6, 5 },
02352     { 0xA, 5 },
02353     { 0x2C, 7 },
02354     { 0x17, 6 },
02355     { 0x76, 7 },
02356     { 0x1D3, 9 },
02357     { 0x3A4, 10 },
02358     { 0x2D, 7 }
02359   },
02360   {  /* AC bias group 3, table 8 */
02361     { 0xA, 4 },
02362     { 0x24, 6 },
02363     { 0xBF, 8 },
02364     { 0x85, 8 },
02365     { 0x211, 10 },
02366     { 0x842, 12 },
02367     { 0x1087, 13 },
02368     { 0x18, 5 },
02369     { 0x20, 6 },
02370     { 0x1, 3 },
02371     { 0x2, 3 },
02372     { 0xE, 4 },
02373     { 0xD, 4 },
02374     { 0x7, 4 },
02375     { 0x13, 5 },
02376     { 0x25, 6 },
02377     { 0x5E, 7 },
02378     { 0x43, 7 },
02379     { 0xBE, 8 },
02380     { 0x109, 9 },
02381     { 0x1086, 13 },
02382     { 0x841, 12 },
02383     { 0x840, 12 },
02384     { 0xF, 4 },
02385     { 0x1, 4 },
02386     { 0x11, 5 },
02387     { 0x0, 5 },
02388     { 0x2E, 6 },
02389     { 0x19, 5 },
02390     { 0x1, 5 },
02391     { 0x6, 4 },
02392     { 0x16, 5 }
02393   },
02394   {  /* AC bias group 3, table 9 */
02395     { 0x2, 3 },
02396     { 0xF, 5 },
02397     { 0x6F, 7 },
02398     { 0x61, 7 },
02399     { 0x374, 10 },
02400     { 0x1BA8, 13 },
02401     { 0x3753, 14 },
02402     { 0x12, 5 },
02403     { 0x36, 6 },
02404     { 0x0, 3 },
02405     { 0x1, 3 },
02406     { 0xA, 4 },
02407     { 0xB, 4 },
02408     { 0x1A, 5 },
02409     { 0x31, 6 },
02410     { 0x60, 7 },
02411     { 0xDC, 8 },
02412     { 0x1BB, 9 },
02413     { 0x6EB, 11 },
02414     { 0x1BAB, 13 },
02415     { 0x3752, 14 },
02416     { 0x3755, 14 },
02417     { 0x3754, 14 },
02418     { 0xE, 4 },
02419     { 0x6, 4 },
02420     { 0x13, 5 },
02421     { 0xE, 5 },
02422     { 0x3E, 6 },
02423     { 0x8, 4 },
02424     { 0x1E, 5 },
02425     { 0x19, 5 },
02426     { 0x3F, 6 }
02427   },
02428   {  /* AC bias group 3, table 10 */
02429     { 0x3, 3 },
02430     { 0x1C, 5 },
02431     { 0x25, 6 },
02432     { 0x24, 6 },
02433     { 0x1DA, 9 },
02434     { 0x1DBD, 13 },
02435     { 0x3B7C, 14 },
02436     { 0x3C, 6 },
02437     { 0x3D, 6 },
02438     { 0x0, 3 },
02439     { 0x1, 3 },
02440     { 0xB, 4 },
02441     { 0xA, 4 },
02442     { 0xB, 5 },
02443     { 0x77, 7 },
02444     { 0xEC, 8 },
02445     { 0x3B6, 10 },
02446     { 0x76E, 11 },
02447     { 0x1DBF, 13 },
02448     { 0x76FB, 15 },
02449     { 0x76FA, 15 },
02450     { 0x3B79, 14 },
02451     { 0x3B78, 14 },
02452     { 0xD, 4 },
02453     { 0x1F, 5 },
02454     { 0x13, 5 },
02455     { 0xA, 5 },
02456     { 0x8, 5 },
02457     { 0xC, 4 },
02458     { 0x8, 4 },
02459     { 0x9, 5 },
02460     { 0x3A, 6 }
02461   },
02462   {  /* AC bias group 3, table 11 */
02463     { 0x5, 3 },
02464     { 0x3, 4 },
02465     { 0x4, 5 },
02466     { 0x10, 5 },
02467     { 0x8F, 8 },
02468     { 0x475, 11 },
02469     { 0x11D1, 13 },
02470     { 0x79, 7 },
02471     { 0x27, 6 },
02472     { 0x2, 3 },
02473     { 0x3, 3 },
02474     { 0x1, 4 },
02475     { 0x0, 4 },
02476     { 0x26, 6 },
02477     { 0x46, 7 },
02478     { 0x11C, 9 },
02479     { 0x477, 11 },
02480     { 0x8ED, 12 },
02481     { 0x11D0, 13 },
02482     { 0x11D3, 13 },
02483     { 0x11D2, 13 },
02484     { 0x11D9, 13 },
02485     { 0x11D8, 13 },
02486     { 0xD, 4 },
02487     { 0x1F, 5 },
02488     { 0x12, 5 },
02489     { 0x5, 5 },
02490     { 0x3D, 6 },
02491     { 0xC, 4 },
02492     { 0xE, 4 },
02493     { 0x22, 6 },
02494     { 0x78, 7 }
02495   },
02496   {  /* AC bias group 3, table 12 */
02497     { 0x5, 3 },
02498     { 0xC, 4 },
02499     { 0x1B, 5 },
02500     { 0x0, 4 },
02501     { 0x6, 6 },
02502     { 0x3E2, 10 },
02503     { 0x3E3D, 14 },
02504     { 0xF, 7 },
02505     { 0x34, 6 },
02506     { 0x3, 3 },
02507     { 0x2, 3 },
02508     { 0x1E, 5 },
02509     { 0x1D, 5 },
02510     { 0x7D, 7 },
02511     { 0x1F0, 9 },
02512     { 0x7C6, 11 },
02513     { 0x3E3C, 14 },
02514     { 0x3E3F, 14 },
02515     { 0x3E3E, 14 },
02516     { 0x3E39, 14 },
02517     { 0x3E38, 14 },
02518     { 0x3E3B, 14 },
02519     { 0x3E3A, 14 },
02520     { 0x8, 4 },
02521     { 0x1C, 5 },
02522     { 0x2, 5 },
02523     { 0x3F, 6 },
02524     { 0x35, 6 },
02525     { 0x9, 4 },
02526     { 0x1, 3 },
02527     { 0xE, 7 },
02528     { 0xF9, 8 }
02529   },
02530   {  /* AC bias group 3, table 13 */
02531     { 0x4, 3 },
02532     { 0xB, 4 },
02533     { 0x1, 4 },
02534     { 0xA, 4 },
02535     { 0x1E, 6 },
02536     { 0xE0, 9 },
02537     { 0xE1E, 13 },
02538     { 0x71, 8 },
02539     { 0x39, 7 },
02540     { 0x7, 3 },
02541     { 0x6, 3 },
02542     { 0xD, 5 },
02543     { 0xC, 5 },
02544     { 0x20, 7 },
02545     { 0x1C2, 10 },
02546     { 0x1C3F, 14 },
02547     { 0x1C3E, 14 },
02548     { 0xE19, 13 },
02549     { 0xE18, 13 },
02550     { 0xE1B, 13 },
02551     { 0xE1A, 13 },
02552     { 0xE1D, 13 },
02553     { 0xE1C, 13 },
02554     { 0x0, 4 },
02555     { 0x9, 5 },
02556     { 0x1D, 6 },
02557     { 0x1F, 6 },
02558     { 0x11, 6 },
02559     { 0x5, 4 },
02560     { 0x1, 3 },
02561     { 0x43, 8 },
02562     { 0x42, 8 }
02563   },
02564   {  /* AC bias group 3, table 14 */
02565     { 0x4, 3 },
02566     { 0xD, 4 },
02567     { 0x7, 4 },
02568     { 0x2, 3 },
02569     { 0x14, 5 },
02570     { 0x16C, 9 },
02571     { 0x16D1, 13 },
02572     { 0x2DF, 10 },
02573     { 0x16E, 9 },
02574     { 0x0, 2 },
02575     { 0x7, 3 },
02576     { 0x2C, 6 },
02577     { 0x2B, 6 },
02578     { 0x2DE, 10 },
02579     { 0x16D0, 13 },
02580     { 0x16D3, 13 },
02581     { 0x16D2, 13 },
02582     { 0x2DB5, 14 },
02583     { 0x2DB4, 14 },
02584     { 0x2DB7, 14 },
02585     { 0x2DB6, 14 },
02586     { 0x16D9, 13 },
02587     { 0x16D8, 13 },
02588     { 0xC, 5 },
02589     { 0x2A, 6 },
02590     { 0x5A, 7 },
02591     { 0x1B, 6 },
02592     { 0x1A, 6 },
02593     { 0x17, 5 },
02594     { 0xC, 4 },
02595     { 0x5B7, 11 },
02596     { 0x5B5, 11 }
02597   },
02598   {  /* AC bias group 3, table 15 */
02599     { 0x2, 2 },
02600     { 0xF, 4 },
02601     { 0x1C, 5 },
02602     { 0xC, 4 },
02603     { 0x3B, 6 },
02604     { 0x1AC, 9 },
02605     { 0x1AD8, 13 },
02606     { 0x35B3, 14 },
02607     { 0x35B2, 14 },
02608     { 0x1, 2 },
02609     { 0x0, 2 },
02610     { 0x69, 7 },
02611     { 0x68, 7 },
02612     { 0x35BD, 14 },
02613     { 0x35BC, 14 },
02614     { 0x35BF, 14 },
02615     { 0x35BE, 14 },
02616     { 0x35B9, 14 },
02617     { 0x35B8, 14 },
02618     { 0x35BB, 14 },
02619     { 0x35BA, 14 },
02620     { 0x35B5, 14 },
02621     { 0x35B4, 14 },
02622     { 0x1A9, 9 },
02623     { 0x1A8, 9 },
02624     { 0x35A, 10 },
02625     { 0xD7, 8 },
02626     { 0xD5, 8 },
02627     { 0x3A, 6 },
02628     { 0x1B, 5 },
02629     { 0x35B7, 14 },
02630     { 0x35B6, 14 }
02631   }
02632 };
02633 
02634 static const uint16_t ac_bias_3[16][32][2] = {
02635   {  /* AC bias group 4, table 0 */
02636     { 0x0, 3 },
02637     { 0x10, 5 },
02638     { 0x72, 7 },
02639     { 0x71, 7 },
02640     { 0x154, 9 },
02641     { 0xAAB, 12 },
02642     { 0xAA8, 12 },
02643     { 0x14, 5 },
02644     { 0x70, 7 },
02645     { 0x2, 3 },
02646     { 0x3, 3 },
02647     { 0xC, 4 },
02648     { 0xB, 4 },
02649     { 0x3, 4 },
02650     { 0x11, 5 },
02651     { 0x73, 7 },
02652     { 0x54, 7 },
02653     { 0xAB, 8 },
02654     { 0x2AB, 10 },
02655     { 0x1553, 13 },
02656     { 0x1552, 13 },
02657     { 0x1555, 13 },
02658     { 0x1554, 13 },
02659     { 0xD, 4 },
02660     { 0x1E, 5 },
02661     { 0x12, 5 },
02662     { 0x3E, 6 },
02663     { 0x2B, 6 },
02664     { 0x2, 4 },
02665     { 0x3F, 6 },
02666     { 0x1D, 5 },
02667     { 0x13, 5 }
02668   },
02669   {  /* AC bias group 4, table 1 */
02670     { 0x3, 3 },
02671     { 0x1F, 5 },
02672     { 0x29, 6 },
02673     { 0x3D, 6 },
02674     { 0xC, 7 },
02675     { 0x69, 10 },
02676     { 0x345, 13 },
02677     { 0x2, 5 },
02678     { 0x28, 6 },
02679     { 0x2, 3 },
02680     { 0x1, 3 },
02681     { 0xE, 4 },
02682     { 0xC, 4 },
02683     { 0x15, 5 },
02684     { 0x7, 6 },
02685     { 0x1B, 8 },
02686     { 0x6B, 10 },
02687     { 0x6A, 10 },
02688     { 0x344, 13 },
02689     { 0x347, 13 },
02690     { 0x346, 13 },
02691     { 0x1A1, 12 },
02692     { 0x1A0, 12 },
02693     { 0xB, 4 },
02694     { 0x1A, 5 },
02695     { 0x12, 5 },
02696     { 0x0, 5 },
02697     { 0x3C, 6 },
02698     { 0x8, 4 },
02699     { 0x1B, 5 },
02700     { 0x13, 5 },
02701     { 0x1, 5 }
02702   },
02703   {  /* AC bias group 4, table 2 */
02704     { 0x4, 3 },
02705     { 0x4, 4 },
02706     { 0x3F, 6 },
02707     { 0x14, 5 },
02708     { 0x56, 7 },
02709     { 0x15C, 9 },
02710     { 0x15D5, 13 },
02711     { 0x3C, 6 },
02712     { 0x2A, 6 },
02713     { 0x0, 3 },
02714     { 0x1, 3 },
02715     { 0xE, 4 },
02716     { 0xD, 4 },
02717     { 0xC, 5 },
02718     { 0xAF, 8 },
02719     { 0x2BB, 10 },
02720     { 0x15D4, 13 },
02721     { 0x15D7, 13 },
02722     { 0x15D6, 13 },
02723     { 0x15D1, 13 },
02724     { 0x15D0, 13 },
02725     { 0x15D3, 13 },
02726     { 0x15D2, 13 },
02727     { 0xB, 4 },
02728     { 0x19, 5 },
02729     { 0xD, 5 },
02730     { 0x3E, 6 },
02731     { 0x31, 6 },
02732     { 0x7, 4 },
02733     { 0x5, 4 },
02734     { 0x3D, 6 },
02735     { 0x30, 6 }
02736   },
02737   {  /* AC bias group 4, table 3 */
02738     { 0x5, 3 },
02739     { 0x8, 4 },
02740     { 0x1A, 5 },
02741     { 0x0, 4 },
02742     { 0x36, 6 },
02743     { 0x11, 8 },
02744     { 0x106, 12 },
02745     { 0xA, 7 },
02746     { 0x6E, 7 },
02747     { 0x2, 3 },
02748     { 0x3, 3 },
02749     { 0x3, 4 },
02750     { 0x2, 4 },
02751     { 0x6F, 7 },
02752     { 0x21, 9 },
02753     { 0x20F, 13 },
02754     { 0x20E, 13 },
02755     { 0x101, 12 },
02756     { 0x100, 12 },
02757     { 0x103, 12 },
02758     { 0x102, 12 },
02759     { 0x105, 12 },
02760     { 0x104, 12 },
02761     { 0xC, 4 },
02762     { 0x1E, 5 },
02763     { 0x3, 5 },
02764     { 0x3E, 6 },
02765     { 0x3F, 6 },
02766     { 0x9, 4 },
02767     { 0xE, 4 },
02768     { 0xB, 7 },
02769     { 0x9, 7 }
02770   },
02771   {  /* AC bias group 4, table 4 */
02772     { 0x2, 3 },
02773     { 0xE, 4 },
02774     { 0x1E, 5 },
02775     { 0xC, 4 },
02776     { 0x1F, 5 },
02777     { 0x6E, 7 },
02778     { 0xAD, 10 },
02779     { 0xAF, 10 },
02780     { 0x14, 7 },
02781     { 0x4, 3 },
02782     { 0x3, 3 },
02783     { 0x1A, 5 },
02784     { 0x17, 5 },
02785     { 0x2A, 8 },
02786     { 0x576, 13 },
02787     { 0xAEF, 14 },
02788     { 0xAEE, 14 },
02789     { 0x571, 13 },
02790     { 0x570, 13 },
02791     { 0x573, 13 },
02792     { 0x572, 13 },
02793     { 0x575, 13 },
02794     { 0x574, 13 },
02795     { 0x3, 4 },
02796     { 0x16, 5 },
02797     { 0x4, 5 },
02798     { 0x36, 6 },
02799     { 0xB, 6 },
02800     { 0xA, 4 },
02801     { 0x0, 3 },
02802     { 0x6F, 7 },
02803     { 0xAC, 10 }
02804   },
02805   {  /* AC bias group 4, table 5 */
02806     { 0x4, 3 },
02807     { 0x5, 4 },
02808     { 0x3, 3 },
02809     { 0x1, 3 },
02810     { 0x4, 4 },
02811     { 0x2F, 6 },
02812     { 0x526, 11 },
02813     { 0x1495, 13 },
02814     { 0xA6, 8 },
02815     { 0x7, 3 },
02816     { 0x6, 3 },
02817     { 0x2D, 6 },
02818     { 0x2C, 6 },
02819     { 0x1494, 13 },
02820     { 0x1497, 13 },
02821     { 0x1496, 13 },
02822     { 0x1491, 13 },
02823     { 0x1490, 13 },
02824     { 0x1493, 13 },
02825     { 0x1492, 13 },
02826     { 0x293D, 14 },
02827     { 0x293C, 14 },
02828     { 0x293F, 14 },
02829     { 0x0, 3 },
02830     { 0x28, 6 },
02831     { 0xA5, 8 },
02832     { 0x148, 9 },
02833     { 0xA7, 8 },
02834     { 0x2E, 6 },
02835     { 0x15, 5 },
02836     { 0xA4E, 12 },
02837     { 0x293E, 14 }
02838   },
02839   {  /* AC bias group 4, table 6 */
02840     { 0x4, 3 },
02841     { 0x5, 4 },
02842     { 0x3, 3 },
02843     { 0x1, 3 },
02844     { 0x4, 4 },
02845     { 0x2F, 6 },
02846     { 0x526, 11 },
02847     { 0x1495, 13 },
02848     { 0xA6, 8 },
02849     { 0x7, 3 },
02850     { 0x6, 3 },
02851     { 0x2D, 6 },
02852     { 0x2C, 6 },
02853     { 0x1494, 13 },
02854     { 0x1497, 13 },
02855     { 0x1496, 13 },
02856     { 0x1491, 13 },
02857     { 0x1490, 13 },
02858     { 0x1493, 13 },
02859     { 0x1492, 13 },
02860     { 0x293D, 14 },
02861     { 0x293C, 14 },
02862     { 0x293F, 14 },
02863     { 0x0, 3 },
02864     { 0x28, 6 },
02865     { 0xA5, 8 },
02866     { 0x148, 9 },
02867     { 0xA7, 8 },
02868     { 0x2E, 6 },
02869     { 0x15, 5 },
02870     { 0xA4E, 12 },
02871     { 0x293E, 14 }
02872   },
02873   {  /* AC bias group 4, table 7 */
02874     { 0x4, 3 },
02875     { 0x5, 4 },
02876     { 0x3, 3 },
02877     { 0x1, 3 },
02878     { 0x4, 4 },
02879     { 0x2F, 6 },
02880     { 0x526, 11 },
02881     { 0x1495, 13 },
02882     { 0xA6, 8 },
02883     { 0x7, 3 },
02884     { 0x6, 3 },
02885     { 0x2D, 6 },
02886     { 0x2C, 6 },
02887     { 0x1494, 13 },
02888     { 0x1497, 13 },
02889     { 0x1496, 13 },
02890     { 0x1491, 13 },
02891     { 0x1490, 13 },
02892     { 0x1493, 13 },
02893     { 0x1492, 13 },
02894     { 0x293D, 14 },
02895     { 0x293C, 14 },
02896     { 0x293F, 14 },
02897     { 0x0, 3 },
02898     { 0x28, 6 },
02899     { 0xA5, 8 },
02900     { 0x148, 9 },
02901     { 0xA7, 8 },
02902     { 0x2E, 6 },
02903     { 0x15, 5 },
02904     { 0xA4E, 12 },
02905     { 0x293E, 14 }
02906   },
02907   {  /* AC bias group 4, table 8 */
02908     { 0x3, 3 },
02909     { 0x11, 5 },
02910     { 0x20, 6 },
02911     { 0x74, 7 },
02912     { 0x10D, 9 },
02913     { 0x863, 12 },
02914     { 0x860, 12 },
02915     { 0xA, 5 },
02916     { 0x75, 7 },
02917     { 0x1, 3 },
02918     { 0x0, 3 },
02919     { 0xB, 4 },
02920     { 0xA, 4 },
02921     { 0x18, 5 },
02922     { 0x38, 6 },
02923     { 0x42, 7 },
02924     { 0x10F, 9 },
02925     { 0x10E, 9 },
02926     { 0x219, 10 },
02927     { 0x10C3, 13 },
02928     { 0x10C2, 13 },
02929     { 0x10C5, 13 },
02930     { 0x10C4, 13 },
02931     { 0xF, 4 },
02932     { 0x4, 4 },
02933     { 0x19, 5 },
02934     { 0xB, 5 },
02935     { 0x39, 6 },
02936     { 0x9, 4 },
02937     { 0x1B, 5 },
02938     { 0x1A, 5 },
02939     { 0x3B, 6 }
02940   },
02941   {  /* AC bias group 4, table 9 */
02942     { 0x5, 3 },
02943     { 0x1, 4 },
02944     { 0x3E, 6 },
02945     { 0x1, 5 },
02946     { 0xE2, 8 },
02947     { 0x1C6F, 13 },
02948     { 0x38D9, 14 },
02949     { 0x39, 6 },
02950     { 0x1F, 6 },
02951     { 0x2, 3 },
02952     { 0x1, 3 },
02953     { 0x9, 4 },
02954     { 0x8, 4 },
02955     { 0x0, 5 },
02956     { 0x70, 7 },
02957     { 0x1C7, 9 },
02958     { 0x38C, 10 },
02959     { 0x71A, 11 },
02960     { 0x38D8, 14 },
02961     { 0x38DB, 14 },
02962     { 0x38DA, 14 },
02963     { 0x38DD, 14 },
02964     { 0x38DC, 14 },
02965     { 0xD, 4 },
02966     { 0x1D, 5 },
02967     { 0xE, 5 },
02968     { 0x3F, 6 },
02969     { 0x3C, 6 },
02970     { 0xC, 4 },
02971     { 0x6, 4 },
02972     { 0x3D, 6 },
02973     { 0x1E, 6 }
02974   },
02975   {  /* AC bias group 4, table 10 */
02976     { 0x6, 3 },
02977     { 0xB, 4 },
02978     { 0x11, 5 },
02979     { 0x1E, 5 },
02980     { 0x74, 7 },
02981     { 0x3AA, 10 },
02982     { 0x1D5C, 13 },
02983     { 0x1, 6 },
02984     { 0x21, 6 },
02985     { 0x1, 3 },
02986     { 0x2, 3 },
02987     { 0x7, 4 },
02988     { 0x6, 4 },
02989     { 0x3E, 6 },
02990     { 0xEB, 8 },
02991     { 0x1D4, 9 },
02992     { 0xEAF, 12 },
02993     { 0x3ABB, 14 },
02994     { 0x3ABA, 14 },
02995     { 0x1D59, 13 },
02996     { 0x1D58, 13 },
02997     { 0x1D5B, 13 },
02998     { 0x1D5A, 13 },
02999     { 0xA, 4 },
03000     { 0x1C, 5 },
03001     { 0x1, 5 },
03002     { 0x3F, 6 },
03003     { 0x3B, 6 },
03004     { 0x1, 4 },
03005     { 0x9, 4 },
03006     { 0x20, 6 },
03007     { 0x0, 6 }
03008   },
03009   {  /* AC bias group 4, table 11 */
03010     { 0x4, 3 },
03011     { 0xA, 4 },
03012     { 0x17, 5 },
03013     { 0x4, 4 },
03014     { 0x16, 6 },
03015     { 0x16A, 9 },
03016     { 0x16B1, 13 },
03017     { 0x17, 7 },
03018     { 0x5B, 7 },
03019     { 0x6, 3 },
03020     { 0x7, 3 },
03021     { 0x1, 4 },
03022     { 0x0, 4 },
03023     { 0xA, 6 },
03024     { 0x2D7, 10 },
03025     { 0xB5A, 12 },
03026     { 0x16B0, 13 },
03027     { 0x16B3, 13 },
03028     { 0x16B2, 13 },
03029     { 0x2D6D, 14 },
03030     { 0x2D6C, 14 },
03031     { 0x2D6F, 14 },
03032     { 0x2D6E, 14 },
03033     { 0x6, 4 },
03034     { 0xA, 5 },
03035     { 0x4, 5 },
03036     { 0x2C, 6 },
03037     { 0x17, 6 },
03038     { 0x3, 4 },
03039     { 0x7, 4 },
03040     { 0x16, 7 },
03041     { 0xB4, 8 }
03042   },
03043   {  /* AC bias group 4, table 12 */
03044     { 0x5, 3 },
03045     { 0xD, 4 },
03046     { 0x5, 4 },
03047     { 0x9, 4 },
03048     { 0x33, 6 },
03049     { 0x193, 9 },
03050     { 0x192C, 13 },
03051     { 0x61, 8 },
03052     { 0x31, 7 },
03053     { 0x0, 2 },
03054     { 0x7, 3 },
03055     { 0x10, 5 },
03056     { 0x11, 5 },
03057     { 0xC8, 8 },
03058     { 0x192F, 13 },
03059     { 0x325B, 14 },
03060     { 0x325A, 14 },
03061     { 0x1929, 13 },
03062     { 0x1928, 13 },
03063     { 0x192B, 13 },
03064     { 0x192A, 13 },
03065     { 0x325D, 14 },
03066     { 0x325C, 14 },
03067     { 0x18, 5 },
03068     { 0x1A, 6 },
03069     { 0x1B, 6 },
03070     { 0x65, 7 },
03071     { 0x19, 6 },
03072     { 0x4, 4 },
03073     { 0x7, 4 },
03074     { 0x60, 8 },
03075     { 0x324, 10 }
03076   },
03077   {  /* AC bias group 4, table 13 */
03078     { 0x6, 3 },
03079     { 0x0, 3 },
03080     { 0x2, 4 },
03081     { 0xF, 4 },
03082     { 0x39, 6 },
03083     { 0x1D9, 9 },
03084     { 0x1D82, 13 },
03085     { 0x761, 11 },
03086     { 0x3BE, 10 },
03087     { 0x1, 2 },
03088     { 0x2, 2 },
03089     { 0xF, 6 },
03090     { 0xE, 6 },
03091     { 0x762, 11 },
03092     { 0x3B07, 14 },
03093     { 0x3B06, 14 },
03094     { 0x3B1D, 14 },
03095     { 0x3B1C, 14 },
03096     { 0x3B1F, 14 },
03097     { 0x3B1E, 14 },
03098     { 0x3B19, 14 },
03099     { 0x3B18, 14 },
03100     { 0x3B1B, 14 },
03101     { 0x38, 6 },
03102     { 0x1DE, 9 },
03103     { 0xED, 8 },
03104     { 0x3BF, 10 },
03105     { 0xEE, 8 },
03106     { 0x3A, 6 },
03107     { 0x6, 5 },
03108     { 0xEC0, 12 },
03109     { 0x3B1A, 14 }
03110   },
03111   {  /* AC bias group 4, table 14 */
03112     { 0x0, 2 },
03113     { 0x2, 3 },
03114     { 0xF, 5 },
03115     { 0x6, 4 },
03116     { 0x1C, 6 },
03117     { 0x1D0, 10 },
03118     { 0xE8C, 13 },
03119     { 0x1D1B, 14 },
03120     { 0x1D1A, 14 },
03121     { 0x3, 2 },
03122     { 0x2, 2 },
03123     { 0xEA, 9 },
03124     { 0xE9, 9 },
03125     { 0xE89, 13 },
03126     { 0xE88, 13 },
03127     { 0xE8B, 13 },
03128     { 0xE8A, 13 },
03129     { 0x1D65, 14 },
03130     { 0x1D64, 14 },
03131     { 0x1D67, 14 },
03132     { 0x1D66, 14 },
03133     { 0x1D61, 14 },
03134     { 0x1D60, 14 },
03135     { 0x3AD, 11 },
03136     { 0x1D63, 14 },
03137     { 0x1D62, 14 },
03138     { 0x1D1D, 14 },
03139     { 0x1D1C, 14 },
03140     { 0x3B, 7 },
03141     { 0x1D7, 10 },
03142     { 0x1D1F, 14 },
03143     { 0x1D1E, 14 }
03144   },
03145   {  /* AC bias group 4, table 15 */
03146     { 0x2, 2 },
03147     { 0xF, 4 },
03148     { 0x1C, 5 },
03149     { 0xC, 4 },
03150     { 0x3B, 6 },
03151     { 0x1AC, 9 },
03152     { 0x1AD8, 13 },
03153     { 0x35B3, 14 },
03154     { 0x35B2, 14 },
03155     { 0x1, 2 },
03156     { 0x0, 2 },
03157     { 0x69, 7 },
03158     { 0x68, 7 },
03159     { 0x35BD, 14 },
03160     { 0x35BC, 14 },
03161     { 0x35BF, 14 },
03162     { 0x35BE, 14 },
03163     { 0x35B9, 14 },
03164     { 0x35B8, 14 },
03165     { 0x35BB, 14 },
03166     { 0x35BA, 14 },
03167     { 0x35B5, 14 },
03168     { 0x35B4, 14 },
03169     { 0x1A9, 9 },
03170     { 0x1A8, 9 },
03171     { 0x35A, 10 },
03172     { 0xD7, 8 },
03173     { 0xD5, 8 },
03174     { 0x3A, 6 },
03175     { 0x1B, 5 },
03176     { 0x35B7, 14 },
03177     { 0x35B6, 14 }
03178   }
03179 };
03180 
03181 #endif /* AVCODEC_VP3DATA_H */

Generated on Fri Sep 16 2011 17:17:45 for FFmpeg by  doxygen 1.7.1