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
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
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
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
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
64 /* table used to convert natural order <-> zigzag order */
65 static const int dezigzag_index[64] =
66 { 0, 1, 8, 16, 9, 2, 3, 10,
67 17, 24, 32, 25, 18, 11, 4, 5,
68 12, 19, 26, 33, 40, 48, 41, 34,
69 27, 20, 13, 6, 7, 14, 21, 28,
70 35, 42, 49, 56, 57, 50, 43, 36,
71 29, 22, 15, 23, 30, 37, 44, 51,
72 58, 59, 52, 45, 38, 31, 39, 46,
73 53, 60, 61, 54, 47, 55, 62, 63
76 /* inverse of dezigzag index */
77 static __attribute__((unused)) int zigzag_index[64];
79 static const uint16_t dc_bias[16][32][2] = {
80 { /* DC bias table 0 */
114 { /* DC bias table 1 */
148 { /* DC bias table 2 */
182 { /* DC bias table 3 */
216 { /* DC bias table 4 */
250 { /* DC bias table 5 */
284 { /* DC bias table 6 */
318 { /* DC bias table 7 */
352 { /* DC bias table 8 */
386 { /* DC bias table 9 */
420 { /* DC bias table 10 */
454 { /* DC bias table 11 */
488 { /* DC bias table 12 */
522 { /* DC bias table 13 */
556 { /* DC bias table 14 */
590 { /* DC bias table 15 */
626 static const uint16_t ac_bias_0[16][32][2] = {
627 { /* AC bias group 1, table 0 */
661 { /* AC bias group 1, table 1 */
695 { /* AC bias group 1, table 2 */
729 { /* AC bias group 1, table 3 */
763 { /* AC bias group 1, table 4 */
797 { /* AC bias group 1, table 5 */
831 { /* AC bias group 1, table 6 */
865 { /* AC bias group 1, table 7 */
899 { /* AC bias group 1, table 8 */
933 { /* AC bias group 1, table 9 */
967 { /* AC bias group 1, table 10 */
1001 { /* AC bias group 1, table 11 */
1035 { /* AC bias group 1, table 12 */
1069 { /* AC bias group 1, table 13 */
1103 { /* AC bias group 1, table 14 */
1137 { /* AC bias group 1, table 15 */
1173 static const uint16_t ac_bias_1[16][32][2] = {
1174 { /* AC bias group 2, table 0 */
1208 { /* AC bias group 2, table 1 */
1242 { /* AC bias group 2, table 2 */
1276 { /* AC bias group 2, table 3 */
1310 { /* AC bias group 2, table 4 */
1344 { /* AC bias group 2, table 5 */
1378 { /* AC bias group 2, table 6 */
1412 { /* AC bias group 2, table 7 */
1446 { /* AC bias group 2, table 8 */
1480 { /* AC bias group 2, table 9 */
1514 { /* AC bias group 2, table 10 */
1548 { /* AC bias group 2, table 11 */
1582 { /* AC bias group 2, table 12 */
1616 { /* AC bias group 2, table 13 */
1650 { /* AC bias group 2, table 14 */
1684 { /* AC bias group 2, table 15 */
1720 static const uint16_t ac_bias_2[16][32][2] = {
1721 { /* AC bias group 3, table 0 */
1755 { /* AC bias group 3, table 1 */
1789 { /* AC bias group 3, table 2 */
1823 { /* AC bias group 3, table 3 */
1857 { /* AC bias group 3, table 4 */
1891 { /* AC bias group 3, table 5 */
1925 { /* AC bias group 3, table 6 */
1959 { /* AC bias group 3, table 7 */
1993 { /* AC bias group 3, table 8 */
2027 { /* AC bias group 3, table 9 */
2061 { /* AC bias group 3, table 10 */
2095 { /* AC bias group 3, table 11 */
2129 { /* AC bias group 3, table 12 */
2163 { /* AC bias group 3, table 13 */
2197 { /* AC bias group 3, table 14 */
2231 { /* AC bias group 3, table 15 */
2267 static const uint16_t ac_bias_3[16][32][2] = {
2268 { /* AC bias group 4, table 0 */
2302 { /* AC bias group 4, table 1 */
2336 { /* AC bias group 4, table 2 */
2370 { /* AC bias group 4, table 3 */
2404 { /* AC bias group 4, table 4 */
2438 { /* AC bias group 4, table 5 */
2472 { /* AC bias group 4, table 6 */
2506 { /* AC bias group 4, table 7 */
2540 { /* AC bias group 4, table 8 */
2574 { /* AC bias group 4, table 9 */
2608 { /* AC bias group 4, table 10 */
2642 { /* AC bias group 4, table 11 */
2676 { /* AC bias group 4, table 12 */
2710 { /* AC bias group 4, table 13 */
2744 { /* AC bias group 4, table 14 */
2778 { /* AC bias group 4, table 15 */
2814 #endif /* VP3DATA_H */