FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
vp3data.h
Go to the documentation of this file.
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 int8_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 int8_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 int8_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 uint8_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 int8_t 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 uint8_t eob_run_base[7] = {
202  1, 2, 3, 4, 8, 16, 0
203 };
204 static const uint8_t eob_run_get_bits[7] = {
205  0, 0, 0, 2, 3, 4, 12
206 };
207 
208 static const uint8_t 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 uint8_t 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 uint8_t 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,
417 
426 
435 
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 */
#define NULL
Definition: coverity.c:32
static const uint8_t eob_run_base[7]
Definition: vp3data.h:201
static const int16_t coeff_table_token_19[16]
Definition: vp3data.h:255
static const int8_t vp31_intra_c_dequant[64]
Definition: vp3data.h:42
static const uint16_t fragment_run_length_vlc_table[30][2]
Definition: vp3data.h:119
static const int8_t vp31_intra_y_dequant[64]
Definition: vp3data.h:29
static const uint8_t zero_run_base[32]
Definition: vp3data.h:208
static const uint8_t coeff_get_bits[32]
Definition: vp3data.h:223
static const uint32_t vp31_ac_scale_factor[64]
Definition: vp3data.h:76
static const uint16_t ac_bias_3[16][32][2]
Definition: vp3data.h:2634
static const uint16_t dc_bias[16][32][2]
Definition: vp3data.h:446
static const int16_t coeff_table_token_20[32]
Definition: vp3data.h:259
uint8_t
static const uint8_t mode_code_vlc_table[8][2]
Definition: vp3data.h:144
static const uint16_t ac_bias_1[16][32][2]
Definition: vp3data.h:1540
static const uint8_t motion_vector_vlc_table[63][2]
Definition: vp3data.h:151
static const int8_t fixed_motion_vector_table[64]
Definition: vp3data.h:189
static const int16_t coeff_table_token_30[4]
Definition: vp3data.h:244
static const int16_t *const coeff_tables[32]
Definition: vp3data.h:408
static const uint8_t eob_run_get_bits[7]
Definition: vp3data.h:204
static const int16_t coeff_table_token_18[8]
Definition: vp3data.h:251
static const int16_t coeff_table_token_13[2]
Definition: vp3data.h:238
static const int8_t motion_vector_table[63]
Definition: vp3data.h:179
static const uint16_t ac_bias_2[16][32][2]
Definition: vp3data.h:2087
static const int16_t coeff_table_token_15[2]
Definition: vp3data.h:240
static const uint16_t ac_bias_0[16][32][2]
Definition: vp3data.h:993
static const int16_t coeff_table_token_14[2]
Definition: vp3data.h:239
static const int16_t coeff_table_token_17[4]
Definition: vp3data.h:247
static const int16_t coeff_table_token_21[64]
Definition: vp3data.h:266
static const int16_t coeff_table_token_7_8[1]
Definition: vp3data.h:232
static const uint8_t vp31_dc_scale_factor[64]
Definition: vp3data.h:65
static const uint16_t superblock_run_length_vlc_table[34][2]
Definition: vp3data.h:98
static const int16_t coeff_table_token_10[1]
Definition: vp3data.h:234
static const int16_t coeff_table_token_12[1]
Definition: vp3data.h:236
static const int8_t vp31_inter_dequant[64]
Definition: vp3data.h:54
static const int16_t coeff_table_token_31[4]
Definition: vp3data.h:245
static const int16_t coeff_table_token_11[1]
Definition: vp3data.h:235
static const int16_t coeff_table_token_9[1]
Definition: vp3data.h:233
static const int16_t coeff_table_token_23_24_25_26_27_28_29[2]
Definition: vp3data.h:243
static const uint8_t vp31_filter_limit_values[64]
Definition: vp3data.h:87
static const int16_t coeff_table_token_22[1024]
Definition: vp3data.h:277
static const int16_t coeff_table_token_16[2]
Definition: vp3data.h:241
static const uint8_t zero_run_get_bits[32]
Definition: vp3data.h:215