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