Mercurial > libavcodec.hg
annotate h263data.h @ 4301:b43bd0c56eaa libavcodec
Bug fix for crashes when SSE is used on unaligned arrays.
No measureable change in speed. This gave random crashes on Win32
and BeOS. The cause for this bug is that gcc doesn't align the
stackframe. Linux and glibc always ensure this to be true thus
this never affected Linux.
author | banan |
---|---|
date | Thu, 14 Dec 2006 17:50:23 +0000 |
parents | 85e1f5ceb97e |
children | 4394344397d8 |
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 |
c537a97eec66
Add official LGPL license headers to the files that were missing them.
diego
parents:
3187
diff
changeset
|
4 * copyright (c) 2001 Juan J. Sierralta P. |
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 /** |
25 * @file h263data.h | |
26 * H.263 tables. | |
27 */ | |
28 | |
0 | 29 |
30 /* intra MCBPC, mb_type = (intra), then (intraq) */ | |
1482 | 31 const uint8_t intra_MCBPC_code[9] = { 1, 1, 2, 3, 1, 1, 2, 3, 1 }; |
32 const uint8_t intra_MCBPC_bits[9] = { 1, 3, 3, 3, 4, 6, 6, 6, 9 }; | |
0 | 33 |
34 /* inter MCBPC, mb_type = (inter), (intra), (interq), (intraq), (inter4v) */ | |
161 | 35 /* Changed the tables for interq and inter4v+q, following the standard ** Juanjo ** */ |
2967 | 36 const uint8_t inter_MCBPC_code[28] = { |
37 1, 3, 2, 5, | |
38 3, 4, 3, 3, | |
144 | 39 3, 7, 6, 5, |
40 4, 4, 3, 2, | |
41 2, 5, 4, 5, | |
1482 | 42 1, 0, 0, 0, /* Stuffing */ |
161 | 43 2, 12, 14, 15, |
144 | 44 }; |
2967 | 45 const uint8_t inter_MCBPC_bits[28] = { |
1482 | 46 1, 4, 4, 6, /* inter */ |
47 5, 8, 8, 7, /* intra */ | |
48 3, 7, 7, 9, /* interQ */ | |
49 6, 9, 9, 9, /* intraQ */ | |
50 3, 7, 7, 8, /* inter4 */ | |
51 9, 0, 0, 0, /* Stuffing */ | |
52 11, 13, 13, 13,/* inter4Q*/ | |
144 | 53 }; |
54 | |
1655 | 55 static const uint8_t h263_mbtype_b_tab[15][2] = { |
2967 | 56 {1, 1}, |
57 {3, 3}, | |
58 {1, 5}, | |
1655 | 59 {4, 4}, |
60 {5, 4}, | |
61 {6, 6}, | |
62 {2, 4}, | |
63 {3, 4}, | |
64 {7, 6}, | |
65 {4, 6}, | |
66 {5, 6}, | |
67 {1, 6}, | |
68 {1,10}, | |
69 {1, 7}, | |
70 {1, 8}, | |
71 }; | |
72 | |
73 static const int h263_mb_type_b_map[15]= { | |
74 MB_TYPE_DIRECT2 | MB_TYPE_L0L1, | |
75 MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP, | |
76 MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT, | |
1701 | 77 MB_TYPE_L0 | MB_TYPE_16x16, |
78 MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_16x16, | |
79 MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
80 MB_TYPE_L1 | MB_TYPE_16x16, | |
81 MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_16x16, | |
82 MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
83 MB_TYPE_L0L1 | MB_TYPE_16x16, | |
84 MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_16x16, | |
85 MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16, | |
1655 | 86 0, //stuffing |
1708 | 87 MB_TYPE_INTRA4x4 | MB_TYPE_CBP, |
88 MB_TYPE_INTRA4x4 | MB_TYPE_CBP | MB_TYPE_QUANT, | |
1655 | 89 }; |
90 | |
4180 | 91 static const uint8_t cbpc_b_tab[4][2] = { |
1655 | 92 {0, 1}, |
93 {2, 2}, | |
94 {7, 3}, | |
95 {6, 3}, | |
96 }; | |
97 | |
1064 | 98 const uint8_t cbpy_tab[16][2] = |
0 | 99 { |
100 {3,4}, {5,5}, {4,5}, {9,4}, {3,5}, {7,4}, {2,6}, {11,4}, | |
101 {2,5}, {3,6}, {5,4}, {10,4}, {4,4}, {8,4}, {6,4}, {3,2} | |
102 }; | |
103 | |
1064 | 104 const uint8_t mvtab[33][2] = |
0 | 105 { |
106 {1,1}, {1,2}, {1,3}, {1,4}, {3,6}, {5,7}, {4,7}, {3,7}, | |
107 {11,9}, {10,9}, {9,9}, {17,10}, {16,10}, {15,10}, {14,10}, {13,10}, | |
108 {12,10}, {11,10}, {10,10}, {9,10}, {8,10}, {7,10}, {6,10}, {5,10}, | |
109 {4,10}, {7,11}, {6,11}, {5,11}, {4,11}, {3,11}, {2,11}, {3,12}, | |
110 {2,12} | |
111 }; | |
112 | |
113 /* third non intra table */ | |
1064 | 114 const uint16_t inter_vlc[103][2] = { |
0 | 115 { 0x2, 2 },{ 0xf, 4 },{ 0x15, 6 },{ 0x17, 7 }, |
116 { 0x1f, 8 },{ 0x25, 9 },{ 0x24, 9 },{ 0x21, 10 }, | |
117 { 0x20, 10 },{ 0x7, 11 },{ 0x6, 11 },{ 0x20, 11 }, | |
118 { 0x6, 3 },{ 0x14, 6 },{ 0x1e, 8 },{ 0xf, 10 }, | |
119 { 0x21, 11 },{ 0x50, 12 },{ 0xe, 4 },{ 0x1d, 8 }, | |
120 { 0xe, 10 },{ 0x51, 12 },{ 0xd, 5 },{ 0x23, 9 }, | |
121 { 0xd, 10 },{ 0xc, 5 },{ 0x22, 9 },{ 0x52, 12 }, | |
122 { 0xb, 5 },{ 0xc, 10 },{ 0x53, 12 },{ 0x13, 6 }, | |
123 { 0xb, 10 },{ 0x54, 12 },{ 0x12, 6 },{ 0xa, 10 }, | |
124 { 0x11, 6 },{ 0x9, 10 },{ 0x10, 6 },{ 0x8, 10 }, | |
125 { 0x16, 7 },{ 0x55, 12 },{ 0x15, 7 },{ 0x14, 7 }, | |
126 { 0x1c, 8 },{ 0x1b, 8 },{ 0x21, 9 },{ 0x20, 9 }, | |
127 { 0x1f, 9 },{ 0x1e, 9 },{ 0x1d, 9 },{ 0x1c, 9 }, | |
128 { 0x1b, 9 },{ 0x1a, 9 },{ 0x22, 11 },{ 0x23, 11 }, | |
129 { 0x56, 12 },{ 0x57, 12 },{ 0x7, 4 },{ 0x19, 9 }, | |
130 { 0x5, 11 },{ 0xf, 6 },{ 0x4, 11 },{ 0xe, 6 }, | |
131 { 0xd, 6 },{ 0xc, 6 },{ 0x13, 7 },{ 0x12, 7 }, | |
132 { 0x11, 7 },{ 0x10, 7 },{ 0x1a, 8 },{ 0x19, 8 }, | |
133 { 0x18, 8 },{ 0x17, 8 },{ 0x16, 8 },{ 0x15, 8 }, | |
134 { 0x14, 8 },{ 0x13, 8 },{ 0x18, 9 },{ 0x17, 9 }, | |
135 { 0x16, 9 },{ 0x15, 9 },{ 0x14, 9 },{ 0x13, 9 }, | |
136 { 0x12, 9 },{ 0x11, 9 },{ 0x7, 10 },{ 0x6, 10 }, | |
137 { 0x5, 10 },{ 0x4, 10 },{ 0x24, 11 },{ 0x25, 11 }, | |
138 { 0x26, 11 },{ 0x27, 11 },{ 0x58, 12 },{ 0x59, 12 }, | |
139 { 0x5a, 12 },{ 0x5b, 12 },{ 0x5c, 12 },{ 0x5d, 12 }, | |
140 { 0x5e, 12 },{ 0x5f, 12 },{ 0x3, 7 }, | |
141 }; | |
142 | |
1064 | 143 const int8_t inter_level[102] = { |
0 | 144 1, 2, 3, 4, 5, 6, 7, 8, |
145 9, 10, 11, 12, 1, 2, 3, 4, | |
146 5, 6, 1, 2, 3, 4, 1, 2, | |
147 3, 1, 2, 3, 1, 2, 3, 1, | |
148 2, 3, 1, 2, 1, 2, 1, 2, | |
149 1, 2, 1, 1, 1, 1, 1, 1, | |
150 1, 1, 1, 1, 1, 1, 1, 1, | |
151 1, 1, 1, 2, 3, 1, 2, 1, | |
152 1, 1, 1, 1, 1, 1, 1, 1, | |
153 1, 1, 1, 1, 1, 1, 1, 1, | |
154 1, 1, 1, 1, 1, 1, 1, 1, | |
155 1, 1, 1, 1, 1, 1, 1, 1, | |
156 1, 1, 1, 1, 1, 1, | |
157 }; | |
158 | |
1064 | 159 const int8_t inter_run[102] = { |
0 | 160 0, 0, 0, 0, 0, 0, 0, 0, |
161 0, 0, 0, 0, 1, 1, 1, 1, | |
162 1, 1, 2, 2, 2, 2, 3, 3, | |
163 3, 4, 4, 4, 5, 5, 5, 6, | |
164 6, 6, 7, 7, 8, 8, 9, 9, | |
165 10, 10, 11, 12, 13, 14, 15, 16, | |
166 17, 18, 19, 20, 21, 22, 23, 24, | |
167 25, 26, 0, 0, 0, 1, 1, 2, | |
168 3, 4, 5, 6, 7, 8, 9, 10, | |
169 11, 12, 13, 14, 15, 16, 17, 18, | |
170 19, 20, 21, 22, 23, 24, 25, 26, | |
171 27, 28, 29, 30, 31, 32, 33, 34, | |
172 35, 36, 37, 38, 39, 40, | |
173 }; | |
174 | |
175 static RLTable rl_inter = { | |
176 102, | |
177 58, | |
178 inter_vlc, | |
179 inter_run, | |
180 inter_level, | |
181 }; | |
182 | |
4180 | 183 static const uint16_t intra_vlc_aic[103][2] = { |
2967 | 184 { 0x2, 2 }, { 0x6, 3 }, { 0xe, 4 }, { 0xc, 5 }, |
185 { 0xd, 5 }, { 0x10, 6 }, { 0x11, 6 }, { 0x12, 6 }, | |
186 { 0x16, 7 }, { 0x1b, 8 }, { 0x20, 9 }, { 0x21, 9 }, | |
187 { 0x1a, 9 }, { 0x1b, 9 }, { 0x1c, 9 }, { 0x1d, 9 }, | |
188 { 0x1e, 9 }, { 0x1f, 9 }, { 0x23, 11 }, { 0x22, 11 }, | |
189 { 0x57, 12 }, { 0x56, 12 }, { 0x55, 12 }, { 0x54, 12 }, | |
190 { 0x53, 12 }, { 0xf, 4 }, { 0x14, 6 }, { 0x14, 7 }, | |
191 { 0x1e, 8 }, { 0xf, 10 }, { 0x21, 11 }, { 0x50, 12 }, | |
192 { 0xb, 5 }, { 0x15, 7 }, { 0xe, 10 }, { 0x9, 10 }, | |
193 { 0x15, 6 }, { 0x1d, 8 }, { 0xd, 10 }, { 0x51, 12 }, | |
194 { 0x13, 6 }, { 0x23, 9 }, { 0x7, 11 }, { 0x17, 7 }, | |
195 { 0x22, 9 }, { 0x52, 12 }, { 0x1c, 8 }, { 0xc, 10 }, | |
196 { 0x1f, 8 }, { 0xb, 10 }, { 0x25, 9 }, { 0xa, 10 }, | |
197 { 0x24, 9 }, { 0x6, 11 }, { 0x21, 10 }, { 0x20, 10 }, | |
198 { 0x8, 10 }, { 0x20, 11 }, { 0x7, 4 }, { 0xc, 6 }, | |
199 { 0x10, 7 }, { 0x13, 8 }, { 0x11, 9 }, { 0x12, 9 }, | |
200 { 0x4, 10 }, { 0x27, 11 }, { 0x26, 11 }, { 0x5f, 12 }, | |
201 { 0xf, 6 }, { 0x13, 9 }, { 0x5, 10 }, { 0x25, 11 }, | |
202 { 0xe, 6 }, { 0x14, 9 }, { 0x24, 11 }, { 0xd, 6 }, | |
203 { 0x6, 10 }, { 0x5e, 12 }, { 0x11, 7 }, { 0x7, 10 }, | |
204 { 0x13, 7 }, { 0x5d, 12 }, { 0x12, 7 }, { 0x5c, 12 }, | |
205 { 0x14, 8 }, { 0x5b, 12 }, { 0x15, 8 }, { 0x1a, 8 }, | |
206 { 0x19, 8 }, { 0x18, 8 }, { 0x17, 8 }, { 0x16, 8 }, | |
207 { 0x19, 9 }, { 0x15, 9 }, { 0x16, 9 }, { 0x18, 9 }, | |
208 { 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
|
209 { 0x59, 12 }, { 0x5a, 12 }, { 0x3, 7 }, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
210 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
211 |
4180 | 212 static const int8_t intra_run_aic[102] = { |
2967 | 213 0, 0, 0, 0, 0, 0, 0, 0, |
214 0, 0, 0, 0, 0, 0, 0, 0, | |
215 0, 0, 0, 0, 0, 0, 0, 0, | |
216 0, 1, 1, 1, 1, 1, 1, 1, | |
217 2, 2, 2, 2, 3, 3, 3, 3, | |
218 4, 4, 4, 5, 5, 5, 6, 6, | |
219 7, 7, 8, 8, 9, 9, 10, 11, | |
220 12, 13, 0, 0, 0, 0, 0, 0, | |
221 0, 0, 0, 0, 1, 1, 1, 1, | |
222 2, 2, 2, 3, 3, 3, 4, 4, | |
223 5, 5, 6, 6, 7, 7, 8, 9, | |
224 10, 11, 12, 13, 14, 15, 16, 17, | |
225 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
|
226 }; |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
227 |
4180 | 228 static const int8_t intra_level_aic[102] = { |
2967 | 229 1, 2, 3, 4, 5, 6, 7, 8, |
230 9, 10, 11, 12, 13, 14, 15, 16, | |
231 17, 18, 19, 20, 21, 22, 23, 24, | |
232 25, 1, 2, 3, 4, 5, 6, 7, | |
233 1, 2, 3, 4, 1, 2, 3, 4, | |
234 1, 2, 3, 1, 2, 3, 1, 2, | |
235 1, 2, 1, 2, 1, 2, 1, 1, | |
236 1, 1, 1, 2, 3, 4, 5, 6, | |
237 7, 8, 9, 10, 1, 2, 3, 4, | |
238 1, 2, 3, 1, 2, 3, 1, 2, | |
239 1, 2, 1, 2, 1, 2, 1, 1, | |
240 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
|
241 1, 1, 1, 1, 1, 1, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
242 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
243 |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
244 static RLTable rl_intra_aic = { |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
245 102, |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
246 58, |
350
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
247 intra_vlc_aic, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
248 intra_run_aic, |
6ebbecc10063
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
pulento
parents:
307
diff
changeset
|
249 intra_level_aic, |
248
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
250 }; |
56ee684c48bb
- H.263+ decoder support for Advanded INTRA Coding (buggy)
pulento
parents:
161
diff
changeset
|
251 |
1638 | 252 static const uint8_t wrong_run[102] = { |
2967 | 253 1, 2, 3, 5, 4, 10, 9, 8, |
254 11, 15, 17, 16, 23, 22, 21, 20, | |
255 19, 18, 25, 24, 27, 26, 11, 7, | |
256 6, 1, 2, 13, 2, 2, 2, 2, | |
257 6, 12, 3, 9, 1, 3, 4, 3, | |
258 7, 4, 1, 1, 5, 5, 14, 6, | |
259 1, 7, 1, 8, 1, 1, 1, 1, | |
260 10, 1, 1, 5, 9, 17, 25, 24, | |
261 29, 33, 32, 41, 2, 23, 28, 31, | |
262 3, 22, 30, 4, 27, 40, 8, 26, | |
263 6, 39, 7, 38, 16, 37, 15, 10, | |
264 11, 12, 13, 14, 1, 21, 20, 18, | |
1638 | 265 19, 2, 1, 34, 35, 36 |
266 }; | |
267 | |
1064 | 268 static const uint16_t h263_format[8][2] = { |
0 | 269 { 0, 0 }, |
270 { 128, 96 }, | |
271 { 176, 144 }, | |
272 { 352, 288 }, | |
273 { 704, 576 }, | |
274 { 1408, 1152 }, | |
275 }; | |
498 | 276 |
2753 | 277 const uint8_t ff_aic_dc_scale_table[32]={ |
498 | 278 // 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 |
279 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 | |
280 }; | |
281 | |
1639 | 282 static const uint8_t modified_quant_tab[2][32]={ |
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 { | |
285 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 | |
286 },{ | |
287 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 | 288 } |
1639 | 289 }; |
290 | |
1644 | 291 const uint8_t ff_h263_chroma_qscale_table[32]={ |
1639 | 292 // 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 |
293 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 | |
294 }; | |
295 | |
296 const uint16_t ff_mba_max[6]={ | |
297 47, 98, 395,1583,6335,9215 | |
298 }; | |
299 | |
3187 | 300 const uint8_t ff_mba_length[7]={ |
301 6, 7, 9, 11, 13, 14, 14 | |
1639 | 302 }; |
1644 | 303 |
304 const uint8_t ff_h263_loop_filter_strength[32]={ | |
305 // 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 | |
306 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 | |
307 }; | |
308 |