Mercurial > libavcodec.hg
annotate h263data.h @ 8991:ca768cb2bfb6 libavcodec
Use last decoded SPS as current SPS in order to parse picture timing SEI
correctly. This works around an apparent H.264 standard deficiency.
Patch by Ivan Schreter, schreter gmx net
author | cehoyos |
---|---|
date | Fri, 20 Feb 2009 16:20:01 +0000 |
parents | e9d9d946f213 |
children | 0e785b937073 |
rev | line source |
---|---|
3699
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
1 /* |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
2 * copyright (c) 2000,2001 Fabrice Bellard |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
3 * H263+ support |
8629
04423b2f6e0b
cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents:
7760
diff
changeset
|
4 * copyright (c) 2001 Juan J. Sierralta P |
3699
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
5 * copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at> |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
6 * |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3699
diff
changeset
|
7 * This file is part of FFmpeg. |
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3699
diff
changeset
|
8 * |
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3699
diff
changeset
|
9 * FFmpeg is free software; you can redistribute it and/or |
3699
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
10 * modify it under the terms of the GNU Lesser General Public |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
11 * License as published by the Free Software Foundation; either |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3699
diff
changeset
|
12 * version 2.1 of the License, or (at your option) any later version. |
3699
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
13 * |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3699
diff
changeset
|
14 * FFmpeg is distributed in the hope that it will be useful, |
3699
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
17 * Lesser General Public License for more details. |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
18 * |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
19 * You should have received a copy of the GNU Lesser General Public |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3699
diff
changeset
|
20 * License along with FFmpeg; if not, write to the Free Software |
3699
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
22 */ |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
23 |
1106 | 24 /** |
8718
e9d9d946f213
Use full internal pathname in doxygen @file directives.
diego
parents:
8629
diff
changeset
|
25 * @file libavcodec/h263data.h |
1106 | 26 * H.263 tables. |
27 */ | |
28 | |
7760 | 29 #ifndef AVCODEC_H263DATA_H |
30 #define AVCODEC_H263DATA_H | |
5163 | 31 |
5162 | 32 #include <stdint.h> |
33 #include "mpegvideo.h" | |
0 | 34 |
35 /* intra MCBPC, mb_type = (intra), then (intraq) */ | |
1482 | 36 const uint8_t intra_MCBPC_code[9] = { 1, 1, 2, 3, 1, 1, 2, 3, 1 }; |
37 const uint8_t intra_MCBPC_bits[9] = { 1, 3, 3, 3, 4, 6, 6, 6, 9 }; | |
0 | 38 |
39 /* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */ | |
161 | 40 /* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */ |
2967 | 41 const uint8_t inter_MCBPC_code[28] = { |
42 1, 3, 2, 5, | |
43 3, 4, 3, 3, | |
144 | 44 3, 7, 6, 5, |
45 4, 4, 3, 2, | |
46 2, 5, 4, 5, | |
1482 | 47 1, 0, 0, 0, /* Stuffing */ |
161 | 48 2, 12, 14, 15, |
144 | 49 }; |
2967 | 50 const uint8_t inter_MCBPC_bits[28] = { |
1482 | 51 1, 4, 4, 6, /* inter */ |
52 5, 8, 8, 7, /* intra */ | |
53 3, 7, 7, 9, /* interQ */ | |
54 6, 9, 9, 9, /* intraQ */ | |
55 3, 7, 7, 8, /* inter4 */ | |
56 9, 0, 0, 0, /* Stuffing */ | |
57 11, 13, 13, 13,/* inter4Q*/ | |
144 | 58 }; |
59 | |
1655 | 60 static const uint8_t h263_mbtype_b_tab[15][2] = { |
2967 | 61 {1, 1}, |
62 {3, 3}, | |
63 {1, 5}, | |
1655 | 64 {4, 4}, |
65 {5, 4}, | |
66 {6, 6}, | |
67 {2, 4}, | |
68 {3, 4}, | |
69 {7, 6}, | |
70 {4, 6}, | |
71 {5, 6}, | |
72 {1, 6}, | |
73 {1,10}, | |
74 {1, 7}, | |
75 {1, 8}, | |
76 }; | |
77 | |
78 static const int h263_mb_type_b_map[15]= { | |
79 MB_TYPE_DIRECT2 | MB_TYPE_L0L1, | |
80 MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP, | |
81 MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT, | |
1701 | 82 MB_TYPE_L0 | MB_TYPE_16x16, |
83 MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_16x16, | |
84 MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
85 MB_TYPE_L1 | MB_TYPE_16x16, | |
86 MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_16x16, | |
87 MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
88 MB_TYPE_L0L1 | MB_TYPE_16x16, | |
89 MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_16x16, | |
90 MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
1655 | 91 0, //stuffing |
1708 | 92 MB_TYPE_INTRA4x4 | MB_TYPE_CBP, |
93 MB_TYPE_INTRA4x4 | MB_TYPE_CBP | MB_TYPE_QUANT, | |
1655 | 94 }; |
95 | |
4180 | 96 static const uint8_t cbpc_b_tab[4][2] = { |
1655 | 97 {0, 1}, |
98 {2, 2}, | |
99 {7, 3}, | |
100 {6, 3}, | |
101 }; | |
102 | |
1064 | 103 const uint8_t cbpy_tab[16][2] = |
0 | 104 { |
105 {3,4}, {5,5}, {4,5}, {9,4}, {3,5}, {7,4}, {2,6}, {11,4}, | |
106 {2,5}, {3,6}, {5,4}, {10,4}, {4,4}, {8,4}, {6,4}, {3,2} | |
107 }; | |
108 | |
1064 | 109 const uint8_t mvtab[33][2] = |
0 | 110 { |
111 {1,1}, {1,2}, {1,3}, {1,4}, {3,6}, {5,7}, {4,7}, {3,7}, | |
112 {11,9}, {10,9}, {9,9}, {17,10}, {16,10}, {15,10}, {14,10}, {13,10}, | |
113 {12,10}, {11,10}, {10,10}, {9,10}, {8,10}, {7,10}, {6,10}, {5,10}, | |
114 {4,10}, {7,11}, {6,11}, {5,11}, {4,11}, {3,11}, {2,11}, {3,12}, | |
115 {2,12} | |
116 }; | |
117 | |
118 /* third non intra table */ | |
1064 | 119 const uint16_t inter_vlc[103][2] = { |
0 | 120 { 0x2, 2 },{ 0xf, 4 },{ 0x15, 6 },{ 0x17, 7 }, |
121 { 0x1f, 8 },{ 0x25, 9 },{ 0x24, 9 },{ 0x21, 10 }, | |
122 { 0x20, 10 },{ 0x7, 11 },{ 0x6, 11 },{ 0x20, 11 }, | |
123 { 0x6, 3 },{ 0x14, 6 },{ 0x1e, 8 },{ 0xf, 10 }, | |
124 { 0x21, 11 },{ 0x50, 12 },{ 0xe, 4 },{ 0x1d, 8 }, | |
125 { 0xe, 10 },{ 0x51, 12 },{ 0xd, 5 },{ 0x23, 9 }, | |
126 { 0xd, 10 },{ 0xc, 5 },{ 0x22, 9 },{ 0x52, 12 }, | |
127 { 0xb, 5 },{ 0xc, 10 },{ 0x53, 12 },{ 0x13, 6 }, | |
128 { 0xb, 10 },{ 0x54, 12 },{ 0x12, 6 },{ 0xa, 10 }, | |
129 { 0x11, 6 },{ 0x9, 10 },{ 0x10, 6 },{ 0x8, 10 }, | |
130 { 0x16, 7 },{ 0x55, 12 },{ 0x15, 7 },{ 0x14, 7 }, | |
131 { 0x1c, 8 },{ 0x1b, 8 },{ 0x21, 9 },{ 0x20, 9 }, | |
132 { 0x1f, 9 },{ 0x1e, 9 },{ 0x1d, 9 },{ 0x1c, 9 }, | |
133 { 0x1b, 9 },{ 0x1a, 9 },{ 0x22, 11 },{ 0x23, 11 }, | |
134 { 0x56, 12 },{ 0x57, 12 },{ 0x7, 4 },{ 0x19, 9 }, | |
135 { 0x5, 11 },{ 0xf, 6 },{ 0x4, 11 },{ 0xe, 6 }, | |
136 { 0xd, 6 },{ 0xc, 6 },{ 0x13, 7 },{ 0x12, 7 }, | |
137 { 0x11, 7 },{ 0x10, 7 },{ 0x1a, 8 },{ 0x19, 8 }, | |
138 { 0x18, 8 },{ 0x17, 8 },{ 0x16, 8 },{ 0x15, 8 }, | |
139 { 0x14, 8 },{ 0x13, 8 },{ 0x18, 9 },{ 0x17, 9 }, | |
140 { 0x16, 9 },{ 0x15, 9 },{ 0x14, 9 },{ 0x13, 9 }, | |
141 { 0x12, 9 },{ 0x11, 9 },{ 0x7, 10 },{ 0x6, 10 }, | |
142 { 0x5, 10 },{ 0x4, 10 },{ 0x24, 11 },{ 0x25, 11 }, | |
143 { 0x26, 11 },{ 0x27, 11 },{ 0x58, 12 },{ 0x59, 12 }, | |
144 { 0x5a, 12 },{ 0x5b, 12 },{ 0x5c, 12 },{ 0x5d, 12 }, | |
145 { 0x5e, 12 },{ 0x5f, 12 },{ 0x3, 7 }, | |
146 }; | |
147 | |
1064 | 148 const int8_t inter_level[102] = { |
0 | 149 1, 2, 3, 4, 5, 6, 7, 8, |
150 9, 10, 11, 12, 1, 2, 3, 4, | |
151 5, 6, 1, 2, 3, 4, 1, 2, | |
152 3, 1, 2, 3, 1, 2, 3, 1, | |
153 2, 3, 1, 2, 1, 2, 1, 2, | |
154 1, 2, 1, 1, 1, 1, 1, 1, | |
155 1, 1, 1, 1, 1, 1, 1, 1, | |
156 1, 1, 1, 2, 3, 1, 2, 1, | |
157 1, 1, 1, 1, 1, 1, 1, 1, | |
158 1, 1, 1, 1, 1, 1, 1, 1, | |
159 1, 1, 1, 1, 1, 1, 1, 1, | |
160 1, 1, 1, 1, 1, 1, 1, 1, | |
161 1, 1, 1, 1, 1, 1, | |
162 }; | |
163 | |
1064 | 164 const int8_t inter_run[102] = { |
0 | 165 0, 0, 0, 0, 0, 0, 0, 0, |
166 0, 0, 0, 0, 1, 1, 1, 1, | |
167 1, 1, 2, 2, 2, 2, 3, 3, | |
168 3, 4, 4, 4, 5, 5, 5, 6, | |
169 6, 6, 7, 7, 8, 8, 9, 9, | |
170 10, 10, 11, 12, 13, 14, 15, 16, | |
171 17, 18, 19, 20, 21, 22, 23, 24, | |
172 25, 26, 0, 0, 0, 1, 1, 2, | |
173 3, 4, 5, 6, 7, 8, 9, 10, | |
174 11, 12, 13, 14, 15, 16, 17, 18, | |
175 19, 20, 21, 22, 23, 24, 25, 26, | |
176 27, 28, 29, 30, 31, 32, 33, 34, | |
177 35, 36, 37, 38, 39, 40, | |
178 }; | |
179 | |
180 static RLTable rl_inter = { | |
181 102, | |
182 58, | |
183 inter_vlc, | |
184 inter_run, | |
185 inter_level, | |
186 }; | |
187 | |
4180 | 188 static const uint16_t intra_vlc_aic[103][2] = { |
2967 | 189 { 0x2, 2 }, { 0x6, 3 }, { 0xe, 4 }, { 0xc, 5 }, |
190 { 0xd, 5 }, { 0x10, 6 }, { 0x11, 6 }, { 0x12, 6 }, | |
191 { 0x16, 7 }, { 0x1b, 8 }, { 0x20, 9 }, { 0x21, 9 }, | |
192 { 0x1a, 9 }, { 0x1b, 9 }, { 0x1c, 9 }, { 0x1d, 9 }, | |
193 { 0x1e, 9 }, { 0x1f, 9 }, { 0x23, 11 }, { 0x22, 11 }, | |
194 { 0x57, 12 }, { 0x56, 12 }, { 0x55, 12 }, { 0x54, 12 }, | |
195 { 0x53, 12 }, { 0xf, 4 }, { 0x14, 6 }, { 0x14, 7 }, | |
196 { 0x1e, 8 }, { 0xf, 10 }, { 0x21, 11 }, { 0x50, 12 }, | |
197 { 0xb, 5 }, { 0x15, 7 }, { 0xe, 10 }, { 0x9, 10 }, | |
198 { 0x15, 6 }, { 0x1d, 8 }, { 0xd, 10 }, { 0x51, 12 }, | |
199 { 0x13, 6 }, { 0x23, 9 }, { 0x7, 11 }, { 0x17, 7 }, | |
200 { 0x22, 9 }, { 0x52, 12 }, { 0x1c, 8 }, { 0xc, 10 }, | |
201 { 0x1f, 8 }, { 0xb, 10 }, { 0x25, 9 }, { 0xa, 10 }, | |
202 { 0x24, 9 }, { 0x6, 11 }, { 0x21, 10 }, { 0x20, 10 }, | |
203 { 0x8, 10 }, { 0x20, 11 }, { 0x7, 4 }, { 0xc, 6 }, | |
204 { 0x10, 7 }, { 0x13, 8 }, { 0x11, 9 }, { 0x12, 9 }, | |
205 { 0x4, 10 }, { 0x27, 11 }, { 0x26, 11 }, { 0x5f, 12 }, | |
206 { 0xf, 6 }, { 0x13, 9 }, { 0x5, 10 }, { 0x25, 11 }, | |
207 { 0xe, 6 }, { 0x14, 9 }, { 0x24, 11 }, { 0xd, 6 }, | |
208 { 0x6, 10 }, { 0x5e, 12 }, { 0x11, 7 }, { 0x7, 10 }, | |
209 { 0x13, 7 }, { 0x5d, 12 }, { 0x12, 7 }, { 0x5c, 12 }, | |
210 { 0x14, 8 }, { 0x5b, 12 }, { 0x15, 8 }, { 0x1a, 8 }, | |
211 { 0x19, 8 }, { 0x18, 8 }, { 0x17, 8 }, { 0x16, 8 }, | |
212 { 0x19, 9 }, { 0x15, 9 }, { 0x16, 9 }, { 0x18, 9 }, | |
213 { 0x17, 9 }, { 0x4, 11 }, { 0x5, 11 }, { 0x58, 12 }, | |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
214 { 0x59, 12 }, { 0x5a, 12 }, { 0x3, 7 }, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
215 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
216 |
4180 | 217 static const int8_t intra_run_aic[102] = { |
2967 | 218 0, 0, 0, 0, 0, 0, 0, 0, |
219 0, 0, 0, 0, 0, 0, 0, 0, | |
220 0, 0, 0, 0, 0, 0, 0, 0, | |
221 0, 1, 1, 1, 1, 1, 1, 1, | |
222 2, 2, 2, 2, 3, 3, 3, 3, | |
223 4, 4, 4, 5, 5, 5, 6, 6, | |
224 7, 7, 8, 8, 9, 9, 10, 11, | |
225 12, 13, 0, 0, 0, 0, 0, 0, | |
226 0, 0, 0, 0, 1, 1, 1, 1, | |
227 2, 2, 2, 3, 3, 3, 4, 4, | |
228 5, 5, 6, 6, 7, 7, 8, 9, | |
229 10, 11, 12, 13, 14, 15, 16, 17, | |
230 18, 19, 20, 21, 22, 23, | |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
231 }; |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
232 |
4180 | 233 static const int8_t intra_level_aic[102] = { |
2967 | 234 1, 2, 3, 4, 5, 6, 7, 8, |
235 9, 10, 11, 12, 13, 14, 15, 16, | |
236 17, 18, 19, 20, 21, 22, 23, 24, | |
237 25, 1, 2, 3, 4, 5, 6, 7, | |
238 1, 2, 3, 4, 1, 2, 3, 4, | |
239 1, 2, 3, 1, 2, 3, 1, 2, | |
240 1, 2, 1, 2, 1, 2, 1, 1, | |
241 1, 1, 1, 2, 3, 4, 5, 6, | |
242 7, 8, 9, 10, 1, 2, 3, 4, | |
243 1, 2, 3, 1, 2, 3, 1, 2, | |
244 1, 2, 1, 2, 1, 2, 1, 1, | |
245 1, 1, 1, 1, 1, 1, 1, 1, | |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
246 1, 1, 1, 1, 1, 1, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
247 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
248 |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
249 static RLTable rl_intra_aic = { |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
250 102, |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
251 58, |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
252 intra_vlc_aic, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
253 intra_run_aic, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
254 intra_level_aic, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
255 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
256 |
1638 | 257 static const uint8_t wrong_run[102] = { |
2967 | 258 1, 2, 3, 5, 4, 10, 9, 8, |
259 11, 15, 17, 16, 23, 22, 21, 20, | |
260 19, 18, 25, 24, 27, 26, 11, 7, | |
261 6, 1, 2, 13, 2, 2, 2, 2, | |
262 6, 12, 3, 9, 1, 3, 4, 3, | |
263 7, 4, 1, 1, 5, 5, 14, 6, | |
264 1, 7, 1, 8, 1, 1, 1, 1, | |
265 10, 1, 1, 5, 9, 17, 25, 24, | |
266 29, 33, 32, 41, 2, 23, 28, 31, | |
267 3, 22, 30, 4, 27, 40, 8, 26, | |
268 6, 39, 7, 38, 16, 37, 15, 10, | |
269 11, 12, 13, 14, 1, 21, 20, 18, | |
1638 | 270 19, 2, 1, 34, 35, 36 |
271 }; | |
272 | |
1064 | 273 static const uint16_t h263_format[8][2] = { |
0 | 274 { 0, 0 }, |
275 { 128, 96 }, | |
276 { 176, 144 }, | |
277 { 352, 288 }, | |
278 { 704, 576 }, | |
279 { 1408, 1152 }, | |
280 }; | |
498 | 281 |
2753 | 282 const uint8_t ff_aic_dc_scale_table[32]={ |
498 | 283 // 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 |
284 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 | |
285 }; | |
286 | |
1639 | 287 static const uint8_t modified_quant_tab[2][32]={ |
288 // 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 | |
289 { | |
290 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 | |
291 },{ | |
292 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 | |
2967 | 293 } |
1639 | 294 }; |
295 | |
1644 | 296 const uint8_t ff_h263_chroma_qscale_table[32]={ |
1639 | 297 // 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 |
298 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 | |
299 }; | |
300 | |
301 const uint16_t ff_mba_max[6]={ | |
302 47, 98, 395,1583,6335,9215 | |
303 }; | |
304 | |
3187 | 305 const uint8_t ff_mba_length[7]={ |
306 6, 7, 9, 11, 13, 14, 14 | |
1639 | 307 }; |
1644 | 308 |
309 const uint8_t ff_h263_loop_filter_strength[32]={ | |
310 // 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 | |
311 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 | |
312 }; | |
313 | |
7760 | 314 #endif /* AVCODEC_H263DATA_H */ |