annotate mpeg12data.h @ 1106:1e39f273ecd6 libavcodec

per file doxy
author michaelni
date Thu, 06 Mar 2003 11:32:04 +0000
parents 03df246fb06b
children 77ccf7fe3bd0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1106
1e39f273ecd6 per file doxy
michaelni
parents: 1091
diff changeset
1 /**
1e39f273ecd6 per file doxy
michaelni
parents: 1091
diff changeset
2 * @file mpeg12data.h
1e39f273ecd6 per file doxy
michaelni
parents: 1091
diff changeset
3 * MPEG1/2 tables.
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
4 */
986e461dc072 Initial revision
glantau
parents:
diff changeset
5
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
6 const int16_t ff_mpeg1_default_intra_matrix[64] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
7 8, 16, 19, 22, 26, 27, 29, 34,
986e461dc072 Initial revision
glantau
parents:
diff changeset
8 16, 16, 22, 24, 27, 29, 34, 37,
986e461dc072 Initial revision
glantau
parents:
diff changeset
9 19, 22, 26, 27, 29, 34, 34, 38,
986e461dc072 Initial revision
glantau
parents:
diff changeset
10 22, 22, 26, 27, 29, 34, 37, 40,
986e461dc072 Initial revision
glantau
parents:
diff changeset
11 22, 26, 27, 29, 32, 35, 40, 48,
986e461dc072 Initial revision
glantau
parents:
diff changeset
12 26, 27, 29, 32, 35, 40, 48, 58,
986e461dc072 Initial revision
glantau
parents:
diff changeset
13 26, 27, 29, 34, 38, 46, 56, 69,
986e461dc072 Initial revision
glantau
parents:
diff changeset
14 27, 29, 35, 38, 46, 56, 69, 83
986e461dc072 Initial revision
glantau
parents:
diff changeset
15 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
16
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
17 const int16_t ff_mpeg1_default_non_intra_matrix[64] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
18 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
19 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
20 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
21 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
22 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
23 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
24 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
25 16, 16, 16, 16, 16, 16, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
26 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
27
986e461dc072 Initial revision
glantau
parents:
diff changeset
28 const unsigned char vlc_dc_table[256] = {
986e461dc072 Initial revision
glantau
parents:
diff changeset
29 0, 1, 2, 2,
986e461dc072 Initial revision
glantau
parents:
diff changeset
30 3, 3, 3, 3,
986e461dc072 Initial revision
glantau
parents:
diff changeset
31 4, 4, 4, 4, 4, 4, 4, 4,
986e461dc072 Initial revision
glantau
parents:
diff changeset
32 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
986e461dc072 Initial revision
glantau
parents:
diff changeset
33 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
986e461dc072 Initial revision
glantau
parents:
diff changeset
34 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
986e461dc072 Initial revision
glantau
parents:
diff changeset
35
986e461dc072 Initial revision
glantau
parents:
diff changeset
36 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
986e461dc072 Initial revision
glantau
parents:
diff changeset
37 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
986e461dc072 Initial revision
glantau
parents:
diff changeset
38 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
986e461dc072 Initial revision
glantau
parents:
diff changeset
39 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
986e461dc072 Initial revision
glantau
parents:
diff changeset
40
986e461dc072 Initial revision
glantau
parents:
diff changeset
41 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
42 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
43 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
44 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
45 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
46 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
47 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
48 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
49 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
50
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
51 const uint16_t vlc_dc_lum_code[12] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
52 0x4, 0x0, 0x1, 0x5, 0x6, 0xe, 0x1e, 0x3e, 0x7e, 0xfe, 0x1fe, 0x1ff,
986e461dc072 Initial revision
glantau
parents:
diff changeset
53 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
54 const unsigned char vlc_dc_lum_bits[12] = {
986e461dc072 Initial revision
glantau
parents:
diff changeset
55 3, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 9,
986e461dc072 Initial revision
glantau
parents:
diff changeset
56 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
57
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
58 const uint16_t vlc_dc_chroma_code[12] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
59 0x0, 0x1, 0x2, 0x6, 0xe, 0x1e, 0x3e, 0x7e, 0xfe, 0x1fe, 0x3fe, 0x3ff,
986e461dc072 Initial revision
glantau
parents:
diff changeset
60 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
61 const unsigned char vlc_dc_chroma_bits[12] = {
986e461dc072 Initial revision
glantau
parents:
diff changeset
62 2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10,
986e461dc072 Initial revision
glantau
parents:
diff changeset
63 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
64
237
75123d30f862 optimized encode_dc() (+2% speed on P3 for mpeg1 intra only encodings)
michaelni
parents: 236
diff changeset
65 /* simple include everything table for dc, first byte is bits number next 3 are code*/
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
66 static uint32_t mpeg1_lum_dc_uni[512];
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
67 static uint32_t mpeg1_chr_dc_uni[512];
237
75123d30f862 optimized encode_dc() (+2% speed on P3 for mpeg1 intra only encodings)
michaelni
parents: 236
diff changeset
68
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
69 static const uint16_t mpeg1_vlc[113][2] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
70 { 0x3, 2 }, { 0x4, 4 }, { 0x5, 5 }, { 0x6, 7 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
71 { 0x26, 8 }, { 0x21, 8 }, { 0xa, 10 }, { 0x1d, 12 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
72 { 0x18, 12 }, { 0x13, 12 }, { 0x10, 12 }, { 0x1a, 13 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
73 { 0x19, 13 }, { 0x18, 13 }, { 0x17, 13 }, { 0x1f, 14 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
74 { 0x1e, 14 }, { 0x1d, 14 }, { 0x1c, 14 }, { 0x1b, 14 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
75 { 0x1a, 14 }, { 0x19, 14 }, { 0x18, 14 }, { 0x17, 14 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
76 { 0x16, 14 }, { 0x15, 14 }, { 0x14, 14 }, { 0x13, 14 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
77 { 0x12, 14 }, { 0x11, 14 }, { 0x10, 14 }, { 0x18, 15 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
78 { 0x17, 15 }, { 0x16, 15 }, { 0x15, 15 }, { 0x14, 15 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
79 { 0x13, 15 }, { 0x12, 15 }, { 0x11, 15 }, { 0x10, 15 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
80 { 0x3, 3 }, { 0x6, 6 }, { 0x25, 8 }, { 0xc, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
81 { 0x1b, 12 }, { 0x16, 13 }, { 0x15, 13 }, { 0x1f, 15 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
82 { 0x1e, 15 }, { 0x1d, 15 }, { 0x1c, 15 }, { 0x1b, 15 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
83 { 0x1a, 15 }, { 0x19, 15 }, { 0x13, 16 }, { 0x12, 16 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
84 { 0x11, 16 }, { 0x10, 16 }, { 0x5, 4 }, { 0x4, 7 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
85 { 0xb, 10 }, { 0x14, 12 }, { 0x14, 13 }, { 0x7, 5 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
86 { 0x24, 8 }, { 0x1c, 12 }, { 0x13, 13 }, { 0x6, 5 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
87 { 0xf, 10 }, { 0x12, 12 }, { 0x7, 6 }, { 0x9, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
88 { 0x12, 13 }, { 0x5, 6 }, { 0x1e, 12 }, { 0x14, 16 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
89 { 0x4, 6 }, { 0x15, 12 }, { 0x7, 7 }, { 0x11, 12 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
90 { 0x5, 7 }, { 0x11, 13 }, { 0x27, 8 }, { 0x10, 13 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
91 { 0x23, 8 }, { 0x1a, 16 }, { 0x22, 8 }, { 0x19, 16 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
92 { 0x20, 8 }, { 0x18, 16 }, { 0xe, 10 }, { 0x17, 16 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
93 { 0xd, 10 }, { 0x16, 16 }, { 0x8, 10 }, { 0x15, 16 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
94 { 0x1f, 12 }, { 0x1a, 12 }, { 0x19, 12 }, { 0x17, 12 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
95 { 0x16, 12 }, { 0x1f, 13 }, { 0x1e, 13 }, { 0x1d, 13 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
96 { 0x1c, 13 }, { 0x1b, 13 }, { 0x1f, 16 }, { 0x1e, 16 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
97 { 0x1d, 16 }, { 0x1c, 16 }, { 0x1b, 16 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
98 { 0x1, 6 }, /* escape */
986e461dc072 Initial revision
glantau
parents:
diff changeset
99 { 0x2, 2 }, /* EOB */
986e461dc072 Initial revision
glantau
parents:
diff changeset
100 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
101
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
102 static const uint16_t mpeg2_vlc[113][2] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
103 {0x02, 2}, {0x06, 3}, {0x07, 4}, {0x1c, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
104 {0x1d, 5}, {0x05, 6}, {0x04, 6}, {0x7b, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
105 {0x7c, 7}, {0x23, 8}, {0x22, 8}, {0xfa, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
106 {0xfb, 8}, {0xfe, 8}, {0xff, 8}, {0x1f,14},
986e461dc072 Initial revision
glantau
parents:
diff changeset
107 {0x1e,14}, {0x1d,14}, {0x1c,14}, {0x1b,14},
986e461dc072 Initial revision
glantau
parents:
diff changeset
108 {0x1a,14}, {0x19,14}, {0x18,14}, {0x17,14},
986e461dc072 Initial revision
glantau
parents:
diff changeset
109 {0x16,14}, {0x15,14}, {0x14,14}, {0x13,14},
986e461dc072 Initial revision
glantau
parents:
diff changeset
110 {0x12,14}, {0x11,14}, {0x10,14}, {0x18,15},
986e461dc072 Initial revision
glantau
parents:
diff changeset
111 {0x17,15}, {0x16,15}, {0x15,15}, {0x14,15},
986e461dc072 Initial revision
glantau
parents:
diff changeset
112 {0x13,15}, {0x12,15}, {0x11,15}, {0x10,15},
986e461dc072 Initial revision
glantau
parents:
diff changeset
113 {0x02, 3}, {0x06, 5}, {0x79, 7}, {0x27, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
114 {0x20, 8}, {0x16,13}, {0x15,13}, {0x1f,15},
986e461dc072 Initial revision
glantau
parents:
diff changeset
115 {0x1e,15}, {0x1d,15}, {0x1c,15}, {0x1b,15},
986e461dc072 Initial revision
glantau
parents:
diff changeset
116 {0x1a,15}, {0x19,15}, {0x13,16}, {0x12,16},
986e461dc072 Initial revision
glantau
parents:
diff changeset
117 {0x11,16}, {0x10,16}, {0x05, 5}, {0x07, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
118 {0xfc, 8}, {0x0c,10}, {0x14,13}, {0x07, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
119 {0x26, 8}, {0x1c,12}, {0x13,13}, {0x06, 6},
986e461dc072 Initial revision
glantau
parents:
diff changeset
120 {0xfd, 8}, {0x12,12}, {0x07, 6}, {0x04, 9},
986e461dc072 Initial revision
glantau
parents:
diff changeset
121 {0x12,13}, {0x06, 7}, {0x1e,12}, {0x14,16},
986e461dc072 Initial revision
glantau
parents:
diff changeset
122 {0x04, 7}, {0x15,12}, {0x05, 7}, {0x11,12},
986e461dc072 Initial revision
glantau
parents:
diff changeset
123 {0x78, 7}, {0x11,13}, {0x7a, 7}, {0x10,13},
986e461dc072 Initial revision
glantau
parents:
diff changeset
124 {0x21, 8}, {0x1a,16}, {0x25, 8}, {0x19,16},
986e461dc072 Initial revision
glantau
parents:
diff changeset
125 {0x24, 8}, {0x18,16}, {0x05, 9}, {0x17,16},
986e461dc072 Initial revision
glantau
parents:
diff changeset
126 {0x07, 9}, {0x16,16}, {0x0d,10}, {0x15,16},
986e461dc072 Initial revision
glantau
parents:
diff changeset
127 {0x1f,12}, {0x1a,12}, {0x19,12}, {0x17,12},
986e461dc072 Initial revision
glantau
parents:
diff changeset
128 {0x16,12}, {0x1f,13}, {0x1e,13}, {0x1d,13},
986e461dc072 Initial revision
glantau
parents:
diff changeset
129 {0x1c,13}, {0x1b,13}, {0x1f,16}, {0x1e,16},
986e461dc072 Initial revision
glantau
parents:
diff changeset
130 {0x1d,16}, {0x1c,16}, {0x1b,16},
986e461dc072 Initial revision
glantau
parents:
diff changeset
131 {0x01,6}, /* escape */
986e461dc072 Initial revision
glantau
parents:
diff changeset
132 {0x06,4}, /* EOB */
986e461dc072 Initial revision
glantau
parents:
diff changeset
133 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
134
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
135 static const int8_t mpeg1_level[111] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
136 1, 2, 3, 4, 5, 6, 7, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
137 9, 10, 11, 12, 13, 14, 15, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
138 17, 18, 19, 20, 21, 22, 23, 24,
986e461dc072 Initial revision
glantau
parents:
diff changeset
139 25, 26, 27, 28, 29, 30, 31, 32,
986e461dc072 Initial revision
glantau
parents:
diff changeset
140 33, 34, 35, 36, 37, 38, 39, 40,
986e461dc072 Initial revision
glantau
parents:
diff changeset
141 1, 2, 3, 4, 5, 6, 7, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
142 9, 10, 11, 12, 13, 14, 15, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
143 17, 18, 1, 2, 3, 4, 5, 1,
986e461dc072 Initial revision
glantau
parents:
diff changeset
144 2, 3, 4, 1, 2, 3, 1, 2,
986e461dc072 Initial revision
glantau
parents:
diff changeset
145 3, 1, 2, 3, 1, 2, 1, 2,
986e461dc072 Initial revision
glantau
parents:
diff changeset
146 1, 2, 1, 2, 1, 2, 1, 2,
986e461dc072 Initial revision
glantau
parents:
diff changeset
147 1, 2, 1, 2, 1, 2, 1, 2,
986e461dc072 Initial revision
glantau
parents:
diff changeset
148 1, 1, 1, 1, 1, 1, 1, 1,
986e461dc072 Initial revision
glantau
parents:
diff changeset
149 1, 1, 1, 1, 1, 1, 1,
986e461dc072 Initial revision
glantau
parents:
diff changeset
150 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
151
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
152 static const int8_t mpeg1_run[111] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
153 0, 0, 0, 0, 0, 0, 0, 0,
986e461dc072 Initial revision
glantau
parents:
diff changeset
154 0, 0, 0, 0, 0, 0, 0, 0,
986e461dc072 Initial revision
glantau
parents:
diff changeset
155 0, 0, 0, 0, 0, 0, 0, 0,
986e461dc072 Initial revision
glantau
parents:
diff changeset
156 0, 0, 0, 0, 0, 0, 0, 0,
986e461dc072 Initial revision
glantau
parents:
diff changeset
157 0, 0, 0, 0, 0, 0, 0, 0,
986e461dc072 Initial revision
glantau
parents:
diff changeset
158 1, 1, 1, 1, 1, 1, 1, 1,
986e461dc072 Initial revision
glantau
parents:
diff changeset
159 1, 1, 1, 1, 1, 1, 1, 1,
986e461dc072 Initial revision
glantau
parents:
diff changeset
160 1, 1, 2, 2, 2, 2, 2, 3,
986e461dc072 Initial revision
glantau
parents:
diff changeset
161 3, 3, 3, 4, 4, 4, 5, 5,
986e461dc072 Initial revision
glantau
parents:
diff changeset
162 5, 6, 6, 6, 7, 7, 8, 8,
986e461dc072 Initial revision
glantau
parents:
diff changeset
163 9, 9, 10, 10, 11, 11, 12, 12,
986e461dc072 Initial revision
glantau
parents:
diff changeset
164 13, 13, 14, 14, 15, 15, 16, 16,
986e461dc072 Initial revision
glantau
parents:
diff changeset
165 17, 18, 19, 20, 21, 22, 23, 24,
986e461dc072 Initial revision
glantau
parents:
diff changeset
166 25, 26, 27, 28, 29, 30, 31,
986e461dc072 Initial revision
glantau
parents:
diff changeset
167 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
168
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
169 static uint8_t mpeg1_index_run[2][64];
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
170 static int8_t mpeg1_max_level[2][64];
236
4a090f1da60a optimize mpeg1_encode_block()
michaelni
parents: 64
diff changeset
171
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
172 static RLTable rl_mpeg1 = {
986e461dc072 Initial revision
glantau
parents:
diff changeset
173 111,
986e461dc072 Initial revision
glantau
parents:
diff changeset
174 111,
986e461dc072 Initial revision
glantau
parents:
diff changeset
175 mpeg1_vlc,
986e461dc072 Initial revision
glantau
parents:
diff changeset
176 mpeg1_run,
986e461dc072 Initial revision
glantau
parents:
diff changeset
177 mpeg1_level,
986e461dc072 Initial revision
glantau
parents:
diff changeset
178 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
179
986e461dc072 Initial revision
glantau
parents:
diff changeset
180 static RLTable rl_mpeg2 = {
986e461dc072 Initial revision
glantau
parents:
diff changeset
181 111,
986e461dc072 Initial revision
glantau
parents:
diff changeset
182 111,
986e461dc072 Initial revision
glantau
parents:
diff changeset
183 mpeg2_vlc,
986e461dc072 Initial revision
glantau
parents:
diff changeset
184 mpeg1_run,
986e461dc072 Initial revision
glantau
parents:
diff changeset
185 mpeg1_level,
986e461dc072 Initial revision
glantau
parents:
diff changeset
186 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
187
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
188 static const uint8_t mbAddrIncrTable[35][2] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
189 {0x1, 1},
986e461dc072 Initial revision
glantau
parents:
diff changeset
190 {0x3, 3},
986e461dc072 Initial revision
glantau
parents:
diff changeset
191 {0x2, 3},
986e461dc072 Initial revision
glantau
parents:
diff changeset
192 {0x3, 4},
986e461dc072 Initial revision
glantau
parents:
diff changeset
193 {0x2, 4},
986e461dc072 Initial revision
glantau
parents:
diff changeset
194 {0x3, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
195 {0x2, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
196 {0x7, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
197 {0x6, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
198 {0xb, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
199 {0xa, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
200 {0x9, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
201 {0x8, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
202 {0x7, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
203 {0x6, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
204 {0x17, 10},
986e461dc072 Initial revision
glantau
parents:
diff changeset
205 {0x16, 10},
986e461dc072 Initial revision
glantau
parents:
diff changeset
206 {0x15, 10},
986e461dc072 Initial revision
glantau
parents:
diff changeset
207 {0x14, 10},
986e461dc072 Initial revision
glantau
parents:
diff changeset
208 {0x13, 10},
986e461dc072 Initial revision
glantau
parents:
diff changeset
209 {0x12, 10},
986e461dc072 Initial revision
glantau
parents:
diff changeset
210 {0x23, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
211 {0x22, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
212 {0x21, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
213 {0x20, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
214 {0x1f, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
215 {0x1e, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
216 {0x1d, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
217 {0x1c, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
218 {0x1b, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
219 {0x1a, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
220 {0x19, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
221 {0x18, 11},
986e461dc072 Initial revision
glantau
parents:
diff changeset
222 {0x8, 11}, /* escape */
986e461dc072 Initial revision
glantau
parents:
diff changeset
223 {0xf, 11}, /* stuffing */
986e461dc072 Initial revision
glantau
parents:
diff changeset
224 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
225
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
226 static const uint8_t mbPatTable[63][2] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
227 {0xb, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
228 {0x9, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
229 {0xd, 6},
986e461dc072 Initial revision
glantau
parents:
diff changeset
230 {0xd, 4},
986e461dc072 Initial revision
glantau
parents:
diff changeset
231 {0x17, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
232 {0x13, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
233 {0x1f, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
234 {0xc, 4},
986e461dc072 Initial revision
glantau
parents:
diff changeset
235 {0x16, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
236 {0x12, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
237 {0x1e, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
238 {0x13, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
239 {0x1b, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
240 {0x17, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
241 {0x13, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
242 {0xb, 4},
986e461dc072 Initial revision
glantau
parents:
diff changeset
243 {0x15, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
244 {0x11, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
245 {0x1d, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
246 {0x11, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
247 {0x19, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
248 {0x15, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
249 {0x11, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
250 {0xf, 6},
986e461dc072 Initial revision
glantau
parents:
diff changeset
251 {0xf, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
252 {0xd, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
253 {0x3, 9},
986e461dc072 Initial revision
glantau
parents:
diff changeset
254 {0xf, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
255 {0xb, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
256 {0x7, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
257 {0x7, 9},
986e461dc072 Initial revision
glantau
parents:
diff changeset
258 {0xa, 4},
986e461dc072 Initial revision
glantau
parents:
diff changeset
259 {0x14, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
260 {0x10, 7},
986e461dc072 Initial revision
glantau
parents:
diff changeset
261 {0x1c, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
262 {0xe, 6},
986e461dc072 Initial revision
glantau
parents:
diff changeset
263 {0xe, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
264 {0xc, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
265 {0x2, 9},
986e461dc072 Initial revision
glantau
parents:
diff changeset
266 {0x10, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
267 {0x18, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
268 {0x14, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
269 {0x10, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
270 {0xe, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
271 {0xa, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
272 {0x6, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
273 {0x6, 9},
986e461dc072 Initial revision
glantau
parents:
diff changeset
274 {0x12, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
275 {0x1a, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
276 {0x16, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
277 {0x12, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
278 {0xd, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
279 {0x9, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
280 {0x5, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
281 {0x5, 9},
986e461dc072 Initial revision
glantau
parents:
diff changeset
282 {0xc, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
283 {0x8, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
284 {0x4, 8},
986e461dc072 Initial revision
glantau
parents:
diff changeset
285 {0x4, 9},
986e461dc072 Initial revision
glantau
parents:
diff changeset
286 {0x7, 3},
986e461dc072 Initial revision
glantau
parents:
diff changeset
287 {0xa, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
288 {0x8, 5},
986e461dc072 Initial revision
glantau
parents:
diff changeset
289 {0xc, 6}
986e461dc072 Initial revision
glantau
parents:
diff changeset
290 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
291
986e461dc072 Initial revision
glantau
parents:
diff changeset
292 #define MB_INTRA 0x01
986e461dc072 Initial revision
glantau
parents:
diff changeset
293 #define MB_PAT 0x02
986e461dc072 Initial revision
glantau
parents:
diff changeset
294 #define MB_BACK 0x04
986e461dc072 Initial revision
glantau
parents:
diff changeset
295 #define MB_FOR 0x08
986e461dc072 Initial revision
glantau
parents:
diff changeset
296 #define MB_QUANT 0x10
986e461dc072 Initial revision
glantau
parents:
diff changeset
297
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
298 static const uint8_t table_mb_ptype[32][2] = {
64
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
299 { 0, 0 }, // 0x00
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
300 { 3, 5 }, // 0x01 MB_INTRA
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
301 { 1, 2 }, // 0x02 MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
302 { 0, 0 }, // 0x03
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
303 { 0, 0 }, // 0x04
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
304 { 0, 0 }, // 0x05
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
305 { 0, 0 }, // 0x06
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
306 { 0, 0 }, // 0x07
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
307 { 1, 3 }, // 0x08 MB_FOR
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
308 { 0, 0 }, // 0x09
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
309 { 1, 1 }, // 0x0A MB_FOR|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
310 { 0, 0 }, // 0x0B
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
311 { 0, 0 }, // 0x0C
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
312 { 0, 0 }, // 0x0D
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
313 { 0, 0 }, // 0x0E
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
314 { 0, 0 }, // 0x0F
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
315 { 0, 0 }, // 0x10
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
316 { 1, 6 }, // 0x11 MB_QUANT|MB_INTRA
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
317 { 1, 5 }, // 0x12 MB_QUANT|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
318 { 0, 0 }, // 0x13
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
319 { 0, 0 }, // 0x14
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
320 { 0, 0 }, // 0x15
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
321 { 0, 0 }, // 0x16
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
322 { 0, 0 }, // 0x17
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
323 { 0, 0 }, // 0x18
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
324 { 0, 0 }, // 0x19
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
325 { 2, 5 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
326 { 0, 0 }, // 0x1B
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
327 { 0, 0 }, // 0x1C
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
328 { 0, 0 }, // 0x1D
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
329 { 0, 0 }, // 0x1E
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
330 { 0, 0 }, // 0x1F
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
331 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
332
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
333 static const uint8_t table_mb_btype[32][2] = {
64
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
334 { 0, 0 }, // 0x00
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
335 { 3, 5 }, // 0x01 MB_INTRA
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
336 { 0, 0 }, // 0x02
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
337 { 0, 0 }, // 0x03
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
338 { 2, 3 }, // 0x04 MB_BACK
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
339 { 0, 0 }, // 0x05
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
340 { 3, 3 }, // 0x06 MB_BACK|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
341 { 0, 0 }, // 0x07
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
342 { 2, 4 }, // 0x08 MB_FOR
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
343 { 0, 0 }, // 0x09
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
344 { 3, 4 }, // 0x0A MB_FOR|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
345 { 0, 0 }, // 0x0B
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
346 { 2, 2 }, // 0x0C MB_FOR|MB_BACK
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
347 { 0, 0 }, // 0x0D
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
348 { 3, 2 }, // 0x0E MB_FOR|MB_BACK|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
349 { 0, 0 }, // 0x0F
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
350 { 0, 0 }, // 0x10
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
351 { 1, 6 }, // 0x11 MB_QUANT|MB_INTRA
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
352 { 0, 0 }, // 0x12
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
353 { 0, 0 }, // 0x13
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
354 { 0, 0 }, // 0x14
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
355 { 0, 0 }, // 0x15
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
356 { 2, 6 }, // 0x16 MB_QUANT|MB_BACK|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
357 { 0, 0 }, // 0x17
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
358 { 0, 0 }, // 0x18
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
359 { 0, 0 }, // 0x19
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
360 { 3, 6 }, // 0x1A MB_QUANT|MB_FOR|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
361 { 0, 0 }, // 0x1B
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
362 { 0, 0 }, // 0x1C
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
363 { 0, 0 }, // 0x1D
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
364 { 2, 5 }, // 0x1E MB_QUANT|MB_FOR|MB_BACK|MB_PAT
5aa6292a1660 win32 fixes
glantau
parents: 39
diff changeset
365 { 0, 0 }, // 0x1F
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
366 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
367
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
368 static const uint8_t mbMotionVectorTable[17][2] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
369 { 0x1, 1 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
370 { 0x1, 2 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
371 { 0x1, 3 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
372 { 0x1, 4 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
373 { 0x3, 6 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
374 { 0x5, 7 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
375 { 0x4, 7 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
376 { 0x3, 7 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
377 { 0xb, 9 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
378 { 0xa, 9 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
379 { 0x9, 9 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
380 { 0x11, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
381 { 0x10, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
382 { 0xf, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
383 { 0xe, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
384 { 0xd, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
385 { 0xc, 10 },
986e461dc072 Initial revision
glantau
parents:
diff changeset
386 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
387
986e461dc072 Initial revision
glantau
parents:
diff changeset
388 static const int frame_rate_tab[9] = {
986e461dc072 Initial revision
glantau
parents:
diff changeset
389 0,
1091
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
390 24000 * FRAME_RATE_BASE / 1001,
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
391 24000 * FRAME_RATE_BASE / 1000,
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
392 25000 * FRAME_RATE_BASE / 1000,
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
393 30000 * FRAME_RATE_BASE / 1001,
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
394 30000 * FRAME_RATE_BASE / 1000,
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
395 50000 * FRAME_RATE_BASE / 1000,
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
396 60000 * FRAME_RATE_BASE / 1001,
03df246fb06b fixing inaccurate frame_rate
michaelni
parents: 1064
diff changeset
397 60000 * FRAME_RATE_BASE / 1000,
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
398 };
986e461dc072 Initial revision
glantau
parents:
diff changeset
399
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
400 static const uint8_t non_linear_qscale[32] = {
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
401 0, 1, 2, 3, 4, 5, 6, 7,
986e461dc072 Initial revision
glantau
parents:
diff changeset
402 8,10,12,14,16,18,20,22,
986e461dc072 Initial revision
glantau
parents:
diff changeset
403 24,28,32,36,40,44,48,52,
986e461dc072 Initial revision
glantau
parents:
diff changeset
404 56,64,72,80,88,96,104,112,
986e461dc072 Initial revision
glantau
parents:
diff changeset
405 };
498
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
406
1064
b32afefe7d33 * UINTX -> uintx_t INTX -> intx_t
kabi
parents: 917
diff changeset
407 uint8_t ff_mpeg1_dc_scale_table[128]={ // MN: mpeg2 really can have such large qscales?
498
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
408 // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
409 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
410 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
411 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
412 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
413 };
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
414
917
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
415 static const float mpeg1_aspect[16]={
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
416 0.0000,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
417 1.0000,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
418 0.6735,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
419 0.7031,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
420
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
421 0.7615,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
422 0.8055,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
423 0.8437,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
424 0.8935,
498
0b4450c15067 dc scale simplification/optimization
michaelni
parents: 237
diff changeset
425
917
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
426 0.9157,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
427 0.9815,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
428 1.0255,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
429 1.0695,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
430
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
431 1.0950,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
432 1.1575,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
433 1.2015,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
434 };
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
435
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
436 static const float mpeg2_aspect[16]={
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
437 0,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
438 1.0,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
439 -3.0/4.0,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
440 -9.0/16.0,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
441 -1.0/2.21,
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
442 };
d3aa313dc373 mpeg1&2 aspect decoding
michaelni
parents: 706
diff changeset
443