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