1/*
2 * copyright (C) 2003 the ffmpeg project
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21#ifndef AVCODEC_VP3DATA_H
22#define AVCODEC_VP3DATA_H
23
24#include <stdint.h>
25#include <stdlib.h>
26
27/* these coefficients dequantize intraframe Y plane coefficients
28 * (note: same as JPEG) */
29static 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) */
42static 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) */
54static 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
65static 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
76static 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
87static 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
98static 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
119static 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
144static 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
151static 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
179static 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
189static 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 */
201static const int eob_run_base[7] = {
202    1, 2, 3, 4, 8, 16, 0
203};
204static const int eob_run_get_bits[7] = {
205    0, 0, 0, 2, 3, 4, 12
206};
207
208static 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};
215static 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
223static 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
232static const int16_t coeff_table_token_7_8[1] = { 0 };
233static const int16_t coeff_table_token_9[1] = { 1 };
234static const int16_t coeff_table_token_10[1] = { -1 };
235static const int16_t coeff_table_token_11[1] = { 2 };
236static const int16_t coeff_table_token_12[1] = { -2 };
237
238static const int16_t coeff_table_token_13[2] = { 3, -3 };
239static const int16_t coeff_table_token_14[2] = { 4, -4 };
240static const int16_t coeff_table_token_15[2] = { 5, -5 };
241static const int16_t coeff_table_token_16[2] = { 6, -6 };
242
243static const int16_t coeff_table_token_23_24_25_26_27_28_29[2] = { 1, -1 };
244static const int16_t coeff_table_token_30[4] = { 2, 3, -2, -3 };
245static const int16_t coeff_table_token_31[4] = { 2, 3, -2, -3 };
246
247static const int16_t coeff_table_token_17[4] = {
248    7, 8, -7, -8
249};
250
251static const int16_t coeff_table_token_18[8] = {
252    9, 10, 11, 12, -9, -10, -11, -12
253};
254
255static 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
259static 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
266static 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
277static 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
408static 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
446static 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
993static 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
1540static 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
2087static 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
2634static 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 */
3182