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