Replace ASMALIGN() with .p2align
[ffmpeg.git] / libavcodec / vp3data.h
1 /*
2  * copyright (C) 2003 the ffmpeg project
3  *
4  * This file is part of FFmpeg.
5  *
6  * FFmpeg is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * FFmpeg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with FFmpeg; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20
21 #ifndef AVCODEC_VP3DATA_H
22 #define AVCODEC_VP3DATA_H
23
24 #include <stdint.h>
25 #include <stdlib.h>
26
27 /* these coefficients dequantize intraframe Y plane coefficients
28  * (note: same as JPEG) */
29 static const int16_t vp31_intra_y_dequant[64] =
30 {       16,  11,  10,  16,  24,  40,  51,  61,
31         12,  12,  14,  19,  26,  58,  60,  55,
32         14,  13,  16,  24,  40,  57,  69,  56,
33         14,  17,  22,  29,  51,  87,  80,  62,
34         18,  22,  37,  58,  68, 109, 103,  77,
35         24,  35,  55,  64,  81, 104, 113,  92,
36         49,  64,  78,  87, 103, 121, 120, 101,
37         72,  92,  95,  98, 112, 100, 103,  99
38 };
39
40 /* these coefficients dequantize intraframe C plane coefficients
41  * (note: same as JPEG) */
42 static const int16_t vp31_intra_c_dequant[64] =
43 {       17,  18,     24,     47,     99,     99,     99,     99,
44         18,  21,     26,     66,     99,     99,     99,     99,
45         24,  26,     56,     99,     99,     99,     99,     99,
46         47,  66,     99,     99,     99,     99,     99,     99,
47         99,  99,     99,     99,     99,     99,     99,     99,
48         99,  99,     99,     99,     99,     99,     99,     99,
49         99,  99,     99,     99,     99,     99,     99,     99,
50         99,  99,     99,     99,     99,     99,     99,     99
51 };
52
53 /* these coefficients dequantize interframe coefficients (all planes) */
54 static const int16_t vp31_inter_dequant[64] =
55 {   16,  16,  16,  20,  24,  28,  32,  40,
56     16,  16,  20,  24,  28,  32,  40,  48,
57     16,  20,  24,  28,  32,  40,  48,  64,
58     20,  24,  28,  32,  40,  48,  64,  64,
59     24,  28,  32,  40,  48,  64,  64,  64,
60     28,  32,  40,  48,  64,  64,  64,  96,
61     32,  40,  48,  64,  64,  64,  96,  128,
62     40,  48,  64,  64,  64,  96,  128, 128
63 };
64
65 static const int16_t vp31_dc_scale_factor[64] =
66 { 220, 200, 190, 180, 170, 170, 160, 160,
67   150, 150, 140, 140, 130, 130, 120, 120,
68   110, 110, 100, 100, 90,  90,  90,  80,
69   80,  80,  70,  70,  70,  60,  60,  60,
70   60,  50,  50,  50,  50,  40,  40,  40,
71   40,  40,  30,  30,  30,  30,  30,  30,
72   30,  20,  20,  20,  20,  20,  20,  20,
73   20,  10,  10,  10,  10,  10,  10,  10
74 };
75
76 static const uint32_t vp31_ac_scale_factor[64] =
77 { 500,  450,  400,  370,  340,  310, 285, 265,
78   245,  225,  210,  195,  185,  180, 170, 160,
79   150,  145,  135,  130,  125,  115, 110, 107,
80   100,   96,   93,   89,   85,   82,  75,  74,
81    70,   68,   64,   60,   57,   56,  52,  50,
82    49,   45,   44,   43,   40,   38,  37,  35,
83    33,   32,   30,   29,   28,   25,  24,  22,
84    21,   19,   18,   17,   15,   13,  12,  10
85 };
86
87 static const uint8_t vp31_filter_limit_values[64] =
88 {  30, 25, 20, 20, 15, 15, 14, 14,
89    13, 13, 12, 12, 11, 11, 10, 10,
90     9,  9,  8,  8,  7,  7,  7,  7,
91     6,  6,  6,  6,  5,  5,  5,  5,
92     4,  4,  4,  4,  3,  3,  3,  3,
93     2,  2,  2,  2,  2,  2,  2,  2,
94     0,  0,  0,  0,  0,  0,  0,  0,
95     0,  0,  0,  0,  0,  0,  0,  0
96 };
97
98 static const uint16_t superblock_run_length_vlc_table[34][2] = {
99     { 0, 1 },
100
101     { 4, 3 },    { 5, 3 },
102
103     { 0xC, 4 },  { 0xD, 4 },
104
105     { 0x38, 6 },    { 0x39, 6 },    { 0x3A, 6 },    { 0x3B, 6 },
106
107     { 0xF0, 8 },    { 0xF1, 8 },    { 0xF2, 8 },    { 0xF3, 8 },
108     { 0xF4, 8 },    { 0xF5, 8 },    { 0xF6, 8 },    { 0xF7, 8 },
109
110     { 0x3E0, 10 },    { 0x3E1, 10 },    { 0x3E2, 10 },    { 0x3E3, 10 },
111     { 0x3E4, 10 },    { 0x3E5, 10 },    { 0x3E6, 10 },    { 0x3E7, 10 },
112     { 0x3E8, 10 },    { 0x3E9, 10 },    { 0x3EA, 10 },    { 0x3EB, 10 },
113     { 0x3EC, 10 },    { 0x3ED, 10 },    { 0x3EE, 10 },    { 0x3EF, 10 },
114
115     { 0x3F, 6 }  /* this last VLC is a special case for reading 12 more
116                     bits from stream and adding the value 34 */
117 };
118
119 static const uint16_t fragment_run_length_vlc_table[30][2] = {
120     /* 1 -> 2 */
121     { 0x0, 2 },    { 0x1, 2 },
122
123     /* 3 -> 4 */
124     { 0x4, 3 },    { 0x5, 3 },
125
126     /* 5 -> 6 */
127     { 0xC, 4 },    { 0xD, 4 },
128
129     /* 7 -> 10 */
130     { 0x38, 6 },   { 0x39, 6 },
131     { 0x3A, 6 },   { 0x3B, 6 },
132
133     /* 11 -> 14 */
134     { 0x78, 7 },   { 0x79, 7 },
135     { 0x7A, 7 },   { 0x7B, 7 },
136
137     /* 15 -> 30 */
138     { 0x1F0, 9 },  { 0x1F1, 9 },  { 0x1F2, 9 },  { 0x1F3, 9 },
139     { 0x1F4, 9 },  { 0x1F5, 9 },  { 0x1F6, 9 },  { 0x1F7, 9 },
140     { 0x1F8, 9 },  { 0x1F9, 9 },  { 0x1FA, 9 },  { 0x1FB, 9 },
141     { 0x1FC, 9 },  { 0x1FD, 9 },  { 0x1FE, 9 },  { 0x1FF, 9 }
142 };
143
144 static const uint8_t mode_code_vlc_table[8][2] = {
145     { 0, 1 },      { 2, 2 },
146     { 6, 3 },      { 14, 4 },
147     { 30, 5 },     { 62, 6 },
148     { 126, 7 },    { 127, 7 }
149 };
150
151 static const uint8_t motion_vector_vlc_table[63][2] = {
152     { 0, 3 },
153     { 1, 3 },
154     { 2, 3 },
155
156     { 6, 4 },    { 7, 4 },
157
158     { 8, 4 },    { 9, 4 },
159
160     { 40, 6 },    { 41, 6 },    { 42, 6 },    { 43, 6 },
161     { 44, 6 },    { 45, 6 },    { 46, 6 },    { 47, 6 },
162
163     { 96, 7 },    { 97, 7 },    { 98, 7 },    { 99, 7 },
164     { 100, 7 },   { 101, 7 },   { 102, 7 },   { 103, 7 },
165     { 104, 7 },   { 105, 7 },   { 106, 7 },   { 107, 7 },
166     { 108, 7 },   { 109, 7 },   { 110, 7 },   { 111, 7 },
167
168     { 0xE0, 8 },  { 0xE1, 8 },  { 0xE2, 8 },  { 0xE3, 8 },
169     { 0xE4, 8 },  { 0xE5, 8 },  { 0xE6, 8 },  { 0xE7, 8 },
170     { 0xE8, 8 },  { 0xE9, 8 },  { 0xEA, 8 },  { 0xEB, 8 },
171     { 0xEC, 8 },  { 0xED, 8 },  { 0xEE, 8 },  { 0xEF, 8 },
172
173     { 0xF0, 8 },  { 0xF1, 8 },  { 0xF2, 8 },  { 0xF3, 8 },
174     { 0xF4, 8 },  { 0xF5, 8 },  { 0xF6, 8 },  { 0xF7, 8 },
175     { 0xF8, 8 },  { 0xF9, 8 },  { 0xFA, 8 },  { 0xFB, 8 },
176     { 0xFC, 8 },  { 0xFD, 8 },  { 0xFE, 8 },  { 0xFF, 8 }
177 };
178
179 static const int motion_vector_table[63] = {
180     0, 1, -1,
181     2, -2,
182     3, -3,
183     4, -4, 5, -5, 6, -6, 7, -7,
184     8, -8, 9, -9, 10, -10, 11, -11, 12, -12, 13, -13, 14, -14, 15, -15,
185     16, -16, 17, -17, 18, -18, 19, -19, 20, -20, 21, -21, 22, -22, 23, -23,
186     24, -24, 25, -25, 26, -26, 27, -27, 28, -28, 29, -29, 30, -30, 31, -31
187 };
188
189 static const int8_t fixed_motion_vector_table[64] = {
190    0,   0,   1,  -1,   2,  -2,   3,  -3,
191    4,  -4,   5,  -5,   6,  -6,   7,  -7,
192    8,  -8,   9,  -9,  10, -10,  11, -11,
193   12, -12,  13, -13,  14, -14,  15, -15,
194   16, -16,  17, -17,  18, -18,  19, -19,
195   20, -20,  21, -21,  22, -22,  23, -23,
196   24, -24,  25, -25,  26, -26,  27, -27,
197   28, -28,  29, -29,  30, -30,  31, -31
198 };
199
200 /* only tokens 0..6 indicate eob runs */
201 static const int eob_run_base[7] = {
202     1, 2, 3, 4, 8, 16, 0
203 };
204 static const int eob_run_get_bits[7] = {
205     0, 0, 0, 2, 3, 4, 12
206 };
207
208 static const int zero_run_base[32] = {
209     0, 0, 0, 0, 0, 0, 0,  /* 0..6 are never used */
210     0, 0,  /* 7..8 */
211     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  /* 9..22 */
212     1, 2, 3, 4, 5,  /* 23..27 */
213     6, 10, 1, 2  /* 28..31 */
214 };
215 static const int zero_run_get_bits[32] = {
216     0, 0, 0, 0, 0, 0, 0,  /* 0..6 are never used */
217     3, 6,  /* 7..8 */
218     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  /* 9..22 */
219     0, 0, 0, 0, 0,  /* 23..27 */
220     2, 3, 0, 1  /* 28..31 */
221 };
222
223 static const int coeff_get_bits[32] = {
224     0, 0, 0, 0, 0, 0, 0,  /* 0..6 are never used */
225     0, 0, 0, 0, 0, 0,  /* 7..12 use constant coeffs */
226     1, 1, 1, 1,  /* 13..16 are constants but still need sign bit */
227     2, 3, 4, 5, 6, 10,  /* 17..22, for reading large coeffs */
228     1, 1, 1, 1, 1, 1, 1,  /* 23..29 are constants but still need sign bit */
229     2, 2  /* 30..31 */
230 };
231
232 static const int16_t coeff_table_token_7_8[1] = { 0 };
233 static const int16_t coeff_table_token_9[1] = { 1 };
234 static const int16_t coeff_table_token_10[1] = { -1 };
235 static const int16_t coeff_table_token_11[1] = { 2 };
236 static const int16_t coeff_table_token_12[1] = { -2 };
237
238 static const int16_t coeff_table_token_13[2] = { 3, -3 };
239 static const int16_t coeff_table_token_14[2] = { 4, -4 };
240 static const int16_t coeff_table_token_15[2] = { 5, -5 };
241 static const int16_t coeff_table_token_16[2] = { 6, -6 };
242
243 static const int16_t coeff_table_token_23_24_25_26_27_28_29[2] = { 1, -1 };
244 static const int16_t coeff_table_token_30[4] = { 2, 3, -2, -3 };
245 static const int16_t coeff_table_token_31[4] = { 2, 3, -2, -3 };
246
247 static const int16_t coeff_table_token_17[4] = {
248     7, 8, -7, -8
249 };
250
251 static const int16_t coeff_table_token_18[8] = {
252     9, 10, 11, 12, -9, -10, -11, -12
253 };
254
255 static const int16_t coeff_table_token_19[16] = {
256     13, 14, 15, 16, 17, 18, 19, 20, -13, -14, -15, -16, -17, -18, -19, -20
257 };
258
259 static const int16_t coeff_table_token_20[32] = {
260     21, 22, 23, 24, 25, 26, 27, 28,
261     29, 30, 31, 32, 33, 34, 35, 36,
262     -21, -22, -23, -24, -25, -26, -27, -28,
263     -29, -30, -31, -32, -33, -34, -35, -36
264 };
265
266 static const int16_t coeff_table_token_21[64] = {
267     37, 38, 39, 40, 41, 42, 43, 44,
268     45, 46, 47, 48, 49, 50, 51, 52,
269     53, 54, 55, 56, 57, 58, 59, 60,
270     61, 62, 63, 64, 65, 66, 67, 68,
271     -37, -38, -39, -40, -41, -42, -43, -44,
272     -45, -46, -47, -48, -49, -50, -51, -52,
273     -53, -54, -55, -56, -57, -58, -59, -60,
274     -61, -62, -63, -64, -65, -66, -67, -68
275 };
276
277 static const int16_t coeff_table_token_22[1024] = {
278     69, 70, 71, 72, 73, 74, 75, 76,
279     77, 78, 79, 80, 81, 82, 83, 84,
280     85, 86, 87, 88, 89, 90, 91, 92,
281     93, 94, 95, 96, 97, 98, 99, 100,
282     101, 102, 103, 104, 105, 106, 107, 108,
283     109, 110, 111, 112, 113, 114, 115, 116,
284     117, 118, 119, 120, 121, 122, 123, 124,
285     125, 126, 127, 128, 129, 130, 131, 132,
286     133, 134, 135, 136, 137, 138, 139, 140,
287     141, 142, 143, 144, 145, 146, 147, 148,
288     149, 150, 151, 152, 153, 154, 155, 156,
289     157, 158, 159, 160, 161, 162, 163, 164,
290     165, 166, 167, 168, 169, 170, 171, 172,
291     173, 174, 175, 176, 177, 178, 179, 180,
292     181, 182, 183, 184, 185, 186, 187, 188,
293     189, 190, 191, 192, 193, 194, 195, 196,
294     197, 198, 199, 200, 201, 202, 203, 204,
295     205, 206, 207, 208, 209, 210, 211, 212,
296     213, 214, 215, 216, 217, 218, 219, 220,
297     221, 222, 223, 224, 225, 226, 227, 228,
298     229, 230, 231, 232, 233, 234, 235, 236,
299     237, 238, 239, 240, 241, 242, 243, 244,
300     245, 246, 247, 248, 249, 250, 251, 252,
301     253, 254, 255, 256, 257, 258, 259, 260,
302     261, 262, 263, 264, 265, 266, 267, 268,
303     269, 270, 271, 272, 273, 274, 275, 276,
304     277, 278, 279, 280, 281, 282, 283, 284,
305     285, 286, 287, 288, 289, 290, 291, 292,
306     293, 294, 295, 296, 297, 298, 299, 300,
307     301, 302, 303, 304, 305, 306, 307, 308,
308     309, 310, 311, 312, 313, 314, 315, 316,
309     317, 318, 319, 320, 321, 322, 323, 324,
310     325, 326, 327, 328, 329, 330, 331, 332,
311     333, 334, 335, 336, 337, 338, 339, 340,
312     341, 342, 343, 344, 345, 346, 347, 348,
313     349, 350, 351, 352, 353, 354, 355, 356,
314     357, 358, 359, 360, 361, 362, 363, 364,
315     365, 366, 367, 368, 369, 370, 371, 372,
316     373, 374, 375, 376, 377, 378, 379, 380,
317     381, 382, 383, 384, 385, 386, 387, 388,
318     389, 390, 391, 392, 393, 394, 395, 396,
319     397, 398, 399, 400, 401, 402, 403, 404,
320     405, 406, 407, 408, 409, 410, 411, 412,
321     413, 414, 415, 416, 417, 418, 419, 420,
322     421, 422, 423, 424, 425, 426, 427, 428,
323     429, 430, 431, 432, 433, 434, 435, 436,
324     437, 438, 439, 440, 441, 442, 443, 444,
325     445, 446, 447, 448, 449, 450, 451, 452,
326     453, 454, 455, 456, 457, 458, 459, 460,
327     461, 462, 463, 464, 465, 466, 467, 468,
328     469, 470, 471, 472, 473, 474, 475, 476,
329     477, 478, 479, 480, 481, 482, 483, 484,
330     485, 486, 487, 488, 489, 490, 491, 492,
331     493, 494, 495, 496, 497, 498, 499, 500,
332     501, 502, 503, 504, 505, 506, 507, 508,
333     509, 510, 511, 512, 513, 514, 515, 516,
334     517, 518, 519, 520, 521, 522, 523, 524,
335     525, 526, 527, 528, 529, 530, 531, 532,
336     533, 534, 535, 536, 537, 538, 539, 540,
337     541, 542, 543, 544, 545, 546, 547, 548,
338     549, 550, 551, 552, 553, 554, 555, 556,
339     557, 558, 559, 560, 561, 562, 563, 564,
340     565, 566, 567, 568, 569, 570, 571, 572,
341     573, 574, 575, 576, 577, 578, 579, 580,
342     -69, -70, -71, -72, -73, -74, -75, -76,
343     -77, -78, -79, -80, -81, -82, -83, -84,
344     -85, -86, -87, -88, -89, -90, -91, -92,
345     -93, -94, -95, -96, -97, -98, -99, -100,
346     -101, -102, -103, -104, -105, -106, -107, -108,
347     -109, -110, -111, -112, -113, -114, -115, -116,
348     -117, -118, -119, -120, -121, -122, -123, -124,
349     -125, -126, -127, -128, -129, -130, -131, -132,
350     -133, -134, -135, -136, -137, -138, -139, -140,
351     -141, -142, -143, -144, -145, -146, -147, -148,
352     -149, -150, -151, -152, -153, -154, -155, -156,
353     -157, -158, -159, -160, -161, -162, -163, -164,
354     -165, -166, -167, -168, -169, -170, -171, -172,
355     -173, -174, -175, -176, -177, -178, -179, -180,
356     -181, -182, -183, -184, -185, -186, -187, -188,
357     -189, -190, -191, -192, -193, -194, -195, -196,
358     -197, -198, -199, -200, -201, -202, -203, -204,
359     -205, -206, -207, -208, -209, -210, -211, -212,
360     -213, -214, -215, -216, -217, -218, -219, -220,
361     -221, -222, -223, -224, -225, -226, -227, -228,
362     -229, -230, -231, -232, -233, -234, -235, -236,
363     -237, -238, -239, -240, -241, -242, -243, -244,
364     -245, -246, -247, -248, -249, -250, -251, -252,
365     -253, -254, -255, -256, -257, -258, -259, -260,
366     -261, -262, -263, -264, -265, -266, -267, -268,
367     -269, -270, -271, -272, -273, -274, -275, -276,
368     -277, -278, -279, -280, -281, -282, -283, -284,
369     -285, -286, -287, -288, -289, -290, -291, -292,
370     -293, -294, -295, -296, -297, -298, -299, -300,
371     -301, -302, -303, -304, -305, -306, -307, -308,
372     -309, -310, -311, -312, -313, -314, -315, -316,
373     -317, -318, -319, -320, -321, -322, -323, -324,
374     -325, -326, -327, -328, -329, -330, -331, -332,
375     -333, -334, -335, -336, -337, -338, -339, -340,
376     -341, -342, -343, -344, -345, -346, -347, -348,
377     -349, -350, -351, -352, -353, -354, -355, -356,
378     -357, -358, -359, -360, -361, -362, -363, -364,
379     -365, -366, -367, -368, -369, -370, -371, -372,
380     -373, -374, -375, -376, -377, -378, -379, -380,
381     -381, -382, -383, -384, -385, -386, -387, -388,
382     -389, -390, -391, -392, -393, -394, -395, -396,
383     -397, -398, -399, -400, -401, -402, -403, -404,
384     -405, -406, -407, -408, -409, -410, -411, -412,
385     -413, -414, -415, -416, -417, -418, -419, -420,
386     -421, -422, -423, -424, -425, -426, -427, -428,
387     -429, -430, -431, -432, -433, -434, -435, -436,
388     -437, -438, -439, -440, -441, -442, -443, -444,
389     -445, -446, -447, -448, -449, -450, -451, -452,
390     -453, -454, -455, -456, -457, -458, -459, -460,
391     -461, -462, -463, -464, -465, -466, -467, -468,
392     -469, -470, -471, -472, -473, -474, -475, -476,
393     -477, -478, -479, -480, -481, -482, -483, -484,
394     -485, -486, -487, -488, -489, -490, -491, -492,
395     -493, -494, -495, -496, -497, -498, -499, -500,
396     -501, -502, -503, -504, -505, -506, -507, -508,
397     -509, -510, -511, -512, -513, -514, -515, -516,
398     -517, -518, -519, -520, -521, -522, -523, -524,
399     -525, -526, -527, -528, -529, -530, -531, -532,
400     -533, -534, -535, -536, -537, -538, -539, -540,
401     -541, -542, -543, -544, -545, -546, -547, -548,
402     -549, -550, -551, -552, -553, -554, -555, -556,
403     -557, -558, -559, -560, -561, -562, -563, -564,
404     -565, -566, -567, -568, -569, -570, -571, -572,
405     -573, -574, -575, -576, -577, -578, -579, -580
406 };
407
408 static const int16_t *const coeff_tables[32] = {
409     NULL,
410     NULL,
411     NULL,
412     NULL,
413     NULL,
414     NULL,
415     NULL,
416     coeff_table_token_7_8,
417
418     coeff_table_token_7_8,
419     coeff_table_token_9,
420     coeff_table_token_10,
421     coeff_table_token_11,
422     coeff_table_token_12,
423     coeff_table_token_13,
424     coeff_table_token_14,
425     coeff_table_token_15,
426
427     coeff_table_token_16,
428     coeff_table_token_17,
429     coeff_table_token_18,
430     coeff_table_token_19,
431     coeff_table_token_20,
432     coeff_table_token_21,
433     coeff_table_token_22,
434     coeff_table_token_23_24_25_26_27_28_29,
435
436     coeff_table_token_23_24_25_26_27_28_29,
437     coeff_table_token_23_24_25_26_27_28_29,
438     coeff_table_token_23_24_25_26_27_28_29,
439     coeff_table_token_23_24_25_26_27_28_29,
440     coeff_table_token_23_24_25_26_27_28_29,
441     coeff_table_token_23_24_25_26_27_28_29,
442     coeff_table_token_30,
443     coeff_table_token_31
444 };
445
446 static const uint16_t dc_bias[16][32][2] = {
447   {  /* DC bias table 0 */
448     { 0x2D, 6 },
449     { 0x26, 7 },
450     { 0x166, 9 },
451     { 0x4E, 8 },
452     { 0x2CE, 10 },
453     { 0x59E, 11 },
454     { 0x27D, 11 },
455     { 0x8, 5 },
456     { 0x4F9, 12 },
457     { 0xF, 4 },
458     { 0xE, 4 },
459     { 0x1B, 5 },
460     { 0x6, 4 },
461     { 0x8, 4 },
462     { 0x5, 4 },
463     { 0x1A, 5 },
464     { 0x15, 5 },
465     { 0x7, 4 },
466     { 0xC, 4 },
467     { 0x1, 3 },
468     { 0x0, 3 },
469     { 0x9, 4 },
470     { 0x17, 5 },
471     { 0x29, 6 },
472     { 0x28, 6 },
473     { 0xB2, 8 },
474     { 0x4F8, 12 },
475     { 0x59F, 11 },
476     { 0x9E, 9 },
477     { 0x13F, 10 },
478     { 0x12, 6 },
479     { 0x58, 7 }
480   },
481   {  /* DC bias table 1 */
482     { 0x10, 5 },
483     { 0x47, 7 },
484     { 0x1FF, 9 },
485     { 0x8C, 8 },
486     { 0x3FC, 10 },
487     { 0x46A, 11 },
488     { 0x469, 11 },
489     { 0x22, 6 },
490     { 0x11A1, 13 },
491     { 0xE, 4 },
492     { 0xD, 4 },
493     { 0x4, 4 },
494     { 0x5, 4 },
495     { 0x9, 4 },
496     { 0x6, 4 },
497     { 0x1E, 5 },
498     { 0x16, 5 },
499     { 0x7, 4 },
500     { 0xC, 4 },
501     { 0x1, 3 },
502     { 0x0, 3 },
503     { 0xA, 4 },
504     { 0x17, 5 },
505     { 0x7D, 7 },
506     { 0x7E, 7 },
507     { 0x11B, 9 },
508     { 0x8D1, 12 },
509     { 0x3FD, 10 },
510     { 0x46B, 11 },
511     { 0x11A0, 13 },
512     { 0x7C, 7 },
513     { 0xFE, 8 }
514   },
515   {  /* DC bias table 2 */
516     { 0x16, 5 },
517     { 0x20, 6 },
518     { 0x86, 8 },
519     { 0x87, 8 },
520     { 0x367, 10 },
521     { 0x6CC, 11 },
522     { 0x6CB, 11 },
523     { 0x6E, 7 },
524     { 0x366D, 14 },
525     { 0xF, 4 },
526     { 0xE, 4 },
527     { 0x4, 4 },
528     { 0x5, 4 },
529     { 0xA, 4 },
530     { 0x6, 4 },
531     { 0x1A, 5 },
532     { 0x11, 5 },
533     { 0x7, 4 },
534     { 0xC, 4 },
535     { 0x1, 3 },
536     { 0x0, 3 },
537     { 0x9, 4 },
538     { 0x17, 5 },
539     { 0x6F, 7 },
540     { 0x6D, 7 },
541     { 0x364, 10 },
542     { 0xD9A, 12 },
543     { 0x6CA, 11 },
544     { 0x1B37, 13 },
545     { 0x366C, 14 },
546     { 0x42, 7 },
547     { 0xD8, 8 }
548   },
549   {  /* DC bias table 3 */
550     { 0x0, 4 },
551     { 0x2D, 6 },
552     { 0xF7, 8 },
553     { 0x58, 7 },
554     { 0x167, 9 },
555     { 0x2CB, 10 },
556     { 0x2CA, 10 },
557     { 0xE, 6 },
558     { 0x1661, 13 },
559     { 0x3, 3 },
560     { 0x2, 3 },
561     { 0x8, 4 },
562     { 0x9, 4 },
563     { 0xD, 4 },
564     { 0x2, 4 },
565     { 0x1F, 5 },
566     { 0x17, 5 },
567     { 0x1, 4 },
568     { 0xC, 4 },
569     { 0xE, 4 },
570     { 0xA, 4 },
571     { 0x6, 5 },
572     { 0x78, 7 },
573     { 0xF, 6 },
574     { 0x7A, 7 },
575     { 0x164, 9 },
576     { 0x599, 11 },
577     { 0x2CD, 10 },
578     { 0xB31, 12 },
579     { 0x1660, 13 },
580     { 0x79, 7 },
581     { 0xF6, 8 }
582   },
583   {  /* DC bias table 4 */
584     { 0x3, 4 },
585     { 0x3C, 6 },
586     { 0xF, 7 },
587     { 0x7A, 7 },
588     { 0x1D, 8 },
589     { 0x20, 9 },
590     { 0x72, 10 },
591     { 0x6, 6 },
592     { 0x399, 13 },
593     { 0x4, 3 },
594     { 0x5, 3 },
595     { 0x5, 4 },
596     { 0x6, 4 },
597     { 0xE, 4 },
598     { 0x4, 4 },
599     { 0x0, 4 },
600     { 0x19, 5 },
601     { 0x2, 4 },
602     { 0xD, 4 },
603     { 0x7, 4 },
604     { 0x1F, 5 },
605     { 0x30, 6 },
606     { 0x11, 8 },
607     { 0x31, 6 },
608     { 0x5, 6 },
609     { 0x21, 9 },
610     { 0xE7, 11 },
611     { 0x38, 9 },
612     { 0x1CD, 12 },
613     { 0x398, 13 },
614     { 0x7B, 7 },
615     { 0x9, 7 }
616   },
617   {  /* DC bias table 5 */
618     { 0x9, 4 },
619     { 0x2, 5 },
620     { 0x74, 7 },
621     { 0x7, 6 },
622     { 0xEC, 8 },
623     { 0xD1, 9 },
624     { 0x1A6, 10 },
625     { 0x6, 6 },
626     { 0xD21, 13 },
627     { 0x5, 3 },
628     { 0x6, 3 },
629     { 0x8, 4 },
630     { 0x7, 4 },
631     { 0xF, 4 },
632     { 0x4, 4 },
633     { 0x0, 4 },
634     { 0x1C, 5 },
635     { 0x2, 4 },
636     { 0x5, 4 },
637     { 0x3, 4 },
638     { 0xC, 5 },
639     { 0x35, 7 },
640     { 0x1A7, 10 },
641     { 0x1B, 6 },
642     { 0x77, 7 },
643     { 0x1A5, 10 },
644     { 0x349, 11 },
645     { 0xD0, 9 },
646     { 0x691, 12 },
647     { 0xD20, 13 },
648     { 0x75, 7 },
649     { 0xED, 8 }
650   },
651   {  /* DC bias table 6 */
652     { 0xA, 4 },
653     { 0xC, 5 },
654     { 0x12, 6 },
655     { 0x1B, 6 },
656     { 0xB7, 8 },
657     { 0x16C, 9 },
658     { 0x99, 9 },
659     { 0x5A, 7 },
660     { 0x16D8, 13 },
661     { 0x7, 3 },
662     { 0x6, 3 },
663     { 0x9, 4 },
664     { 0x8, 4 },
665     { 0x0, 3 },
666     { 0x5, 4 },
667     { 0x17, 5 },
668     { 0xE, 5 },
669     { 0x2, 4 },
670     { 0x3, 4 },
671     { 0xF, 5 },
672     { 0x1A, 6 },
673     { 0x4D, 8 },
674     { 0x2DB3, 14 },
675     { 0x2C, 6 },
676     { 0x11, 6 },
677     { 0x2DA, 10 },
678     { 0x5B7, 11 },
679     { 0x98, 9 },
680     { 0xB6D, 12 },
681     { 0x2DB2, 14 },
682     { 0x10, 6 },
683     { 0x27, 7 }
684   },
685   {  /* DC bias table 7 */
686     { 0xD, 4 },
687     { 0xF, 5 },
688     { 0x1D, 6 },
689     { 0x8, 5 },
690     { 0x51, 7 },
691     { 0x56, 8 },
692     { 0xAF, 9 },
693     { 0x2A, 7 },
694     { 0x148A, 13 },
695     { 0x7, 3 },
696     { 0x0, 2 },
697     { 0x8, 4 },
698     { 0x9, 4 },
699     { 0xC, 4 },
700     { 0x6, 4 },
701     { 0x17, 5 },
702     { 0xB, 5 },
703     { 0x16, 5 },
704     { 0x15, 5 },
705     { 0x9, 5 },
706     { 0x50, 7 },
707     { 0xAE, 9 },
708     { 0x2917, 14 },
709     { 0x1C, 6 },
710     { 0x14, 6 },
711     { 0x290, 10 },
712     { 0x523, 11 },
713     { 0x149, 9 },
714     { 0xA44, 12 },
715     { 0x2916, 14 },
716     { 0x53, 7 },
717     { 0xA5, 8 }
718   },
719   {  /* DC bias table 8 */
720     { 0x1, 4 },
721     { 0x1D, 6 },
722     { 0xF5, 8 },
723     { 0xF4, 8 },
724     { 0x24D, 10 },
725     { 0x499, 11 },
726     { 0x498, 11 },
727     { 0x1, 5 },
728     { 0x21, 6 },
729     { 0x6, 3 },
730     { 0x5, 3 },
731     { 0x6, 4 },
732     { 0x5, 4 },
733     { 0x2, 4 },
734     { 0x7, 5 },
735     { 0x25, 6 },
736     { 0x7B, 7 },
737     { 0x1C, 6 },
738     { 0x20, 6 },
739     { 0xD, 6 },
740     { 0x48, 7 },
741     { 0x92, 8 },
742     { 0x127, 9 },
743     { 0xE, 4 },
744     { 0x4, 4 },
745     { 0x11, 5 },
746     { 0xC, 6 },
747     { 0x3C, 6 },
748     { 0xF, 5 },
749     { 0x0, 5 },
750     { 0x1F, 5 },
751     { 0x13, 5 }
752   },
753   {  /* DC bias table 9 */
754     { 0x5, 4 },
755     { 0x3C, 6 },
756     { 0x40, 7 },
757     { 0xD, 7 },
758     { 0x31, 9 },
759     { 0x61, 10 },
760     { 0x60, 10 },
761     { 0x2, 5 },
762     { 0xF5, 8 },
763     { 0x6, 3 },
764     { 0x5, 3 },
765     { 0x7, 4 },
766     { 0x6, 4 },
767     { 0x2, 4 },
768     { 0x9, 5 },
769     { 0x25, 6 },
770     { 0x7, 6 },
771     { 0x21, 6 },
772     { 0x24, 6 },
773     { 0x10, 6 },
774     { 0x41, 7 },
775     { 0xF4, 8 },
776     { 0x19, 8 },
777     { 0xE, 4 },
778     { 0x3, 4 },
779     { 0x11, 5 },
780     { 0x11, 6 },
781     { 0x3F, 6 },
782     { 0x3E, 6 },
783     { 0x7B, 7 },
784     { 0x0, 4 },
785     { 0x13, 5 }
786   },
787   {  /* DC bias table 10 */
788     { 0xA, 4 },
789     { 0x7, 5 },
790     { 0x1, 6 },
791     { 0x9, 6 },
792     { 0x131, 9 },
793     { 0x261, 10 },
794     { 0x260, 10 },
795     { 0x15, 6 },
796     { 0x1, 7 },
797     { 0x7, 3 },
798     { 0x6, 3 },
799     { 0x8, 4 },
800     { 0x7, 4 },
801     { 0x6, 4 },
802     { 0x12, 5 },
803     { 0x2F, 6 },
804     { 0x14, 6 },
805     { 0x27, 6 },
806     { 0x2D, 6 },
807     { 0x16, 6 },
808     { 0x4D, 7 },
809     { 0x99, 8 },
810     { 0x0, 7 },
811     { 0x4, 4 },
812     { 0x1, 4 },
813     { 0x5, 5 },
814     { 0x17, 6 },
815     { 0x2E, 6 },
816     { 0x2C, 6 },
817     { 0x8, 6 },
818     { 0x6, 5 },
819     { 0x1, 5 }
820   },
821   {  /* DC bias table 11 */
822     { 0x0, 3 },
823     { 0xE, 5 },
824     { 0x17, 6 },
825     { 0x2A, 6 },
826     { 0x10, 7 },
827     { 0xF9, 10 },
828     { 0xF8, 10 },
829     { 0x1E, 7 },
830     { 0x3F, 8 },
831     { 0x7, 3 },
832     { 0x6, 3 },
833     { 0x9, 4 },
834     { 0x8, 4 },
835     { 0x6, 4 },
836     { 0xF, 5 },
837     { 0x5, 5 },
838     { 0x16, 6 },
839     { 0x29, 6 },
840     { 0x2B, 6 },
841     { 0x15, 6 },
842     { 0x50, 7 },
843     { 0x11, 7 },
844     { 0x7D, 9 },
845     { 0x4, 4 },
846     { 0x17, 5 },
847     { 0x6, 5 },
848     { 0x14, 6 },
849     { 0x2C, 6 },
850     { 0x2D, 6 },
851     { 0xE, 6 },
852     { 0x9, 6 },
853     { 0x51, 7 }
854   },
855   {  /* DC bias table 12 */
856     { 0x2, 3 },
857     { 0x18, 5 },
858     { 0x2F, 6 },
859     { 0xD, 5 },
860     { 0x53, 7 },
861     { 0x295, 10 },
862     { 0x294, 10 },
863     { 0xA4, 8 },
864     { 0x7C, 8 },
865     { 0x0, 2 },
866     { 0x7, 3 },
867     { 0x9, 4 },
868     { 0x8, 4 },
869     { 0x1B, 5 },
870     { 0xC, 5 },
871     { 0x28, 6 },
872     { 0x6A, 7 },
873     { 0x1E, 6 },
874     { 0x1D, 6 },
875     { 0x69, 7 },
876     { 0xD7, 8 },
877     { 0x7D, 8 },
878     { 0x14B, 9 },
879     { 0x19, 5 },
880     { 0x16, 5 },
881     { 0x2E, 6 },
882     { 0x1C, 6 },
883     { 0x2B, 6 },
884     { 0x2A, 6 },
885     { 0x68, 7 },
886     { 0x3F, 7 },
887     { 0xD6, 8 }
888   },
889   {  /* DC bias table 13 */
890     { 0x2, 3 },
891     { 0x1B, 5 },
892     { 0xC, 5 },
893     { 0x18, 5 },
894     { 0x29, 6 },
895     { 0x7F, 8 },
896     { 0x2F0, 10 },
897     { 0x198, 9 },
898     { 0x179, 9 },
899     { 0x0, 2 },
900     { 0x7, 3 },
901     { 0x9, 4 },
902     { 0x8, 4 },
903     { 0x1A, 5 },
904     { 0xD, 5 },
905     { 0x2A, 6 },
906     { 0x64, 7 },
907     { 0x1E, 6 },
908     { 0x67, 7 },
909     { 0x5F, 7 },
910     { 0xCD, 8 },
911     { 0x7E, 8 },
912     { 0x2F1, 10 },
913     { 0x16, 5 },
914     { 0xE, 5 },
915     { 0x2E, 6 },
916     { 0x65, 7 },
917     { 0x2B, 6 },
918     { 0x28, 6 },
919     { 0x3E, 7 },
920     { 0xBD, 8 },
921     { 0x199, 9 }
922   },
923   {  /* DC bias table 14 */
924     { 0x2, 3 },
925     { 0x7, 4 },
926     { 0x16, 5 },
927     { 0x6, 4 },
928     { 0x36, 6 },
929     { 0x5C, 7 },
930     { 0x15D, 9 },
931     { 0x15C, 9 },
932     { 0x2BF, 10 },
933     { 0x0, 2 },
934     { 0x7, 3 },
935     { 0x9, 4 },
936     { 0x8, 4 },
937     { 0x18, 5 },
938     { 0x34, 6 },
939     { 0x2A, 6 },
940     { 0x5E, 7 },
941     { 0x6A, 7 },
942     { 0x64, 7 },
943     { 0x5D, 7 },
944     { 0xCB, 8 },
945     { 0xAD, 8 },
946     { 0x2BE, 10 },
947     { 0x14, 5 },
948     { 0x33, 6 },
949     { 0x6E, 7 },
950     { 0x5F, 7 },
951     { 0x6F, 7 },
952     { 0x6B, 7 },
953     { 0xCA, 8 },
954     { 0xAC, 8 },
955     { 0x15E, 9 }
956   },
957   {  /* DC bias table 15 */
958     { 0xF, 4 },
959     { 0x1D, 5 },
960     { 0x18, 5 },
961     { 0xB, 4 },
962     { 0x19, 5 },
963     { 0x29, 6 },
964     { 0xD6, 8 },
965     { 0x551, 11 },
966     { 0xAA1, 12 },
967     { 0x1, 2 },
968     { 0x0, 2 },
969     { 0x9, 4 },
970     { 0x8, 4 },
971     { 0x1B, 5 },
972     { 0x38, 6 },
973     { 0x28, 6 },
974     { 0x57, 7 },
975     { 0x6A, 7 },
976     { 0x68, 7 },
977     { 0x56, 7 },
978     { 0xE5, 8 },
979     { 0x155, 9 },
980     { 0xAA0, 12 },
981     { 0x73, 7 },
982     { 0x69, 7 },
983     { 0xD7, 8 },
984     { 0xAB, 8 },
985     { 0xE4, 8 },
986     { 0xA9, 8 },
987     { 0x151, 9 },
988     { 0x150, 9 },
989     { 0x2A9, 10 }
990   }
991 };
992
993 static const uint16_t ac_bias_0[16][32][2] = {
994   {  /* AC bias group 1, table 0 */
995     { 0x8, 5 },
996     { 0x25, 7 },
997     { 0x17A, 9 },
998     { 0x2F7, 10 },
999     { 0xBDB, 12 },
1000     { 0x17B4, 13 },
1001     { 0x2F6B, 14 },
1002     { 0x1D, 5 },
1003     { 0x2F6A, 14 },
1004     { 0x8, 4 },
1005     { 0x7, 4 },
1006     { 0x1, 4 },
1007     { 0x2, 4 },
1008     { 0xA, 4 },
1009     { 0x6, 4 },
1010     { 0x0, 4 },
1011     { 0x1C, 5 },
1012     { 0x9, 4 },
1013     { 0xD, 4 },
1014     { 0xF, 4 },
1015     { 0xC, 4 },
1016     { 0x3, 4 },
1017     { 0xA, 5 },
1018     { 0x16, 5 },
1019     { 0x13, 6 },
1020     { 0x5D, 7 },
1021     { 0x24, 7 },
1022     { 0xBC, 8 },
1023     { 0x5C, 7 },
1024     { 0x5EC, 11 },
1025     { 0xB, 5 },
1026     { 0x5F, 7 }
1027   },
1028   {  /* AC bias group 1, table 1 */
1029     { 0xF, 5 },
1030     { 0x10, 6 },
1031     { 0x4B, 8 },
1032     { 0xC6, 8 },
1033     { 0x31D, 10 },
1034     { 0xC71, 12 },
1035     { 0xC70, 12 },
1036     { 0x1, 4 },
1037     { 0xC73, 12 },
1038     { 0x8, 4 },
1039     { 0x9, 4 },
1040     { 0x2, 4 },
1041     { 0x3, 4 },
1042     { 0xB, 4 },
1043     { 0x6, 4 },
1044     { 0x0, 4 },
1045     { 0x1C, 5 },
1046     { 0x5, 4 },
1047     { 0xD, 4 },
1048     { 0xF, 4 },
1049     { 0xA, 4 },
1050     { 0x19, 5 },
1051     { 0x13, 6 },
1052     { 0x1D, 5 },
1053     { 0x30, 6 },
1054     { 0x62, 7 },
1055     { 0x24, 7 },
1056     { 0x4A, 8 },
1057     { 0x18F, 9 },
1058     { 0xC72, 12 },
1059     { 0xE, 5 },
1060     { 0x11, 6 }
1061   },
1062   {  /* AC bias group 1, table 2 */
1063     { 0x1B, 5 },
1064     { 0x3, 6 },
1065     { 0x8D, 8 },
1066     { 0x40, 7 },
1067     { 0x239, 10 },
1068     { 0x471, 11 },
1069     { 0x8E0, 12 },
1070     { 0x3, 4 },
1071     { 0x11C3, 13 },
1072     { 0xA, 4 },
1073     { 0x9, 4 },
1074     { 0x4, 4 },
1075     { 0x5, 4 },
1076     { 0xE, 4 },
1077     { 0x7, 4 },
1078     { 0x1, 4 },
1079     { 0x1E, 5 },
1080     { 0x6, 4 },
1081     { 0xC, 4 },
1082     { 0xB, 4 },
1083     { 0x2, 4 },
1084     { 0x0, 5 },
1085     { 0x41, 7 },
1086     { 0x1F, 5 },
1087     { 0x22, 6 },
1088     { 0x2, 6 },
1089     { 0x8F, 8 },
1090     { 0x8C, 8 },
1091     { 0x11D, 9 },
1092     { 0x11C2, 13 },
1093     { 0x1A, 5 },
1094     { 0x21, 6 }
1095   },
1096   {  /* AC bias group 1, table 3 */
1097     { 0x1F, 5 },
1098     { 0x3, 6 },
1099     { 0x3, 7 },
1100     { 0x43, 7 },
1101     { 0xB, 9 },
1102     { 0x15, 10 },
1103     { 0x51, 12 },
1104     { 0x3, 4 },
1105     { 0x50, 12 },
1106     { 0xD, 4 },
1107     { 0xC, 4 },
1108     { 0x4, 4 },
1109     { 0x6, 4 },
1110     { 0xE, 4 },
1111     { 0xA, 4 },
1112     { 0x1, 4 },
1113     { 0x1E, 5 },
1114     { 0x5, 4 },
1115     { 0x9, 4 },
1116     { 0x7, 4 },
1117     { 0x11, 5 },
1118     { 0x2, 6 },
1119     { 0x4, 8 },
1120     { 0x2, 4 },
1121     { 0x2D, 6 },
1122     { 0x20, 6 },
1123     { 0x42, 7 },
1124     { 0x1, 7 },
1125     { 0x0, 7 },
1126     { 0x29, 11 },
1127     { 0x17, 5 },
1128     { 0x2C, 6 }
1129   },
1130   {  /* AC bias group 1, table 4 */
1131     { 0x3, 4 },
1132     { 0x1F, 6 },
1133     { 0x3A, 7 },
1134     { 0x5D, 7 },
1135     { 0x173, 9 },
1136     { 0x2E4, 10 },
1137     { 0x172D, 13 },
1138     { 0x4, 4 },
1139     { 0x172C, 13 },
1140     { 0xF, 4 },
1141     { 0xE, 4 },
1142     { 0x9, 4 },
1143     { 0x8, 4 },
1144     { 0xC, 4 },
1145     { 0xA, 4 },
1146     { 0x1, 4 },
1147     { 0x16, 5 },
1148     { 0x2, 4 },
1149     { 0x5, 4 },
1150     { 0x1A, 5 },
1151     { 0x2F, 6 },
1152     { 0x38, 7 },
1153     { 0x5CA, 11 },
1154     { 0x6, 4 },
1155     { 0x37, 6 },
1156     { 0x1E, 6 },
1157     { 0x3B, 7 },
1158     { 0x39, 7 },
1159     { 0xB8, 8 },
1160     { 0xB97, 12 },
1161     { 0x0, 4 },
1162     { 0x36, 6 }
1163   },
1164   {  /* AC bias group 1, table 5 */
1165     { 0x6, 4 },
1166     { 0x37, 6 },
1167     { 0x5D, 7 },
1168     { 0xC, 6 },
1169     { 0xB9, 8 },
1170     { 0x2E3, 10 },
1171     { 0x5C4, 11 },
1172     { 0x4, 4 },
1173     { 0x1715, 13 },
1174     { 0x0, 3 },
1175     { 0xF, 4 },
1176     { 0x8, 4 },
1177     { 0x7, 4 },
1178     { 0xC, 4 },
1179     { 0x9, 4 },
1180     { 0x1D, 5 },
1181     { 0x16, 5 },
1182     { 0x1C, 5 },
1183     { 0x1A, 5 },
1184     { 0xB, 5 },
1185     { 0x5E, 7 },
1186     { 0x170, 9 },
1187     { 0x1714, 13 },
1188     { 0xA, 4 },
1189     { 0xA, 5 },
1190     { 0x36, 6 },
1191     { 0x5F, 7 },
1192     { 0x1B, 7 },
1193     { 0x1A, 7 },
1194     { 0xB8B, 12 },
1195     { 0x2, 4 },
1196     { 0x7, 5 }
1197   },
1198   {  /* AC bias group 1, table 6 */
1199     { 0xC, 4 },
1200     { 0xB, 5 },
1201     { 0x79, 7 },
1202     { 0x22, 6 },
1203     { 0xF0, 8 },
1204     { 0x119, 9 },
1205     { 0x230, 10 },
1206     { 0x1D, 5 },
1207     { 0x8C4, 12 },
1208     { 0x1, 3 },
1209     { 0x0, 3 },
1210     { 0xA, 4 },
1211     { 0x9, 4 },
1212     { 0xB, 4 },
1213     { 0x7, 4 },
1214     { 0x1C, 5 },
1215     { 0x3D, 6 },
1216     { 0xD, 5 },
1217     { 0x8, 5 },
1218     { 0x15, 6 },
1219     { 0x8D, 8 },
1220     { 0x118B, 13 },
1221     { 0x118A, 13 },
1222     { 0xD, 4 },
1223     { 0x10, 5 },
1224     { 0x9, 5 },
1225     { 0x14, 6 },
1226     { 0x47, 7 },
1227     { 0xF1, 8 },
1228     { 0x463, 11 },
1229     { 0x1F, 5 },
1230     { 0xC, 5 }
1231   },
1232   {  /* AC bias group 1, table 7 */
1233     { 0x0, 3 },
1234     { 0x1A, 5 },
1235     { 0x33, 6 },
1236     { 0xC, 5 },
1237     { 0x46, 7 },
1238     { 0x1E3, 9 },
1239     { 0x3C5, 10 },
1240     { 0x17, 5 },
1241     { 0x1E21, 13 },
1242     { 0x2, 3 },
1243     { 0x1, 3 },
1244     { 0x9, 4 },
1245     { 0xA, 4 },
1246     { 0x7, 4 },
1247     { 0x1B, 5 },
1248     { 0x3D, 6 },
1249     { 0x1B, 6 },
1250     { 0x22, 6 },
1251     { 0x79, 7 },
1252     { 0xF0, 8 },
1253     { 0x1E20, 13 },
1254     { 0x1E23, 13 },
1255     { 0x1E22, 13 },
1256     { 0xE, 4 },
1257     { 0x16, 5 },
1258     { 0x18, 5 },
1259     { 0x32, 6 },
1260     { 0x1A, 6 },
1261     { 0x47, 7 },
1262     { 0x789, 11 },
1263     { 0x1F, 5 },
1264     { 0x10, 5 }
1265   },
1266   {  /* AC bias group 1, table 8 */
1267     { 0x1D, 5 },
1268     { 0x61, 7 },
1269     { 0x4E, 8 },
1270     { 0x9E, 9 },
1271     { 0x27C, 11 },
1272     { 0x9F5, 13 },
1273     { 0x9F4, 13 },
1274     { 0x3, 4 },
1275     { 0x60, 7 },
1276     { 0x0, 3 },
1277     { 0xF, 4 },
1278     { 0xB, 4 },
1279     { 0xA, 4 },
1280     { 0x9, 4 },
1281     { 0x5, 4 },
1282     { 0xD, 5 },
1283     { 0x31, 6 },
1284     { 0x8, 5 },
1285     { 0x38, 6 },
1286     { 0x12, 6 },
1287     { 0x26, 7 },
1288     { 0x13F, 10 },
1289     { 0x4FB, 12 },
1290     { 0xD, 4 },
1291     { 0x2, 4 },
1292     { 0xC, 5 },
1293     { 0x39, 6 },
1294     { 0x1C, 6 },
1295     { 0xF, 5 },
1296     { 0x1D, 6 },
1297     { 0x8, 4 },
1298     { 0x19, 5 }
1299   },
1300   {  /* AC bias group 1, table 9 */
1301     { 0x7, 4 },
1302     { 0x19, 6 },
1303     { 0xAB, 8 },
1304     { 0xAA, 8 },
1305     { 0x119, 10 },
1306     { 0x461, 12 },
1307     { 0x460, 12 },
1308     { 0x1B, 5 },
1309     { 0x47, 8 },
1310     { 0x1, 3 },
1311     { 0x0, 3 },
1312     { 0xC, 4 },
1313     { 0xB, 4 },
1314     { 0x9, 4 },
1315     { 0x5, 4 },
1316     { 0xD, 5 },
1317     { 0x35, 6 },
1318     { 0x3D, 6 },
1319     { 0x3C, 6 },
1320     { 0x18, 6 },
1321     { 0x22, 7 },
1322     { 0x8D, 9 },
1323     { 0x231, 11 },
1324     { 0xE, 4 },
1325     { 0x1F, 5 },
1326     { 0x9, 5 },
1327     { 0x2B, 6 },
1328     { 0x10, 6 },
1329     { 0x34, 6 },
1330     { 0x54, 7 },
1331     { 0x8, 4 },
1332     { 0x14, 5 }
1333   },
1334   {  /* AC bias group 1, table 10 */
1335     { 0xC, 4 },
1336     { 0x5, 5 },
1337     { 0x8, 6 },
1338     { 0x5B, 7 },
1339     { 0x4D, 9 },
1340     { 0x131, 11 },
1341     { 0x261, 12 },
1342     { 0x1A, 5 },
1343     { 0x12, 7 },
1344     { 0x0, 3 },
1345     { 0xF, 4 },
1346     { 0xA, 4 },
1347     { 0x9, 4 },
1348     { 0x6, 4 },
1349     { 0x1B, 5 },
1350     { 0x6, 5 },
1351     { 0x1C, 6 },
1352     { 0x2C, 6 },
1353     { 0x15, 6 },
1354     { 0x5A, 7 },
1355     { 0x27, 8 },
1356     { 0x99, 10 },
1357     { 0x260, 12 },
1358     { 0xE, 4 },
1359     { 0x4, 4 },
1360     { 0xF, 5 },
1361     { 0x7, 5 },
1362     { 0x1D, 6 },
1363     { 0xB, 5 },
1364     { 0x14, 6 },
1365     { 0x8, 4 },
1366     { 0x17, 5 }
1367   },
1368   {  /* AC bias group 1, table 11 */
1369     { 0xF, 4 },
1370     { 0x13, 5 },
1371     { 0x75, 7 },
1372     { 0x24, 6 },
1373     { 0x95, 8 },
1374     { 0x251, 10 },
1375     { 0x4A0, 11 },
1376     { 0x10, 5 },
1377     { 0xC8, 8 },
1378     { 0x2, 3 },
1379     { 0x1, 3 },
1380     { 0x1, 4 },
1381     { 0x0, 4 },
1382     { 0x1A, 5 },
1383     { 0x11, 5 },
1384     { 0x2C, 6 },
1385     { 0x65, 7 },
1386     { 0x74, 7 },
1387     { 0x4B, 7 },
1388     { 0xC9, 8 },
1389     { 0x129, 9 },
1390     { 0x943, 12 },
1391     { 0x942, 12 },
1392     { 0x3, 3 },
1393     { 0xA, 4 },
1394     { 0x1C, 5 },
1395     { 0x18, 5 },
1396     { 0x33, 6 },
1397     { 0x17, 5 },
1398     { 0x2D, 6 },
1399     { 0x1B, 5 },
1400     { 0x3B, 6 }
1401   },
1402   {  /* AC bias group 1, table 12 */
1403     { 0x3, 3 },
1404     { 0x1A, 5 },
1405     { 0x2D, 6 },
1406     { 0x38, 6 },
1407     { 0x28, 7 },
1408     { 0x395, 10 },
1409     { 0xE51, 12 },
1410     { 0x37, 6 },
1411     { 0xE4, 8 },
1412     { 0x1, 3 },
1413     { 0x0, 3 },
1414     { 0x1F, 5 },
1415     { 0x1E, 5 },
1416     { 0x17, 5 },
1417     { 0x3A, 6 },
1418     { 0x73, 7 },
1419     { 0x2A, 7 },
1420     { 0x2B, 7 },
1421     { 0x29, 7 },
1422     { 0x1CB, 9 },
1423     { 0x729, 11 },
1424     { 0x1CA1, 13 },
1425     { 0x1CA0, 13 },
1426     { 0x4, 3 },
1427     { 0xA, 4 },
1428     { 0x4, 4 },
1429     { 0x18, 5 },
1430     { 0x36, 6 },
1431     { 0xB, 5 },
1432     { 0x2C, 6 },
1433     { 0x19, 5 },
1434     { 0x3B, 6 }
1435   },
1436   {  /* AC bias group 1, table 13 */
1437     { 0x4, 3 },
1438     { 0x4, 4 },
1439     { 0x3F, 6 },
1440     { 0x17, 5 },
1441     { 0x75, 7 },
1442     { 0x1F5, 9 },
1443     { 0x7D1, 11 },
1444     { 0x17, 6 },
1445     { 0x1F6, 9 },
1446     { 0x1, 3 },
1447     { 0x0, 3 },
1448     { 0x1B, 5 },
1449     { 0x1A, 5 },
1450     { 0xA, 5 },
1451     { 0x32, 6 },
1452     { 0x74, 7 },
1453     { 0xF8, 8 },
1454     { 0xF9, 8 },
1455     { 0x1F7, 9 },
1456     { 0x3E9, 10 },
1457     { 0xFA0, 12 },
1458     { 0x1F43, 13 },
1459     { 0x1F42, 13 },
1460     { 0x3, 3 },
1461     { 0xA, 4 },
1462     { 0x1E, 5 },
1463     { 0x1C, 5 },
1464     { 0x3B, 6 },
1465     { 0x18, 5 },
1466     { 0x16, 6 },
1467     { 0x16, 5 },
1468     { 0x33, 6 }
1469   },
1470   {  /* AC bias group 1, table 14 */
1471     { 0x4, 3 },
1472     { 0x7, 4 },
1473     { 0x18, 5 },
1474     { 0x1E, 5 },
1475     { 0x36, 6 },
1476     { 0x31, 7 },
1477     { 0x177, 9 },
1478     { 0x77, 7 },
1479     { 0x176, 9 },
1480     { 0x1, 3 },
1481     { 0x0, 3 },
1482     { 0x1A, 5 },
1483     { 0x19, 5 },
1484     { 0x3A, 6 },
1485     { 0x19, 6 },
1486     { 0x5C, 7 },
1487     { 0xBA, 8 },
1488     { 0x61, 8 },
1489     { 0xC1, 9 },
1490     { 0x180, 10 },
1491     { 0x302, 11 },
1492     { 0x607, 12 },
1493     { 0x606, 12 },
1494     { 0x2, 3 },
1495     { 0xA, 4 },
1496     { 0x1F, 5 },
1497     { 0x1C, 5 },
1498     { 0x37, 6 },
1499     { 0x16, 5 },
1500     { 0x76, 7 },
1501     { 0xD, 5 },
1502     { 0x2F, 6 }
1503   },
1504   {  /* AC bias group 1, table 15 */
1505     { 0x0, 3 },
1506     { 0xA, 4 },
1507     { 0x1A, 5 },
1508     { 0xC, 4 },
1509     { 0x1D, 5 },
1510     { 0x39, 6 },
1511     { 0x78, 7 },
1512     { 0x5E, 7 },
1513     { 0x393, 11 },
1514     { 0x2, 3 },
1515     { 0x1, 3 },
1516     { 0x16, 5 },
1517     { 0xF, 5 },
1518     { 0x2E, 6 },
1519     { 0x5F, 7 },
1520     { 0x73, 8 },
1521     { 0xE5, 9 },
1522     { 0x1C8, 10 },
1523     { 0xE4A, 13 },
1524     { 0x1C97, 14 },
1525     { 0x1C96, 14 },
1526     { 0xE49, 13 },
1527     { 0xE48, 13 },
1528     { 0x4, 3 },
1529     { 0x6, 4 },
1530     { 0x1F, 5 },
1531     { 0x1B, 5 },
1532     { 0x1D, 6 },
1533     { 0x38, 6 },
1534     { 0x38, 7 },
1535     { 0x3D, 6 },
1536     { 0x79, 7 }
1537   }
1538 };
1539
1540 static const uint16_t ac_bias_1[16][32][2] = {
1541   {  /* AC bias group 2, table 0 */
1542     { 0xB, 5 },
1543     { 0x2B, 7 },
1544     { 0x54, 8 },
1545     { 0x1B7, 9 },
1546     { 0x6D9, 11 },
1547     { 0xDB1, 12 },
1548     { 0xDB0, 12 },
1549     { 0x2, 4 },
1550     { 0xAB, 9 },
1551     { 0x9, 4 },
1552     { 0xA, 4 },
1553     { 0x7, 4 },
1554     { 0x8, 4 },
1555     { 0xF, 4 },
1556     { 0xC, 4 },
1557     { 0x3, 4 },
1558     { 0x1D, 5 },
1559     { 0x4, 4 },
1560     { 0xB, 4 },
1561     { 0x6, 4 },
1562     { 0x1A, 5 },
1563     { 0x3, 6 },
1564     { 0xAA, 9 },
1565     { 0x1, 4 },
1566     { 0x0, 5 },
1567     { 0x14, 6 },
1568     { 0x6C, 7 },
1569     { 0xDA, 8 },
1570     { 0x2, 6 },
1571     { 0x36D, 10 },
1572     { 0x1C, 5 },
1573     { 0x37, 6 }
1574   },
1575   {  /* AC bias group 2, table 1 */
1576     { 0x1D, 5 },
1577     { 0x4, 6 },
1578     { 0xB6, 8 },
1579     { 0x6A, 8 },
1580     { 0x5B9, 11 },
1581     { 0x16E1, 13 },
1582     { 0x16E0, 13 },
1583     { 0x7, 4 },
1584     { 0x16F, 9 },
1585     { 0xC, 4 },
1586     { 0xD, 4 },
1587     { 0x9, 4 },
1588     { 0x8, 4 },
1589     { 0xF, 4 },
1590     { 0xA, 4 },
1591     { 0x3, 4 },
1592     { 0x17, 5 },
1593     { 0x2, 4 },
1594     { 0x4, 4 },
1595     { 0x1C, 5 },
1596     { 0x2C, 6 },
1597     { 0x6B, 8 },
1598     { 0xB71, 12 },
1599     { 0x5, 4 },
1600     { 0x3, 5 },
1601     { 0x1B, 6 },
1602     { 0x5A, 7 },
1603     { 0x34, 7 },
1604     { 0x5, 6 },
1605     { 0x2DD, 10 },
1606     { 0x0, 4 },
1607     { 0xC, 5 }
1608   },
1609   {  /* AC bias group 2, table 2 */
1610     { 0x3, 4 },
1611     { 0x7F, 7 },
1612     { 0xA1, 8 },
1613     { 0xA0, 8 },
1614     { 0x20C, 10 },
1615     { 0x834, 12 },
1616     { 0x106B, 13 },
1617     { 0x7, 4 },
1618     { 0x82, 8 },
1619     { 0xE, 4 },
1620     { 0xD, 4 },
1621     { 0xB, 4 },
1622     { 0xC, 4 },
1623     { 0x0, 3 },
1624     { 0x9, 4 },
1625     { 0x2, 4 },
1626     { 0x11, 5 },
1627     { 0x1E, 5 },
1628     { 0x15, 5 },
1629     { 0x3E, 6 },
1630     { 0x40, 7 },
1631     { 0x41B, 11 },
1632     { 0x106A, 13 },
1633     { 0x6, 4 },
1634     { 0xA, 5 },
1635     { 0x29, 6 },
1636     { 0x7E, 7 },
1637     { 0x51, 7 },
1638     { 0x21, 6 },
1639     { 0x107, 9 },
1640     { 0x4, 4 },
1641     { 0xB, 5 }
1642   },
1643   {  /* AC bias group 2, table 3 */
1644     { 0x7, 4 },
1645     { 0x1B, 6 },
1646     { 0xF6, 8 },
1647     { 0xE9, 8 },
1648     { 0x3A1, 10 },
1649     { 0x740, 11 },
1650     { 0xE82, 12 },
1651     { 0x1F, 5 },
1652     { 0x1EF, 9 },
1653     { 0x1, 3 },
1654     { 0x2, 3 },
1655     { 0xB, 4 },
1656     { 0xC, 4 },
1657     { 0xD, 4 },
1658     { 0x8, 4 },
1659     { 0x1C, 5 },
1660     { 0x3, 5 },
1661     { 0x12, 5 },
1662     { 0x2, 5 },
1663     { 0x75, 7 },
1664     { 0x1D1, 9 },
1665     { 0x1D07, 13 },
1666     { 0x1D06, 13 },
1667     { 0xA, 4 },
1668     { 0x13, 5 },
1669     { 0x3B, 6 },
1670     { 0x1A, 6 },
1671     { 0x7A, 7 },
1672     { 0x3C, 6 },
1673     { 0x1EE, 9 },
1674     { 0x0, 4 },
1675     { 0xC, 5 }
1676   },
1677   {  /* AC bias group 2, table 4 */
1678     { 0xD, 4 },
1679     { 0x3D, 6 },
1680     { 0x42, 7 },
1681     { 0x37, 7 },
1682     { 0xD9, 9 },
1683     { 0x362, 11 },
1684     { 0x6C6, 12 },
1685     { 0x1F, 5 },
1686     { 0x86, 8 },
1687     { 0x1, 3 },
1688     { 0x2, 3 },
1689     { 0xC, 4 },
1690     { 0xB, 4 },
1691     { 0xA, 4 },
1692     { 0x1, 4 },
1693     { 0xF, 5 },
1694     { 0x25, 6 },
1695     { 0x3C, 6 },
1696     { 0x1A, 6 },
1697     { 0x87, 8 },
1698     { 0x1B0, 10 },
1699     { 0xD8F, 13 },
1700     { 0xD8E, 13 },
1701     { 0xE, 4 },
1702     { 0x13, 5 },
1703     { 0xC, 5 },
1704     { 0x24, 6 },
1705     { 0x20, 6 },
1706     { 0x11, 5 },
1707     { 0x6D, 8 },
1708     { 0x0, 4 },
1709     { 0xE, 5 }
1710   },
1711   {  /* AC bias group 2, table 5 */
1712     { 0x0, 3 },
1713     { 0x12, 5 },
1714     { 0x76, 7 },
1715     { 0x77, 7 },
1716     { 0x14D, 9 },
1717     { 0x533, 11 },
1718     { 0x14C9, 13 },
1719     { 0x13, 5 },
1720     { 0xA5, 8 },
1721     { 0x2, 3 },
1722     { 0x3, 3 },
1723     { 0xB, 4 },
1724     { 0xC, 4 },
1725     { 0x8, 4 },
1726     { 0x1A, 5 },
1727     { 0x2B, 6 },
1728     { 0x75, 7 },
1729     { 0x74, 7 },
1730     { 0xA7, 8 },
1731     { 0x298, 10 },
1732     { 0x14C8, 13 },
1733     { 0x14CB, 13 },
1734     { 0x14CA, 13 },
1735     { 0xF, 4 },
1736     { 0x1C, 5 },
1737     { 0x7, 5 },
1738     { 0x2A, 6 },
1739     { 0x28, 6 },
1740     { 0x1B, 5 },
1741     { 0xA4, 8 },
1742     { 0x2, 4 },
1743     { 0x6, 5 }
1744   },
1745   {  /* AC bias group 2, table 6 */
1746     { 0x2, 3 },
1747     { 0x1A, 5 },
1748     { 0x2B, 6 },
1749     { 0x3A, 6 },
1750     { 0xED, 8 },
1751     { 0x283, 10 },
1752     { 0xA0A, 12 },
1753     { 0x4, 5 },
1754     { 0xA1, 8 },
1755     { 0x4, 3 },
1756     { 0x3, 3 },
1757     { 0xB, 4 },
1758     { 0xC, 4 },
1759     { 0x1F, 5 },
1760     { 0x6, 5 },
1761     { 0x77, 7 },
1762     { 0xA3, 8 },
1763     { 0xA2, 8 },
1764     { 0x140, 9 },
1765     { 0x1417, 13 },
1766     { 0x1416, 13 },
1767     { 0xA09, 12 },
1768     { 0xA08, 12 },
1769     { 0x0, 3 },
1770     { 0x1E, 5 },
1771     { 0x7, 5 },
1772     { 0x2A, 6 },
1773     { 0x29, 6 },
1774     { 0x1C, 5 },
1775     { 0xEC, 8 },
1776     { 0x1B, 5 },
1777     { 0x5, 5 }
1778   },
1779   {  /* AC bias group 2, table 7 */
1780     { 0x2, 3 },
1781     { 0x2, 4 },
1782     { 0x18, 5 },
1783     { 0x1D, 5 },
1784     { 0x35, 6 },
1785     { 0xE4, 8 },
1786     { 0x1CF, 11 },
1787     { 0x1D, 7 },
1788     { 0x72, 9 },
1789     { 0x4, 3 },
1790     { 0x5, 3 },
1791     { 0x6, 4 },
1792     { 0x7, 4 },
1793     { 0x6, 5 },
1794     { 0x73, 7 },
1795     { 0x38, 8 },
1796     { 0x1CE, 11 },
1797     { 0x39B, 12 },
1798     { 0x398, 12 },
1799     { 0x733, 13 },
1800     { 0x732, 13 },
1801     { 0x735, 13 },
1802     { 0x734, 13 },
1803     { 0x0, 3 },
1804     { 0x1F, 5 },
1805     { 0x1B, 5 },
1806     { 0x34, 6 },
1807     { 0xF, 6 },
1808     { 0x1E, 5 },
1809     { 0xE5, 8 },
1810     { 0x19, 5 },
1811     { 0x38, 6 }
1812   },
1813   {  /* AC bias group 2, table 8 */
1814     { 0x16, 5 },
1815     { 0x50, 7 },
1816     { 0x172, 9 },
1817     { 0x2E7, 10 },
1818     { 0x1732, 13 },
1819     { 0x2E67, 14 },
1820     { 0x2E66, 14 },
1821     { 0x6, 4 },
1822     { 0x51, 7 },
1823     { 0x1, 3 },
1824     { 0x0, 3 },
1825     { 0xD, 4 },
1826     { 0xC, 4 },
1827     { 0x9, 4 },
1828     { 0x1C, 5 },
1829     { 0x9, 5 },
1830     { 0x1C, 6 },
1831     { 0x1D, 6 },
1832     { 0x5D, 7 },
1833     { 0xB8, 8 },
1834     { 0x5CD, 11 },
1835     { 0x1731, 13 },
1836     { 0x1730, 13 },
1837     { 0xF, 4 },
1838     { 0x5, 4 },
1839     { 0xF, 5 },
1840     { 0x8, 5 },
1841     { 0x29, 6 },
1842     { 0x1D, 5 },
1843     { 0x2F, 6 },
1844     { 0x8, 4 },
1845     { 0x15, 5 }
1846   },
1847   {  /* AC bias group 2, table 9 */
1848     { 0x9, 4 },
1849     { 0x21, 6 },
1850     { 0x40, 7 },
1851     { 0xAD, 8 },
1852     { 0x2B0, 10 },
1853     { 0x1589, 13 },
1854     { 0x1588, 13 },
1855     { 0x1C, 5 },
1856     { 0x5F, 7 },
1857     { 0x0, 3 },
1858     { 0xF, 4 },
1859     { 0xD, 4 },
1860     { 0xC, 4 },
1861     { 0x6, 4 },
1862     { 0x11, 5 },
1863     { 0x2A, 6 },
1864     { 0x57, 7 },
1865     { 0x5E, 7 },
1866     { 0x41, 7 },
1867     { 0x159, 9 },
1868     { 0x563, 11 },
1869     { 0x158B, 13 },
1870     { 0x158A, 13 },
1871     { 0x1, 3 },
1872     { 0x5, 4 },
1873     { 0x14, 5 },
1874     { 0x3B, 6 },
1875     { 0x2E, 6 },
1876     { 0x4, 4 },
1877     { 0x3A, 6 },
1878     { 0x7, 4 },
1879     { 0x16, 5 }
1880   },
1881   {  /* AC bias group 2, table 10 */
1882     { 0xE, 4 },
1883     { 0x7, 5 },
1884     { 0x46, 7 },
1885     { 0x45, 7 },
1886     { 0x64, 9 },
1887     { 0x32A, 12 },
1888     { 0x657, 13 },
1889     { 0x18, 5 },
1890     { 0xD, 6 },
1891     { 0x0, 3 },
1892     { 0xF, 4 },
1893     { 0xA, 4 },
1894     { 0xB, 4 },
1895     { 0x1A, 5 },
1896     { 0x36, 6 },
1897     { 0x47, 7 },
1898     { 0x44, 7 },
1899     { 0x18, 7 },
1900     { 0x33, 8 },
1901     { 0xCB, 10 },
1902     { 0x656, 13 },
1903     { 0x329, 12 },
1904     { 0x328, 12 },
1905     { 0x2, 3 },
1906     { 0x6, 4 },
1907     { 0x19, 5 },
1908     { 0xE, 5 },
1909     { 0x37, 6 },
1910     { 0x9, 4 },
1911     { 0xF, 5 },
1912     { 0x2, 4 },
1913     { 0x10, 5 }
1914   },
1915   {  /* AC bias group 2, table 11 */
1916     { 0x3, 3 },
1917     { 0x18, 5 },
1918     { 0x23, 6 },
1919     { 0x77, 7 },
1920     { 0x194, 9 },
1921     { 0x1956, 13 },
1922     { 0x32AF, 14 },
1923     { 0x3A, 6 },
1924     { 0x76, 7 },
1925     { 0x2, 3 },
1926     { 0x1, 3 },
1927     { 0x1F, 5 },
1928     { 0x1E, 5 },
1929     { 0x14, 5 },
1930     { 0x22, 6 },
1931     { 0x64, 7 },
1932     { 0x197, 9 },
1933     { 0x196, 9 },
1934     { 0x32B, 10 },
1935     { 0x654, 11 },
1936     { 0x32AE, 14 },
1937     { 0x1955, 13 },
1938     { 0x1954, 13 },
1939     { 0x0, 3 },
1940     { 0x9, 4 },
1941     { 0x1C, 5 },
1942     { 0x15, 5 },
1943     { 0x10, 5 },
1944     { 0xD, 4 },
1945     { 0x17, 5 },
1946     { 0x16, 5 },
1947     { 0x33, 6 }
1948   },
1949   {  /* AC bias group 2, table 12 */
1950     { 0x5, 3 },
1951     { 0x6, 4 },
1952     { 0x3E, 6 },
1953     { 0x10, 5 },
1954     { 0x48, 7 },
1955     { 0x93F, 12 },
1956     { 0x24FA, 14 },
1957     { 0x32, 6 },
1958     { 0x67, 7 },
1959     { 0x2, 3 },
1960     { 0x1, 3 },
1961     { 0x1B, 5 },
1962     { 0x1E, 5 },
1963     { 0x34, 6 },
1964     { 0x66, 7 },
1965     { 0x92, 8 },
1966     { 0x126, 9 },
1967     { 0x24E, 10 },
1968     { 0x49E, 11 },
1969     { 0x49F7, 15 },
1970     { 0x49F6, 15 },
1971     { 0x24F9, 14 },
1972     { 0x24F8, 14 },
1973     { 0x0, 3 },
1974     { 0x7, 4 },
1975     { 0x18, 5 },
1976     { 0x11, 5 },
1977     { 0x3F, 6 },
1978     { 0xE, 4 },
1979     { 0x13, 5 },
1980     { 0x35, 6 },
1981     { 0x25, 6 }
1982   },
1983   {  /* AC bias group 2, table 13 */
1984     { 0x5, 3 },
1985     { 0x8, 4 },
1986     { 0x12, 5 },
1987     { 0x1C, 5 },
1988     { 0x1C, 6 },
1989     { 0xEA, 9 },
1990     { 0x1D75, 14 },
1991     { 0x1E, 6 },
1992     { 0x66, 7 },
1993     { 0x1, 3 },
1994     { 0x2, 3 },
1995     { 0x1B, 5 },
1996     { 0x1A, 5 },
1997     { 0x1F, 6 },
1998     { 0x3B, 7 },
1999     { 0x74, 8 },
2000     { 0x1D6, 10 },
2001     { 0x3AF, 11 },
2002     { 0x1D74, 14 },
2003     { 0x1D77, 14 },
2004     { 0x1D76, 14 },
2005     { 0xEB9, 13 },
2006     { 0xEB8, 13 },
2007     { 0xF, 4 },
2008     { 0x6, 4 },
2009     { 0x13, 5 },
2010     { 0x3B, 6 },
2011     { 0x3A, 6 },
2012     { 0x0, 3 },
2013     { 0x18, 5 },
2014     { 0x32, 6 },
2015     { 0x67, 7 }
2016   },
2017   {  /* AC bias group 2, table 14 */
2018     { 0x4, 3 },
2019     { 0xA, 4 },
2020     { 0x1B, 5 },
2021     { 0xC, 4 },
2022     { 0xD, 5 },
2023     { 0xE6, 8 },
2024     { 0x684, 11 },
2025     { 0x72, 7 },
2026     { 0xE7, 8 },
2027     { 0x2, 3 },
2028     { 0x1, 3 },
2029     { 0x17, 5 },
2030     { 0x16, 5 },
2031     { 0x18, 6 },
2032     { 0xD1, 8 },
2033     { 0x1A0, 9 },
2034     { 0x686, 11 },
2035     { 0xD0F, 12 },
2036     { 0xD0A, 12 },
2037     { 0x1A17, 13 },
2038     { 0x1A16, 13 },
2039     { 0x1A1D, 13 },
2040     { 0x1A1C, 13 },
2041     { 0xF, 4 },
2042     { 0x1D, 5 },
2043     { 0xE, 5 },
2044     { 0x35, 6 },
2045     { 0x38, 6 },
2046     { 0x0, 3 },
2047     { 0xF, 5 },
2048     { 0x19, 6 },
2049     { 0x69, 7 }
2050   },
2051   {  /* AC bias group 2, table 15 */
2052     { 0x3, 3 },
2053     { 0xC, 4 },
2054     { 0x1B, 5 },
2055     { 0x0, 3 },
2056     { 0x3, 4 },
2057     { 0x2E, 6 },
2058     { 0x51, 9 },
2059     { 0xBC, 8 },
2060     { 0x53, 9 },
2061     { 0x4, 3 },
2062     { 0x2, 3 },
2063     { 0x16, 5 },
2064     { 0x15, 5 },
2065     { 0x15, 7 },
2066     { 0x50, 9 },
2067     { 0xA4, 10 },
2068     { 0x294, 12 },
2069     { 0x52B, 13 },
2070     { 0x52A, 13 },
2071     { 0x52D, 13 },
2072     { 0x52C, 13 },
2073     { 0x52F, 13 },
2074     { 0x52E, 13 },
2075     { 0xE, 4 },
2076     { 0x1A, 5 },
2077     { 0x4, 5 },
2078     { 0x28, 6 },
2079     { 0x29, 6 },
2080     { 0xF, 4 },
2081     { 0xB, 6 },
2082     { 0x5F, 7 },
2083     { 0xBD, 8 }
2084   }
2085 };
2086
2087 static const uint16_t ac_bias_2[16][32][2] = {
2088   {  /* AC bias group 3, table 0 */
2089     { 0x3, 4 },
2090     { 0x9, 6 },
2091     { 0xD0, 8 },
2092     { 0x1A3, 9 },
2093     { 0x344, 10 },
2094     { 0xD14, 12 },
2095     { 0x1A2B, 13 },
2096     { 0x4, 4 },
2097     { 0x15, 7 },
2098     { 0x0, 3 },
2099     { 0xF, 4 },
2100     { 0xB, 4 },
2101     { 0xC, 4 },
2102     { 0xE, 4 },
2103     { 0x9, 4 },
2104     { 0x1B, 5 },
2105     { 0xA, 5 },
2106     { 0x14, 5 },
2107     { 0xD, 5 },
2108     { 0x2A, 6 },
2109     { 0x14, 7 },
2110     { 0x68B, 11 },
2111     { 0x1A2A, 13 },
2112     { 0x8, 4 },
2113     { 0xB, 5 },
2114     { 0x2B, 6 },
2115     { 0xB, 6 },
2116     { 0x69, 7 },
2117     { 0x35, 6 },
2118     { 0x8, 6 },
2119     { 0x7, 4 },
2120     { 0xC, 5 }
2121   },
2122   {  /* AC bias group 3, table 1 */
2123     { 0xA, 4 },
2124     { 0x3C, 6 },
2125     { 0x32, 7 },
2126     { 0x30, 7 },
2127     { 0xC5, 9 },
2128     { 0x621, 12 },
2129     { 0x620, 12 },
2130     { 0x1F, 5 },
2131     { 0x33, 7 },
2132     { 0x1, 3 },
2133     { 0x0, 3 },
2134     { 0xE, 4 },
2135     { 0xD, 4 },
2136     { 0xC, 4 },
2137     { 0x4, 4 },
2138     { 0xD, 5 },
2139     { 0x26, 6 },
2140     { 0x27, 6 },
2141     { 0x14, 6 },
2142     { 0x63, 8 },
2143     { 0x189, 10 },
2144     { 0x623, 12 },
2145     { 0x622, 12 },
2146     { 0xB, 4 },
2147     { 0x12, 5 },
2148     { 0x3D, 6 },
2149     { 0x22, 6 },
2150     { 0x15, 6 },
2151     { 0xB, 5 },
2152     { 0x23, 6 },
2153     { 0x7, 4 },
2154     { 0x10, 5 }
2155   },
2156   {  /* AC bias group 3, table 2 */
2157     { 0xF, 4 },
2158     { 0xC, 5 },
2159     { 0x43, 7 },
2160     { 0x10, 6 },
2161     { 0x44, 8 },
2162     { 0x114, 10 },
2163     { 0x455, 12 },
2164     { 0x18, 5 },
2165     { 0x23, 7 },
2166     { 0x1, 3 },
2167     { 0x0, 3 },
2168     { 0xE, 4 },
2169     { 0xD, 4 },
2170     { 0x9, 4 },
2171     { 0x19, 5 },
2172     { 0x9, 5 },
2173     { 0x17, 6 },
2174     { 0x16, 6 },
2175     { 0x42, 7 },
2176     { 0x8B, 9 },
2177     { 0x454, 12 },
2178     { 0x457, 12 },
2179     { 0x456, 12 },
2180     { 0xB, 4 },
2181     { 0x15, 5 },
2182     { 0xA, 5 },
2183     { 0x29, 6 },
2184     { 0x20, 6 },
2185     { 0xD, 5 },
2186     { 0x28, 6 },
2187     { 0x7, 4 },
2188     { 0x11, 5 }
2189   },
2190   {  /* AC bias group 3, table 3 */
2191     { 0x1, 3 },
2192     { 0x1A, 5 },
2193     { 0x29, 6 },
2194     { 0x2A, 6 },
2195     { 0xA0, 8 },
2196     { 0x285, 10 },
2197     { 0x1425, 13 },
2198     { 0x2, 5 },
2199     { 0x0, 7 },
2200     { 0x2, 3 },
2201     { 0x3, 3 },
2202     { 0xC, 4 },
2203     { 0xB, 4 },
2204     { 0x8, 4 },
2205     { 0x12, 5 },
2206     { 0x1, 6 },
2207     { 0x51, 7 },
2208     { 0x1, 7 },
2209     { 0x143, 9 },
2210     { 0x508, 11 },
2211     { 0x1424, 13 },
2212     { 0x1427, 13 },
2213     { 0x1426, 13 },
2214     { 0xF, 4 },
2215     { 0x1C, 5 },
2216     { 0x3, 5 },
2217     { 0x37, 6 },
2218     { 0x2B, 6 },
2219     { 0x13, 5 },
2220     { 0x36, 6 },
2221     { 0x1D, 5 },
2222     { 0x1, 5 }
2223   },
2224   {  /* AC bias group 3, table 4 */
2225     { 0x4, 3 },
2226     { 0x1F, 5 },
2227     { 0x3D, 6 },
2228     { 0x6, 5 },
2229     { 0x16, 7 },
2230     { 0x53, 9 },
2231     { 0x14A, 11 },
2232     { 0x34, 6 },
2233     { 0x2A, 8 },
2234     { 0x2, 3 },
2235     { 0x3, 3 },
2236     { 0xB, 4 },
2237     { 0xC, 4 },
2238     { 0x1C, 5 },
2239     { 0x37, 6 },
2240     { 0x17, 7 },
2241     { 0x2B, 8 },
2242     { 0x28, 8 },
2243     { 0xA4, 10 },
2244     { 0x52D, 13 },
2245     { 0x52C, 13 },
2246     { 0x52F, 13 },
2247     { 0x52E, 13 },
2248     { 0x0, 3 },
2249     { 0x1D, 5 },
2250     { 0x7, 5 },
2251     { 0x4, 5 },
2252     { 0x35, 6 },
2253     { 0x14, 5 },
2254     { 0x36, 6 },
2255     { 0x15, 5 },
2256     { 0x3C, 6 }
2257   },
2258   {  /* AC bias group 3, table 5 */
2259     { 0x4, 3 },
2260     { 0xA, 4 },
2261     { 0x7, 5 },
2262     { 0x1D, 5 },
2263     { 0x9, 6 },
2264     { 0x1F3, 9 },
2265     { 0x7C7, 11 },
2266     { 0x8, 6 },
2267     { 0x1F0, 9 },
2268     { 0x3, 3 },
2269     { 0x2, 3 },
2270     { 0xD, 4 },
2271     { 0xC, 4 },
2272     { 0x17, 5 },
2273     { 0x7D, 7 },
2274     { 0x1F2, 9 },
2275     { 0x7C6, 11 },
2276     { 0x7C5, 11 },
2277     { 0x1F12, 13 },
2278     { 0x3E27, 14 },
2279     { 0x3E26, 14 },
2280     { 0x1F11, 13 },
2281     { 0x1F10, 13 },
2282     { 0x0, 3 },
2283     { 0x1E, 5 },
2284     { 0x6, 5 },
2285     { 0x39, 6 },
2286     { 0x38, 6 },
2287     { 0x3F, 6 },
2288     { 0x2C, 6 },
2289     { 0x5, 5 },
2290     { 0x2D, 6 }
2291   },
2292   {  /* AC bias group 3, table 6 */
2293     { 0x2, 3 },
2294     { 0x7, 4 },
2295     { 0x18, 5 },
2296     { 0x3, 4 },
2297     { 0x5, 5 },
2298     { 0x35, 7 },
2299     { 0x4F, 9 },
2300     { 0x12, 7 },
2301     { 0x4E5, 13 },
2302     { 0x5, 3 },
2303     { 0x4, 3 },
2304     { 0xD, 4 },
2305     { 0xE, 4 },
2306     { 0x33, 6 },
2307     { 0x26, 8 },
2308     { 0x9D, 10 },
2309     { 0x4E4, 13 },
2310     { 0x4E7, 13 },
2311     { 0x4E6, 13 },
2312     { 0x4E1, 13 },
2313     { 0x4E0, 13 },
2314     { 0x4E3, 13 },
2315     { 0x4E2, 13 },
2316     { 0x0, 3 },
2317     { 0x1F, 5 },
2318     { 0xC, 5 },
2319     { 0x3D, 6 },
2320     { 0x3C, 6 },
2321     { 0x32, 6 },
2322     { 0x34, 7 },
2323     { 0x1B, 6 },
2324     { 0x8, 6 }
2325   },
2326   {  /* AC bias group 3, table 7 */
2327     { 0x0, 3 },
2328     { 0x4, 4 },
2329     { 0x1C, 5 },
2330     { 0xF, 4 },
2331     { 0x2, 4 },
2332     { 0x7, 5 },
2333     { 0x75, 7 },
2334     { 0xE8, 8 },
2335     { 0x1D2A, 13 },
2336     { 0x5, 3 },
2337     { 0x4, 3 },
2338     { 0xD, 4 },
2339     { 0xC, 4 },
2340     { 0x77, 7 },
2341     { 0xE96, 12 },
2342     { 0x3A57, 14 },
2343     { 0x3A56, 14 },
2344     { 0x3A5D, 14 },
2345     { 0x3A5C, 14 },
2346     { 0x3A5F, 14 },
2347     { 0x3A5E, 14 },
2348     { 0x1D29, 13 },
2349     { 0x1D28, 13 },
2350     { 0x3, 3 },
2351     { 0x6, 5 },
2352     { 0xA, 5 },
2353     { 0x2C, 7 },
2354     { 0x17, 6 },
2355     { 0x76, 7 },
2356     { 0x1D3, 9 },
2357     { 0x3A4, 10 },
2358     { 0x2D, 7 }
2359   },
2360   {  /* AC bias group 3, table 8 */
2361     { 0xA, 4 },
2362     { 0x24, 6 },
2363     { 0xBF, 8 },
2364     { 0x85, 8 },
2365     { 0x211, 10 },
2366     { 0x842, 12 },
2367     { 0x1087, 13 },
2368     { 0x18, 5 },
2369     { 0x20, 6 },
2370     { 0x1, 3 },
2371     { 0x2, 3 },
2372     { 0xE, 4 },
2373     { 0xD, 4 },
2374     { 0x7, 4 },
2375     { 0x13, 5 },
2376     { 0x25, 6 },
2377     { 0x5E, 7 },
2378     { 0x43, 7 },
2379     { 0xBE, 8 },
2380     { 0x109, 9 },
2381     { 0x1086, 13 },
2382     { 0x841, 12 },
2383     { 0x840, 12 },
2384     { 0xF, 4 },
2385     { 0x1, 4 },
2386     { 0x11, 5 },
2387     { 0x0, 5 },
2388     { 0x2E, 6 },
2389     { 0x19, 5 },
2390     { 0x1, 5 },
2391     { 0x6, 4 },
2392     { 0x16, 5 }
2393   },
2394   {  /* AC bias group 3, table 9 */
2395     { 0x2, 3 },
2396     { 0xF, 5 },
2397     { 0x6F, 7 },
2398     { 0x61, 7 },
2399     { 0x374, 10 },
2400     { 0x1BA8, 13 },
2401     { 0x3753, 14 },
2402     { 0x12, 5 },
2403     { 0x36, 6 },
2404     { 0x0, 3 },
2405     { 0x1, 3 },
2406     { 0xA, 4 },
2407     { 0xB, 4 },
2408     { 0x1A, 5 },
2409     { 0x31, 6 },
2410     { 0x60, 7 },
2411     { 0xDC, 8 },
2412     { 0x1BB, 9 },
2413     { 0x6EB, 11 },
2414     { 0x1BAB, 13 },
2415     { 0x3752, 14 },
2416     { 0x3755, 14 },
2417     { 0x3754, 14 },
2418     { 0xE, 4 },
2419     { 0x6, 4 },
2420     { 0x13, 5 },
2421     { 0xE, 5 },
2422     { 0x3E, 6 },
2423     { 0x8, 4 },
2424     { 0x1E, 5 },
2425     { 0x19, 5 },
2426     { 0x3F, 6 }
2427   },
2428   {  /* AC bias group 3, table 10 */
2429     { 0x3, 3 },
2430     { 0x1C, 5 },
2431     { 0x25, 6 },
2432     { 0x24, 6 },
2433     { 0x1DA, 9 },
2434     { 0x1DBD, 13 },
2435     { 0x3B7C, 14 },
2436     { 0x3C, 6 },
2437     { 0x3D, 6 },
2438     { 0x0, 3 },
2439     { 0x1, 3 },
2440     { 0xB, 4 },
2441     { 0xA, 4 },
2442     { 0xB, 5 },
2443     { 0x77, 7 },
2444     { 0xEC, 8 },
2445     { 0x3B6, 10 },
2446     { 0x76E, 11 },
2447     { 0x1DBF, 13 },
2448     { 0x76FB, 15 },
2449     { 0x76FA, 15 },
2450     { 0x3B79, 14 },
2451     { 0x3B78, 14 },
2452     { 0xD, 4 },
2453     { 0x1F, 5 },
2454     { 0x13, 5 },
2455     { 0xA, 5 },
2456     { 0x8, 5 },
2457     { 0xC, 4 },
2458     { 0x8, 4 },
2459     { 0x9, 5 },
2460     { 0x3A, 6 }
2461   },
2462   {  /* AC bias group 3, table 11 */
2463     { 0x5, 3 },
2464     { 0x3, 4 },
2465     { 0x4, 5 },
2466     { 0x10, 5 },
2467     { 0x8F, 8 },
2468     { 0x475, 11 },
2469     { 0x11D1, 13 },
2470     { 0x79, 7 },
2471     { 0x27, 6 },
2472     { 0x2, 3 },
2473     { 0x3, 3 },
2474     { 0x1, 4 },
2475     { 0x0, 4 },
2476     { 0x26, 6 },
2477     { 0x46, 7 },
2478     { 0x11C, 9 },
2479     { 0x477, 11 },
2480     { 0x8ED, 12 },
2481     { 0x11D0, 13 },
2482     { 0x11D3, 13 },
2483     { 0x11D2, 13 },
2484     { 0x11D9, 13 },
2485     { 0x11D8, 13 },
2486     { 0xD, 4 },
2487     { 0x1F, 5 },
2488     { 0x12, 5 },
2489     { 0x5, 5 },
2490     { 0x3D, 6 },
2491     { 0xC, 4 },
2492     { 0xE, 4 },
2493     { 0x22, 6 },
2494     { 0x78, 7 }
2495   },
2496   {  /* AC bias group 3, table 12 */
2497     { 0x5, 3 },
2498     { 0xC, 4 },
2499     { 0x1B, 5 },
2500     { 0x0, 4 },
2501     { 0x6, 6 },
2502     { 0x3E2, 10 },
2503     { 0x3E3D, 14 },
2504     { 0xF, 7 },
2505     { 0x34, 6 },
2506     { 0x3, 3 },
2507     { 0x2, 3 },
2508     { 0x1E, 5 },
2509     { 0x1D, 5 },
2510     { 0x7D, 7 },
2511     { 0x1F0, 9 },
2512     { 0x7C6, 11 },
2513     { 0x3E3C, 14 },
2514     { 0x3E3F, 14 },
2515     { 0x3E3E, 14 },
2516     { 0x3E39, 14 },
2517     { 0x3E38, 14 },
2518     { 0x3E3B, 14 },
2519     { 0x3E3A, 14 },
2520     { 0x8, 4 },
2521     { 0x1C, 5 },
2522     { 0x2, 5 },
2523     { 0x3F, 6 },
2524     { 0x35, 6 },
2525     { 0x9, 4 },
2526     { 0x1, 3 },
2527     { 0xE, 7 },
2528     { 0xF9, 8 }
2529   },
2530   {  /* AC bias group 3, table 13 */
2531     { 0x4, 3 },
2532     { 0xB, 4 },
2533     { 0x1, 4 },
2534     { 0xA, 4 },
2535     { 0x1E, 6 },
2536     { 0xE0, 9 },
2537     { 0xE1E, 13 },
2538     { 0x71, 8 },
2539     { 0x39, 7 },
2540     { 0x7, 3 },
2541     { 0x6, 3 },
2542     { 0xD, 5 },
2543     { 0xC, 5 },
2544     { 0x20, 7 },
2545     { 0x1C2, 10 },
2546     { 0x1C3F, 14 },
2547     { 0x1C3E, 14 },
2548     { 0xE19, 13 },
2549     { 0xE18, 13 },
2550     { 0xE1B, 13 },
2551     { 0xE1A, 13 },
2552     { 0xE1D, 13 },
2553     { 0xE1C, 13 },
2554     { 0x0, 4 },
2555     { 0x9, 5 },
2556     { 0x1D, 6 },
2557     { 0x1F, 6 },
2558     { 0x11, 6 },
2559     { 0x5, 4 },
2560     { 0x1, 3 },
2561     { 0x43, 8 },
2562     { 0x42, 8 }
2563   },
2564   {  /* AC bias group 3, table 14 */
2565     { 0x4, 3 },
2566     { 0xD, 4 },
2567     { 0x7, 4 },
2568     { 0x2, 3 },
2569     { 0x14, 5 },
2570     { 0x16C, 9 },
2571     { 0x16D1, 13 },
2572     { 0x2DF, 10 },
2573     { 0x16E, 9 },
2574     { 0x0, 2 },
2575     { 0x7, 3 },
2576     { 0x2C, 6 },
2577     { 0x2B, 6 },
2578     { 0x2DE, 10 },
2579     { 0x16D0, 13 },
2580     { 0x16D3, 13 },
2581     { 0x16D2, 13 },
2582     { 0x2DB5, 14 },
2583     { 0x2DB4, 14 },
2584     { 0x2DB7, 14 },
2585     { 0x2DB6, 14 },
2586     { 0x16D9, 13 },
2587     { 0x16D8, 13 },
2588     { 0xC, 5 },
2589     { 0x2A, 6 },
2590     { 0x5A, 7 },
2591     { 0x1B, 6 },
2592     { 0x1A, 6 },
2593     { 0x17, 5 },
2594     { 0xC, 4 },
2595     { 0x5B7, 11 },
2596     { 0x5B5, 11 }
2597   },
2598   {  /* AC bias group 3, table 15 */
2599     { 0x2, 2 },
2600     { 0xF, 4 },
2601     { 0x1C, 5 },
2602     { 0xC, 4 },
2603     { 0x3B, 6 },
2604     { 0x1AC, 9 },
2605     { 0x1AD8, 13 },
2606     { 0x35B3, 14 },
2607     { 0x35B2, 14 },
2608     { 0x1, 2 },
2609     { 0x0, 2 },
2610     { 0x69, 7 },
2611     { 0x68, 7 },
2612     { 0x35BD, 14 },
2613     { 0x35BC, 14 },
2614     { 0x35BF, 14 },
2615     { 0x35BE, 14 },
2616     { 0x35B9, 14 },
2617     { 0x35B8, 14 },
2618     { 0x35BB, 14 },
2619     { 0x35BA, 14 },
2620     { 0x35B5, 14 },
2621     { 0x35B4, 14 },
2622     { 0x1A9, 9 },
2623     { 0x1A8, 9 },
2624     { 0x35A, 10 },
2625     { 0xD7, 8 },
2626     { 0xD5, 8 },
2627     { 0x3A, 6 },
2628     { 0x1B, 5 },
2629     { 0x35B7, 14 },
2630     { 0x35B6, 14 }
2631   }
2632 };
2633
2634 static const uint16_t ac_bias_3[16][32][2] = {
2635   {  /* AC bias group 4, table 0 */
2636     { 0x0, 3 },
2637     { 0x10, 5 },
2638     { 0x72, 7 },
2639     { 0x71, 7 },
2640     { 0x154, 9 },
2641     { 0xAAB, 12 },
2642     { 0xAA8, 12 },
2643     { 0x14, 5 },
2644     { 0x70, 7 },
2645     { 0x2, 3 },
2646     { 0x3, 3 },
2647     { 0xC, 4 },
2648     { 0xB, 4 },
2649     { 0x3, 4 },
2650     { 0x11, 5 },
2651     { 0x73, 7 },
2652     { 0x54, 7 },
2653     { 0xAB, 8 },
2654     { 0x2AB, 10 },
2655     { 0x1553, 13 },
2656     { 0x1552, 13 },
2657     { 0x1555, 13 },
2658     { 0x1554, 13 },
2659     { 0xD, 4 },
2660     { 0x1E, 5 },
2661     { 0x12, 5 },
2662     { 0x3E, 6 },
2663     { 0x2B, 6 },
2664     { 0x2, 4 },
2665     { 0x3F, 6 },
2666     { 0x1D, 5 },
2667     { 0x13, 5 }
2668   },
2669   {  /* AC bias group 4, table 1 */
2670     { 0x3, 3 },
2671     { 0x1F, 5 },
2672     { 0x29, 6 },
2673     { 0x3D, 6 },
2674     { 0xC, 7 },
2675     { 0x69, 10 },
2676     { 0x345, 13 },
2677     { 0x2, 5 },
2678     { 0x28, 6 },
2679     { 0x2, 3 },
2680     { 0x1, 3 },
2681     { 0xE, 4 },
2682     { 0xC, 4 },
2683     { 0x15, 5 },
2684     { 0x7, 6 },
2685     { 0x1B, 8 },
2686     { 0x6B, 10 },
2687     { 0x6A, 10 },
2688     { 0x344, 13 },
2689     { 0x347, 13 },
2690     { 0x346, 13 },
2691     { 0x1A1, 12 },
2692     { 0x1A0, 12 },
2693     { 0xB, 4 },
2694     { 0x1A, 5 },
2695     { 0x12, 5 },
2696     { 0x0, 5 },
2697     { 0x3C, 6 },
2698     { 0x8, 4 },
2699     { 0x1B, 5 },
2700     { 0x13, 5 },
2701     { 0x1, 5 }
2702   },
2703   {  /* AC bias group 4, table 2 */
2704     { 0x4, 3 },
2705     { 0x4, 4 },
2706     { 0x3F, 6 },
2707     { 0x14, 5 },
2708     { 0x56, 7 },
2709     { 0x15C, 9 },
2710     { 0x15D5, 13 },
2711     { 0x3C, 6 },
2712     { 0x2A, 6 },
2713     { 0x0, 3 },
2714     { 0x1, 3 },
2715     { 0xE, 4 },
2716     { 0xD, 4 },
2717     { 0xC, 5 },
2718     { 0xAF, 8 },
2719     { 0x2BB, 10 },
2720     { 0x15D4, 13 },
2721     { 0x15D7, 13 },
2722     { 0x15D6, 13 },
2723     { 0x15D1, 13 },
2724     { 0x15D0, 13 },
2725     { 0x15D3, 13 },
2726     { 0x15D2, 13 },
2727     { 0xB, 4 },
2728     { 0x19, 5 },
2729     { 0xD, 5 },
2730     { 0x3E, 6 },
2731     { 0x31, 6 },
2732     { 0x7, 4 },
2733     { 0x5, 4 },
2734     { 0x3D, 6 },
2735     { 0x30, 6 }
2736   },
2737   {  /* AC bias group 4, table 3 */
2738     { 0x5, 3 },
2739     { 0x8, 4 },
2740     { 0x1A, 5 },
2741     { 0x0, 4 },
2742     { 0x36, 6 },
2743     { 0x11, 8 },
2744     { 0x106, 12 },
2745     { 0xA, 7 },
2746     { 0x6E, 7 },
2747     { 0x2, 3 },
2748     { 0x3, 3 },
2749     { 0x3, 4 },
2750     { 0x2, 4 },
2751     { 0x6F, 7 },
2752     { 0x21, 9 },
2753     { 0x20F, 13 },
2754     { 0x20E, 13 },
2755     { 0x101, 12 },
2756     { 0x100, 12 },
2757     { 0x103, 12 },
2758     { 0x102, 12 },
2759     { 0x105, 12 },
2760     { 0x104, 12 },
2761     { 0xC, 4 },
2762     { 0x1E, 5 },
2763     { 0x3, 5 },
2764     { 0x3E, 6 },
2765     { 0x3F, 6 },
2766     { 0x9, 4 },
2767     { 0xE, 4 },
2768     { 0xB, 7 },
2769     { 0x9, 7 }
2770   },
2771   {  /* AC bias group 4, table 4 */
2772     { 0x2, 3 },
2773     { 0xE, 4 },
2774     { 0x1E, 5 },
2775     { 0xC, 4 },
2776     { 0x1F, 5 },
2777     { 0x6E, 7 },
2778     { 0xAD, 10 },
2779     { 0xAF, 10 },
2780     { 0x14, 7 },
2781     { 0x4, 3 },
2782     { 0x3, 3 },
2783     { 0x1A, 5 },
2784     { 0x17, 5 },
2785     { 0x2A, 8 },
2786     { 0x576, 13 },
2787     { 0xAEF, 14 },
2788     { 0xAEE, 14 },
2789     { 0x571, 13 },
2790     { 0x570, 13 },
2791     { 0x573, 13 },
2792     { 0x572, 13 },
2793     { 0x575, 13 },
2794     { 0x574, 13 },
2795     { 0x3, 4 },
2796     { 0x16, 5 },
2797     { 0x4, 5 },
2798     { 0x36, 6 },
2799     { 0xB, 6 },
2800     { 0xA, 4 },
2801     { 0x0, 3 },
2802     { 0x6F, 7 },
2803     { 0xAC, 10 }
2804   },
2805   {  /* AC bias group 4, table 5 */
2806     { 0x4, 3 },
2807     { 0x5, 4 },
2808     { 0x3, 3 },
2809     { 0x1, 3 },
2810     { 0x4, 4 },
2811     { 0x2F, 6 },
2812     { 0x526, 11 },
2813     { 0x1495, 13 },
2814     { 0xA6, 8 },
2815     { 0x7, 3 },
2816     { 0x6, 3 },
2817     { 0x2D, 6 },
2818     { 0x2C, 6 },
2819     { 0x1494, 13 },
2820     { 0x1497, 13 },
2821     { 0x1496, 13 },
2822     { 0x1491, 13 },
2823     { 0x1490, 13 },
2824     { 0x1493, 13 },
2825     { 0x1492, 13 },
2826     { 0x293D, 14 },
2827     { 0x293C, 14 },
2828     { 0x293F, 14 },
2829     { 0x0, 3 },
2830     { 0x28, 6 },
2831     { 0xA5, 8 },
2832     { 0x148, 9 },
2833     { 0xA7, 8 },
2834     { 0x2E, 6 },
2835     { 0x15, 5 },
2836     { 0xA4E, 12 },
2837     { 0x293E, 14 }
2838   },
2839   {  /* AC bias group 4, table 6 */
2840     { 0x4, 3 },
2841     { 0x5, 4 },
2842     { 0x3, 3 },
2843     { 0x1, 3 },
2844     { 0x4, 4 },
2845     { 0x2F, 6 },
2846     { 0x526, 11 },
2847     { 0x1495, 13 },
2848     { 0xA6, 8 },
2849     { 0x7, 3 },
2850     { 0x6, 3 },
2851     { 0x2D, 6 },
2852     { 0x2C, 6 },
2853     { 0x1494, 13 },
2854     { 0x1497, 13 },
2855     { 0x1496, 13 },
2856     { 0x1491, 13 },
2857     { 0x1490, 13 },
2858     { 0x1493, 13 },
2859     { 0x1492, 13 },
2860     { 0x293D, 14 },
2861     { 0x293C, 14 },
2862     { 0x293F, 14 },
2863     { 0x0, 3 },
2864     { 0x28, 6 },
2865     { 0xA5, 8 },
2866     { 0x148, 9 },
2867     { 0xA7, 8 },
2868     { 0x2E, 6 },
2869     { 0x15, 5 },
2870     { 0xA4E, 12 },
2871     { 0x293E, 14 }
2872   },
2873   {  /* AC bias group 4, table 7 */
2874     { 0x4, 3 },
2875     { 0x5, 4 },
2876     { 0x3, 3 },
2877     { 0x1, 3 },
2878     { 0x4, 4 },
2879     { 0x2F, 6 },
2880     { 0x526, 11 },
2881     { 0x1495, 13 },
2882     { 0xA6, 8 },
2883     { 0x7, 3 },
2884     { 0x6, 3 },
2885     { 0x2D, 6 },
2886     { 0x2C, 6 },
2887     { 0x1494, 13 },
2888     { 0x1497, 13 },
2889     { 0x1496, 13 },
2890     { 0x1491, 13 },
2891     { 0x1490, 13 },
2892     { 0x1493, 13 },
2893     { 0x1492, 13 },
2894     { 0x293D, 14 },
2895     { 0x293C, 14 },
2896     { 0x293F, 14 },
2897     { 0x0, 3 },
2898     { 0x28, 6 },
2899     { 0xA5, 8 },
2900     { 0x148, 9 },
2901     { 0xA7, 8 },
2902     { 0x2E, 6 },
2903     { 0x15, 5 },
2904     { 0xA4E, 12 },
2905     { 0x293E, 14 }
2906   },
2907   {  /* AC bias group 4, table 8 */
2908     { 0x3, 3 },
2909     { 0x11, 5 },
2910     { 0x20, 6 },
2911     { 0x74, 7 },
2912     { 0x10D, 9 },
2913     { 0x863, 12 },
2914     { 0x860, 12 },
2915     { 0xA, 5 },
2916     { 0x75, 7 },
2917     { 0x1, 3 },
2918     { 0x0, 3 },
2919     { 0xB, 4 },
2920     { 0xA, 4 },
2921     { 0x18, 5 },
2922     { 0x38, 6 },
2923     { 0x42, 7 },
2924     { 0x10F, 9 },
2925     { 0x10E, 9 },
2926     { 0x219, 10 },
2927     { 0x10C3, 13 },
2928     { 0x10C2, 13 },
2929     { 0x10C5, 13 },
2930     { 0x10C4, 13 },
2931     { 0xF, 4 },
2932     { 0x4, 4 },
2933     { 0x19, 5 },
2934     { 0xB, 5 },
2935     { 0x39, 6 },
2936     { 0x9, 4 },
2937     { 0x1B, 5 },
2938     { 0x1A, 5 },
2939     { 0x3B, 6 }
2940   },
2941   {  /* AC bias group 4, table 9 */
2942     { 0x5, 3 },
2943     { 0x1, 4 },
2944     { 0x3E, 6 },
2945     { 0x1, 5 },
2946     { 0xE2, 8 },
2947     { 0x1C6F, 13 },
2948     { 0x38D9, 14 },
2949     { 0x39, 6 },
2950     { 0x1F, 6 },
2951     { 0x2, 3 },
2952     { 0x1, 3 },
2953     { 0x9, 4 },
2954     { 0x8, 4 },
2955     { 0x0, 5 },
2956     { 0x70, 7 },
2957     { 0x1C7, 9 },
2958     { 0x38C, 10 },
2959     { 0x71A, 11 },
2960     { 0x38D8, 14 },
2961     { 0x38DB, 14 },
2962     { 0x38DA, 14 },
2963     { 0x38DD, 14 },
2964     { 0x38DC, 14 },
2965     { 0xD, 4 },
2966     { 0x1D, 5 },
2967     { 0xE, 5 },
2968     { 0x3F, 6 },
2969     { 0x3C, 6 },
2970     { 0xC, 4 },
2971     { 0x6, 4 },
2972     { 0x3D, 6 },
2973     { 0x1E, 6 }
2974   },
2975   {  /* AC bias group 4, table 10 */
2976     { 0x6, 3 },
2977     { 0xB, 4 },
2978     { 0x11, 5 },
2979     { 0x1E, 5 },
2980     { 0x74, 7 },
2981     { 0x3AA, 10 },
2982     { 0x1D5C, 13 },
2983     { 0x1, 6 },
2984     { 0x21, 6 },
2985     { 0x1, 3 },
2986     { 0x2, 3 },
2987     { 0x7, 4 },
2988     { 0x6, 4 },
2989     { 0x3E, 6 },
2990     { 0xEB, 8 },
2991     { 0x1D4, 9 },
2992     { 0xEAF, 12 },
2993     { 0x3ABB, 14 },
2994     { 0x3ABA, 14 },
2995     { 0x1D59, 13 },
2996     { 0x1D58, 13 },
2997     { 0x1D5B, 13 },
2998     { 0x1D5A, 13 },
2999     { 0xA, 4 },
3000     { 0x1C, 5 },
3001     { 0x1, 5 },
3002     { 0x3F, 6 },
3003     { 0x3B, 6 },
3004     { 0x1, 4 },
3005     { 0x9, 4 },
3006     { 0x20, 6 },
3007     { 0x0, 6 }
3008   },
3009   {  /* AC bias group 4, table 11 */
3010     { 0x4, 3 },
3011     { 0xA, 4 },
3012     { 0x17, 5 },
3013     { 0x4, 4 },
3014     { 0x16, 6 },
3015     { 0x16A, 9 },
3016     { 0x16B1, 13 },
3017     { 0x17, 7 },
3018     { 0x5B, 7 },
3019     { 0x6, 3 },
3020     { 0x7, 3 },
3021     { 0x1, 4 },
3022     { 0x0, 4 },
3023     { 0xA, 6 },
3024     { 0x2D7, 10 },
3025     { 0xB5A, 12 },
3026     { 0x16B0, 13 },
3027     { 0x16B3, 13 },
3028     { 0x16B2, 13 },
3029     { 0x2D6D, 14 },
3030     { 0x2D6C, 14 },
3031     { 0x2D6F, 14 },
3032     { 0x2D6E, 14 },
3033     { 0x6, 4 },
3034     { 0xA, 5 },
3035     { 0x4, 5 },
3036     { 0x2C, 6 },
3037     { 0x17, 6 },
3038     { 0x3, 4 },
3039     { 0x7, 4 },
3040     { 0x16, 7 },
3041     { 0xB4, 8 }
3042   },
3043   {  /* AC bias group 4, table 12 */
3044     { 0x5, 3 },
3045     { 0xD, 4 },
3046     { 0x5, 4 },
3047     { 0x9, 4 },
3048     { 0x33, 6 },
3049     { 0x193, 9 },
3050     { 0x192C, 13 },
3051     { 0x61, 8 },
3052     { 0x31, 7 },
3053     { 0x0, 2 },
3054     { 0x7, 3 },
3055     { 0x10, 5 },
3056     { 0x11, 5 },
3057     { 0xC8, 8 },
3058     { 0x192F, 13 },
3059     { 0x325B, 14 },
3060     { 0x325A, 14 },
3061     { 0x1929, 13 },
3062     { 0x1928, 13 },
3063     { 0x192B, 13 },
3064     { 0x192A, 13 },
3065     { 0x325D, 14 },
3066     { 0x325C, 14 },
3067     { 0x18, 5 },
3068     { 0x1A, 6 },
3069     { 0x1B, 6 },
3070     { 0x65, 7 },
3071     { 0x19, 6 },
3072     { 0x4, 4 },
3073     { 0x7, 4 },
3074     { 0x60, 8 },
3075     { 0x324, 10 }
3076   },
3077   {  /* AC bias group 4, table 13 */
3078     { 0x6, 3 },
3079     { 0x0, 3 },
3080     { 0x2, 4 },
3081     { 0xF, 4 },
3082     { 0x39, 6 },
3083     { 0x1D9, 9 },
3084     { 0x1D82, 13 },
3085     { 0x761, 11 },
3086     { 0x3BE, 10 },
3087     { 0x1, 2 },
3088     { 0x2, 2 },
3089     { 0xF, 6 },
3090     { 0xE, 6 },
3091     { 0x762, 11 },
3092     { 0x3B07, 14 },
3093     { 0x3B06, 14 },
3094     { 0x3B1D, 14 },
3095     { 0x3B1C, 14 },
3096     { 0x3B1F, 14 },
3097     { 0x3B1E, 14 },
3098     { 0x3B19, 14 },
3099     { 0x3B18, 14 },
3100     { 0x3B1B, 14 },
3101     { 0x38, 6 },
3102     { 0x1DE, 9 },
3103     { 0xED, 8 },
3104     { 0x3BF, 10 },
3105     { 0xEE, 8 },
3106     { 0x3A, 6 },
3107     { 0x6, 5 },
3108     { 0xEC0, 12 },
3109     { 0x3B1A, 14 }
3110   },
3111   {  /* AC bias group 4, table 14 */
3112     { 0x0, 2 },
3113     { 0x2, 3 },
3114     { 0xF, 5 },
3115     { 0x6, 4 },
3116     { 0x1C, 6 },
3117     { 0x1D0, 10 },
3118     { 0xE8C, 13 },
3119     { 0x1D1B, 14 },
3120     { 0x1D1A, 14 },
3121     { 0x3, 2 },
3122     { 0x2, 2 },
3123     { 0xEA, 9 },
3124     { 0xE9, 9 },
3125     { 0xE89, 13 },
3126     { 0xE88, 13 },
3127     { 0xE8B, 13 },
3128     { 0xE8A, 13 },
3129     { 0x1D65, 14 },
3130     { 0x1D64, 14 },
3131     { 0x1D67, 14 },
3132     { 0x1D66, 14 },
3133     { 0x1D61, 14 },
3134     { 0x1D60, 14 },
3135     { 0x3AD, 11 },
3136     { 0x1D63, 14 },
3137     { 0x1D62, 14 },
3138     { 0x1D1D, 14 },
3139     { 0x1D1C, 14 },
3140     { 0x3B, 7 },
3141     { 0x1D7, 10 },
3142     { 0x1D1F, 14 },
3143     { 0x1D1E, 14 }
3144   },
3145   {  /* AC bias group 4, table 15 */
3146     { 0x2, 2 },
3147     { 0xF, 4 },
3148     { 0x1C, 5 },
3149     { 0xC, 4 },
3150     { 0x3B, 6 },
3151     { 0x1AC, 9 },
3152     { 0x1AD8, 13 },
3153     { 0x35B3, 14 },
3154     { 0x35B2, 14 },
3155     { 0x1, 2 },
3156     { 0x0, 2 },
3157     { 0x69, 7 },
3158     { 0x68, 7 },
3159     { 0x35BD, 14 },
3160     { 0x35BC, 14 },
3161     { 0x35BF, 14 },
3162     { 0x35BE, 14 },
3163     { 0x35B9, 14 },
3164     { 0x35B8, 14 },
3165     { 0x35BB, 14 },
3166     { 0x35BA, 14 },
3167     { 0x35B5, 14 },
3168     { 0x35B4, 14 },
3169     { 0x1A9, 9 },
3170     { 0x1A8, 9 },
3171     { 0x35A, 10 },
3172     { 0xD7, 8 },
3173     { 0xD5, 8 },
3174     { 0x3A, 6 },
3175     { 0x1B, 5 },
3176     { 0x35B7, 14 },
3177     { 0x35B6, 14 }
3178   }
3179 };
3180
3181 #endif /* AVCODEC_VP3DATA_H */