4 /* these coefficients dequantize intraframe Y plane coefficients */
5 static int16_t vp31_intra_y_dequant[64] =
6 { 16, 11, 10, 16, 24, 40, 51, 61,
7 12, 12, 14, 19, 26, 58, 60, 55,
8 14, 13, 16, 24, 40, 57, 69, 56,
9 14, 17, 22, 29, 51, 87, 80, 62,
10 18, 22, 37, 58, 68, 109, 103, 77,
11 24, 35, 55, 64, 81, 104, 113, 92,
12 49, 64, 78, 87, 103, 121, 120, 101,
13 72, 92, 95, 98, 112, 100, 103, 99
16 /* these coefficients dequantize intraframe C plane coefficients */
17 static int16_t vp31_intra_c_dequant[64] =
18 { 17, 18, 24, 47, 99, 99, 99, 99,
19 18, 21, 26, 66, 99, 99, 99, 99,
20 24, 26, 56, 99, 99, 99, 99, 99,
21 47, 66, 99, 99, 99, 99, 99, 99,
22 99, 99, 99, 99, 99, 99, 99, 99,
23 99, 99, 99, 99, 99, 99, 99, 99,
24 99, 99, 99, 99, 99, 99, 99, 99,
25 99, 99, 99, 99, 99, 99, 99, 99
28 /* these coefficients dequantize interframe coefficients (all planes) */
29 static int16_t vp31_inter_dequant[64] =
30 { 16, 16, 16, 20, 24, 28, 32, 40,
31 16, 16, 20, 24, 28, 32, 40, 48,
32 16, 20, 24, 28, 32, 40, 48, 64,
33 20, 24, 28, 32, 40, 48, 64, 64,
34 24, 28, 32, 40, 48, 64, 64, 64,
35 28, 32, 40, 48, 64, 64, 64, 96,
36 32, 40, 48, 64, 64, 64, 96, 128,
37 40, 48, 64, 64, 64, 96, 128, 128
40 static int16_t vp31_dc_scale_factor[64] =
41 { 220, 200, 190, 180, 170, 170, 160, 160,
42 150, 150, 140, 140, 130, 130, 120, 120,
43 110, 110, 100, 100, 90, 90, 90, 80,
44 80, 80, 70, 70, 70, 60, 60, 60,
45 60, 50, 50, 50, 50, 40, 40, 40,
46 40, 40, 30, 30, 30, 30, 30, 30,
47 30, 20, 20, 20, 20, 20, 20, 20,
48 20, 10, 10, 10, 10, 10, 10, 10
51 static uint32_t vp31_quality_threshold[64] =
52 { 500, 450, 400, 370, 340, 310, 285, 265,
53 245, 225, 210, 195, 185, 180, 170, 160,
54 150, 145, 135, 130, 125, 115, 110, 107,
55 100, 96, 93, 89, 85, 82, 75, 74,
56 70, 68, 64, 60, 57, 56, 52, 50,
57 49, 45, 44, 43, 40, 38, 37, 35,
58 33, 32, 30, 29, 28, 25, 24, 22,
59 21, 19, 18, 17, 15, 13, 12, 10
62 /* table used to convert natural order <-> zigzag order */
63 static const int dezigzag_index[64] =
64 { 0, 1, 8, 16, 9, 2, 3, 10,
65 17, 24, 32, 25, 18, 11, 4, 5,
66 12, 19, 26, 33, 40, 48, 41, 34,
67 27, 20, 13, 6, 7, 14, 21, 28,
68 35, 42, 49, 56, 57, 50, 43, 36,
69 29, 22, 15, 23, 30, 37, 44, 51,
70 58, 59, 52, 45, 38, 31, 39, 46,
71 53, 60, 61, 54, 47, 55, 62, 63
74 /* inverse of dezigzag index */
75 static int zigzag_index[64];
77 static const uint16_t dc_bias[16][32][2] = {
78 { /* DC bias table 0 */
112 { /* DC bias table 1 */
146 { /* DC bias table 2 */
180 { /* DC bias table 3 */
214 { /* DC bias table 4 */
248 { /* DC bias table 5 */
282 { /* DC bias table 6 */
316 { /* DC bias table 7 */
350 { /* DC bias table 8 */
384 { /* DC bias table 9 */
418 { /* DC bias table 10 */
452 { /* DC bias table 11 */
486 { /* DC bias table 12 */
520 { /* DC bias table 13 */
554 { /* DC bias table 14 */
588 { /* DC bias table 15 */
624 static const uint16_t ac_bias_0[16][32][2] = {
625 { /* AC bias group 1, table 0 */
659 { /* AC bias group 1, table 1 */
693 { /* AC bias group 1, table 2 */
727 { /* AC bias group 1, table 3 */
761 { /* AC bias group 1, table 4 */
795 { /* AC bias group 1, table 5 */
829 { /* AC bias group 1, table 6 */
863 { /* AC bias group 1, table 7 */
897 { /* AC bias group 1, table 8 */
931 { /* AC bias group 1, table 9 */
965 { /* AC bias group 1, table 10 */
999 { /* AC bias group 1, table 11 */
1033 { /* AC bias group 1, table 12 */
1067 { /* AC bias group 1, table 13 */
1101 { /* AC bias group 1, table 14 */
1135 { /* AC bias group 1, table 15 */
1171 static const uint16_t ac_bias_1[16][32][2] = {
1172 { /* AC bias group 2, table 0 */
1206 { /* AC bias group 2, table 1 */
1240 { /* AC bias group 2, table 2 */
1274 { /* AC bias group 2, table 3 */
1308 { /* AC bias group 2, table 4 */
1342 { /* AC bias group 2, table 5 */
1376 { /* AC bias group 2, table 6 */
1410 { /* AC bias group 2, table 7 */
1444 { /* AC bias group 2, table 8 */
1478 { /* AC bias group 2, table 9 */
1512 { /* AC bias group 2, table 10 */
1546 { /* AC bias group 2, table 11 */
1580 { /* AC bias group 2, table 12 */
1614 { /* AC bias group 2, table 13 */
1648 { /* AC bias group 2, table 14 */
1682 { /* AC bias group 2, table 15 */
1718 static const uint16_t ac_bias_2[16][32][2] = {
1719 { /* AC bias group 3, table 0 */
1753 { /* AC bias group 3, table 1 */
1787 { /* AC bias group 3, table 2 */
1821 { /* AC bias group 3, table 3 */
1855 { /* AC bias group 3, table 4 */
1889 { /* AC bias group 3, table 5 */
1923 { /* AC bias group 3, table 6 */
1957 { /* AC bias group 3, table 7 */
1991 { /* AC bias group 3, table 8 */
2025 { /* AC bias group 3, table 9 */
2059 { /* AC bias group 3, table 10 */
2093 { /* AC bias group 3, table 11 */
2127 { /* AC bias group 3, table 12 */
2161 { /* AC bias group 3, table 13 */
2195 { /* AC bias group 3, table 14 */
2229 { /* AC bias group 3, table 15 */
2265 static const uint16_t ac_bias_3[16][32][2] = {
2266 { /* AC bias group 4, table 0 */
2300 { /* AC bias group 4, table 1 */
2334 { /* AC bias group 4, table 2 */
2368 { /* AC bias group 4, table 3 */
2402 { /* AC bias group 4, table 4 */
2436 { /* AC bias group 4, table 5 */
2470 { /* AC bias group 4, table 6 */
2504 { /* AC bias group 4, table 7 */
2538 { /* AC bias group 4, table 8 */
2572 { /* AC bias group 4, table 9 */
2606 { /* AC bias group 4, table 10 */
2640 { /* AC bias group 4, table 11 */
2674 { /* AC bias group 4, table 12 */
2708 { /* AC bias group 4, table 13 */
2742 { /* AC bias group 4, table 14 */
2776 { /* AC bias group 4, table 15 */
2812 #endif /* VP3DATA_H */