Mercurial > libavcodec.hg
annotate h263data.h @ 2497:69adfbbdcdeb libavcodec
- samples from mplayer ftp in the "adv" profile seem to have profile=2,
which isn't the advanced one; and indeed, using adv. profile parser fails.
Using normal parser works, and that's what is done
- attempt at taking care of stride for NORM2 bitplane decoding
- duplication of much code from msmpeg4.c; this code isn't yet used, but
goes down as far as the block layer (mainly Transform Type stuff, the
remains are wild editing without checking). Unusable yet, and lacks the AC
decoding (but a step further in bitstream parsing)
patch by anonymous
author | michael |
---|---|
date | Fri, 04 Feb 2005 02:20:38 +0000 |
parents | dea5b2946999 |
children | ba8ecddf5598 |
rev | line source |
---|---|
1106 | 1 /** |
2 * @file h263data.h | |
3 * H.263 tables. | |
4 */ | |
5 | |
0 | 6 |
7 /* intra MCBPC, mb_type = (intra), then (intraq) */ | |
1482 | 8 const uint8_t intra_MCBPC_code[9] = { 1, 1, 2, 3, 1, 1, 2, 3, 1 }; |
9 const uint8_t intra_MCBPC_bits[9] = { 1, 3, 3, 3, 4, 6, 6, 6, 9 }; | |
0 | 10 |
11 /* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */ | |
161 | 12 /* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */ |
1482 | 13 const uint8_t inter_MCBPC_code[28] = { |
144 | 14 1, 3, 2, 5, |
15 3, 4, 3, 3, | |
16 3, 7, 6, 5, | |
17 4, 4, 3, 2, | |
18 2, 5, 4, 5, | |
1482 | 19 1, 0, 0, 0, /* Stuffing */ |
161 | 20 2, 12, 14, 15, |
144 | 21 }; |
1482 | 22 const uint8_t inter_MCBPC_bits[28] = { |
23 1, 4, 4, 6, /* inter */ | |
24 5, 8, 8, 7, /* intra */ | |
25 3, 7, 7, 9, /* interQ */ | |
26 6, 9, 9, 9, /* intraQ */ | |
27 3, 7, 7, 8, /* inter4 */ | |
28 9, 0, 0, 0, /* Stuffing */ | |
29 11, 13, 13, 13,/* inter4Q*/ | |
144 | 30 }; |
31 | |
1655 | 32 static const uint8_t h263_mbtype_b_tab[15][2] = { |
33 {1, 1}, | |
34 {3, 3}, | |
35 {1, 5}, | |
36 {4, 4}, | |
37 {5, 4}, | |
38 {6, 6}, | |
39 {2, 4}, | |
40 {3, 4}, | |
41 {7, 6}, | |
42 {4, 6}, | |
43 {5, 6}, | |
44 {1, 6}, | |
45 {1,10}, | |
46 {1, 7}, | |
47 {1, 8}, | |
48 }; | |
49 | |
50 static const int h263_mb_type_b_map[15]= { | |
51 MB_TYPE_DIRECT2 | MB_TYPE_L0L1, | |
52 MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP, | |
53 MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT, | |
1701 | 54 MB_TYPE_L0 | MB_TYPE_16x16, |
55 MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_16x16, | |
56 MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
57 MB_TYPE_L1 | MB_TYPE_16x16, | |
58 MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_16x16, | |
59 MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
60 MB_TYPE_L0L1 | MB_TYPE_16x16, | |
61 MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_16x16, | |
62 MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
1655 | 63 0, //stuffing |
1708 | 64 MB_TYPE_INTRA4x4 | MB_TYPE_CBP, |
65 MB_TYPE_INTRA4x4 | MB_TYPE_CBP | MB_TYPE_QUANT, | |
1655 | 66 }; |
67 | |
68 const uint8_t cbpc_b_tab[4][2] = { | |
69 {0, 1}, | |
70 {2, 2}, | |
71 {7, 3}, | |
72 {6, 3}, | |
73 }; | |
74 | |
1064 | 75 const uint8_t cbpy_tab[16][2] = |
0 | 76 { |
77 {3,4}, {5,5}, {4,5}, {9,4}, {3,5}, {7,4}, {2,6}, {11,4}, | |
78 {2,5}, {3,6}, {5,4}, {10,4}, {4,4}, {8,4}, {6,4}, {3,2} | |
79 }; | |
80 | |
1064 | 81 const uint8_t mvtab[33][2] = |
0 | 82 { |
83 {1,1}, {1,2}, {1,3}, {1,4}, {3,6}, {5,7}, {4,7}, {3,7}, | |
84 {11,9}, {10,9}, {9,9}, {17,10}, {16,10}, {15,10}, {14,10}, {13,10}, | |
85 {12,10}, {11,10}, {10,10}, {9,10}, {8,10}, {7,10}, {6,10}, {5,10}, | |
86 {4,10}, {7,11}, {6,11}, {5,11}, {4,11}, {3,11}, {2,11}, {3,12}, | |
87 {2,12} | |
88 }; | |
89 | |
90 /* third non intra table */ | |
1064 | 91 const uint16_t inter_vlc[103][2] = { |
0 | 92 { 0x2, 2 },{ 0xf, 4 },{ 0x15, 6 },{ 0x17, 7 }, |
93 { 0x1f, 8 },{ 0x25, 9 },{ 0x24, 9 },{ 0x21, 10 }, | |
94 { 0x20, 10 },{ 0x7, 11 },{ 0x6, 11 },{ 0x20, 11 }, | |
95 { 0x6, 3 },{ 0x14, 6 },{ 0x1e, 8 },{ 0xf, 10 }, | |
96 { 0x21, 11 },{ 0x50, 12 },{ 0xe, 4 },{ 0x1d, 8 }, | |
97 { 0xe, 10 },{ 0x51, 12 },{ 0xd, 5 },{ 0x23, 9 }, | |
98 { 0xd, 10 },{ 0xc, 5 },{ 0x22, 9 },{ 0x52, 12 }, | |
99 { 0xb, 5 },{ 0xc, 10 },{ 0x53, 12 },{ 0x13, 6 }, | |
100 { 0xb, 10 },{ 0x54, 12 },{ 0x12, 6 },{ 0xa, 10 }, | |
101 { 0x11, 6 },{ 0x9, 10 },{ 0x10, 6 },{ 0x8, 10 }, | |
102 { 0x16, 7 },{ 0x55, 12 },{ 0x15, 7 },{ 0x14, 7 }, | |
103 { 0x1c, 8 },{ 0x1b, 8 },{ 0x21, 9 },{ 0x20, 9 }, | |
104 { 0x1f, 9 },{ 0x1e, 9 },{ 0x1d, 9 },{ 0x1c, 9 }, | |
105 { 0x1b, 9 },{ 0x1a, 9 },{ 0x22, 11 },{ 0x23, 11 }, | |
106 { 0x56, 12 },{ 0x57, 12 },{ 0x7, 4 },{ 0x19, 9 }, | |
107 { 0x5, 11 },{ 0xf, 6 },{ 0x4, 11 },{ 0xe, 6 }, | |
108 { 0xd, 6 },{ 0xc, 6 },{ 0x13, 7 },{ 0x12, 7 }, | |
109 { 0x11, 7 },{ 0x10, 7 },{ 0x1a, 8 },{ 0x19, 8 }, | |
110 { 0x18, 8 },{ 0x17, 8 },{ 0x16, 8 },{ 0x15, 8 }, | |
111 { 0x14, 8 },{ 0x13, 8 },{ 0x18, 9 },{ 0x17, 9 }, | |
112 { 0x16, 9 },{ 0x15, 9 },{ 0x14, 9 },{ 0x13, 9 }, | |
113 { 0x12, 9 },{ 0x11, 9 },{ 0x7, 10 },{ 0x6, 10 }, | |
114 { 0x5, 10 },{ 0x4, 10 },{ 0x24, 11 },{ 0x25, 11 }, | |
115 { 0x26, 11 },{ 0x27, 11 },{ 0x58, 12 },{ 0x59, 12 }, | |
116 { 0x5a, 12 },{ 0x5b, 12 },{ 0x5c, 12 },{ 0x5d, 12 }, | |
117 { 0x5e, 12 },{ 0x5f, 12 },{ 0x3, 7 }, | |
118 }; | |
119 | |
1064 | 120 const int8_t inter_level[102] = { |
0 | 121 1, 2, 3, 4, 5, 6, 7, 8, |
122 9, 10, 11, 12, 1, 2, 3, 4, | |
123 5, 6, 1, 2, 3, 4, 1, 2, | |
124 3, 1, 2, 3, 1, 2, 3, 1, | |
125 2, 3, 1, 2, 1, 2, 1, 2, | |
126 1, 2, 1, 1, 1, 1, 1, 1, | |
127 1, 1, 1, 1, 1, 1, 1, 1, | |
128 1, 1, 1, 2, 3, 1, 2, 1, | |
129 1, 1, 1, 1, 1, 1, 1, 1, | |
130 1, 1, 1, 1, 1, 1, 1, 1, | |
131 1, 1, 1, 1, 1, 1, 1, 1, | |
132 1, 1, 1, 1, 1, 1, 1, 1, | |
133 1, 1, 1, 1, 1, 1, | |
134 }; | |
135 | |
1064 | 136 const int8_t inter_run[102] = { |
0 | 137 0, 0, 0, 0, 0, 0, 0, 0, |
138 0, 0, 0, 0, 1, 1, 1, 1, | |
139 1, 1, 2, 2, 2, 2, 3, 3, | |
140 3, 4, 4, 4, 5, 5, 5, 6, | |
141 6, 6, 7, 7, 8, 8, 9, 9, | |
142 10, 10, 11, 12, 13, 14, 15, 16, | |
143 17, 18, 19, 20, 21, 22, 23, 24, | |
144 25, 26, 0, 0, 0, 1, 1, 2, | |
145 3, 4, 5, 6, 7, 8, 9, 10, | |
146 11, 12, 13, 14, 15, 16, 17, 18, | |
147 19, 20, 21, 22, 23, 24, 25, 26, | |
148 27, 28, 29, 30, 31, 32, 33, 34, | |
149 35, 36, 37, 38, 39, 40, | |
150 }; | |
151 | |
152 static RLTable rl_inter = { | |
153 102, | |
154 58, | |
155 inter_vlc, | |
156 inter_run, | |
157 inter_level, | |
158 }; | |
159 | |
1064 | 160 const uint16_t intra_vlc_aic[103][2] = { |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
161 { 0x2, 2 }, { 0x6, 3 }, { 0xe, 4 }, { 0xc, 5 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
162 { 0xd, 5 }, { 0x10, 6 }, { 0x11, 6 }, { 0x12, 6 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
163 { 0x16, 7 }, { 0x1b, 8 }, { 0x20, 9 }, { 0x21, 9 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
164 { 0x1a, 9 }, { 0x1b, 9 }, { 0x1c, 9 }, { 0x1d, 9 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
165 { 0x1e, 9 }, { 0x1f, 9 }, { 0x23, 11 }, { 0x22, 11 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
166 { 0x57, 12 }, { 0x56, 12 }, { 0x55, 12 }, { 0x54, 12 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
167 { 0x53, 12 }, { 0xf, 4 }, { 0x14, 6 }, { 0x14, 7 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
168 { 0x1e, 8 }, { 0xf, 10 }, { 0x21, 11 }, { 0x50, 12 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
169 { 0xb, 5 }, { 0x15, 7 }, { 0xe, 10 }, { 0x9, 10 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
170 { 0x15, 6 }, { 0x1d, 8 }, { 0xd, 10 }, { 0x51, 12 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
171 { 0x13, 6 }, { 0x23, 9 }, { 0x7, 11 }, { 0x17, 7 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
172 { 0x22, 9 }, { 0x52, 12 }, { 0x1c, 8 }, { 0xc, 10 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
173 { 0x1f, 8 }, { 0xb, 10 }, { 0x25, 9 }, { 0xa, 10 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
174 { 0x24, 9 }, { 0x6, 11 }, { 0x21, 10 }, { 0x20, 10 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
175 { 0x8, 10 }, { 0x20, 11 }, { 0x7, 4 }, { 0xc, 6 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
176 { 0x10, 7 }, { 0x13, 8 }, { 0x11, 9 }, { 0x12, 9 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
177 { 0x4, 10 }, { 0x27, 11 }, { 0x26, 11 }, { 0x5f, 12 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
178 { 0xf, 6 }, { 0x13, 9 }, { 0x5, 10 }, { 0x25, 11 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
179 { 0xe, 6 }, { 0x14, 9 }, { 0x24, 11 }, { 0xd, 6 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
180 { 0x6, 10 }, { 0x5e, 12 }, { 0x11, 7 }, { 0x7, 10 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
181 { 0x13, 7 }, { 0x5d, 12 }, { 0x12, 7 }, { 0x5c, 12 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
182 { 0x14, 8 }, { 0x5b, 12 }, { 0x15, 8 }, { 0x1a, 8 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
183 { 0x19, 8 }, { 0x18, 8 }, { 0x17, 8 }, { 0x16, 8 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
184 { 0x19, 9 }, { 0x15, 9 }, { 0x16, 9 }, { 0x18, 9 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
185 { 0x17, 9 }, { 0x4, 11 }, { 0x5, 11 }, { 0x58, 12 }, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
186 { 0x59, 12 }, { 0x5a, 12 }, { 0x3, 7 }, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
187 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
188 |
1064 | 189 const int8_t intra_run_aic[102] = { |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
190 0, 0, 0, 0, 0, 0, 0, 0, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
191 0, 0, 0, 0, 0, 0, 0, 0, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
192 0, 0, 0, 0, 0, 0, 0, 0, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
193 0, 1, 1, 1, 1, 1, 1, 1, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
194 2, 2, 2, 2, 3, 3, 3, 3, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
195 4, 4, 4, 5, 5, 5, 6, 6, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
196 7, 7, 8, 8, 9, 9, 10, 11, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
197 12, 13, 0, 0, 0, 0, 0, 0, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
198 0, 0, 0, 0, 1, 1, 1, 1, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
199 2, 2, 2, 3, 3, 3, 4, 4, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
200 5, 5, 6, 6, 7, 7, 8, 9, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
201 10, 11, 12, 13, 14, 15, 16, 17, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
202 18, 19, 20, 21, 22, 23, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
203 }; |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
204 |
1064 | 205 const int8_t intra_level_aic[102] = { |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
206 1, 2, 3, 4, 5, 6, 7, 8, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
207 9, 10, 11, 12, 13, 14, 15, 16, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
208 17, 18, 19, 20, 21, 22, 23, 24, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
209 25, 1, 2, 3, 4, 5, 6, 7, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
210 1, 2, 3, 4, 1, 2, 3, 4, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
211 1, 2, 3, 1, 2, 3, 1, 2, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
212 1, 2, 1, 2, 1, 2, 1, 1, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
213 1, 1, 1, 2, 3, 4, 5, 6, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
214 7, 8, 9, 10, 1, 2, 3, 4, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
215 1, 2, 3, 1, 2, 3, 1, 2, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
216 1, 2, 1, 2, 1, 2, 1, 1, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
217 1, 1, 1, 1, 1, 1, 1, 1, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
218 1, 1, 1, 1, 1, 1, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
219 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
220 |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
221 static RLTable rl_intra_aic = { |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
222 102, |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
223 58, |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
224 intra_vlc_aic, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
225 intra_run_aic, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
226 intra_level_aic, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
227 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
228 |
1638 | 229 static const uint8_t wrong_run[102] = { |
230 1, 2, 3, 5, 4, 10, 9, 8, | |
231 11, 15, 17, 16, 23, 22, 21, 20, | |
232 19, 18, 25, 24, 27, 26, 11, 7, | |
233 6, 1, 2, 13, 2, 2, 2, 2, | |
234 6, 12, 3, 9, 1, 3, 4, 3, | |
235 7, 4, 1, 1, 5, 5, 14, 6, | |
236 1, 7, 1, 8, 1, 1, 1, 1, | |
237 10, 1, 1, 5, 9, 17, 25, 24, | |
238 29, 33, 32, 41, 2, 23, 28, 31, | |
239 3, 22, 30, 4, 27, 40, 8, 26, | |
240 6, 39, 7, 38, 16, 37, 15, 10, | |
241 11, 12, 13, 14, 1, 21, 20, 18, | |
242 19, 2, 1, 34, 35, 36 | |
243 }; | |
244 | |
1064 | 245 static const uint16_t h263_format[8][2] = { |
0 | 246 { 0, 0 }, |
247 { 128, 96 }, | |
248 { 176, 144 }, | |
249 { 352, 288 }, | |
250 { 704, 576 }, | |
251 { 1408, 1152 }, | |
252 }; | |
498 | 253 |
1639 | 254 uint8_t ff_aic_dc_scale_table[32]={ |
498 | 255 // 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 |
256 0, 2, 4, 6, 8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62 | |
257 }; | |
258 | |
1639 | 259 static const uint8_t modified_quant_tab[2][32]={ |
260 // 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 | |
261 { | |
262 0, 3, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9,10,11,12,13,14,15,16,17,18,18,19,20,21,22,23,24,25,26,27,28 | |
263 },{ | |
264 0, 2, 3, 4, 5, 6, 7, 8, 9,10,11,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,31,31,26 | |
265 } | |
266 }; | |
267 | |
1644 | 268 const uint8_t ff_h263_chroma_qscale_table[32]={ |
1639 | 269 // 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 |
270 0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 9,10,10,11,11,12,12,12,13,13,13,14,14,14,14,14,15,15,15,15,15 | |
271 }; | |
272 | |
273 const uint16_t ff_mba_max[6]={ | |
274 47, 98, 395,1583,6335,9215 | |
275 }; | |
276 | |
277 const uint8_t ff_mba_length[6]={ | |
278 6, 7, 9, 11, 13, 14 | |
279 }; | |
1644 | 280 |
281 const uint8_t ff_h263_loop_filter_strength[32]={ | |
282 // 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 | |
283 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9,10,10,10,11,11,11,12,12,12 | |
284 }; | |
285 |