annotate aandcttab.c @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 7dd2a45249a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5204
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
1 /*
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
2 * This file is part of FFmpeg.
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
3 *
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
4 * FFmpeg is free software; you can redistribute it and/or
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
5 * modify it under the terms of the GNU Lesser General Public
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
7 * version 2.1 of the License, or (at your option) any later version.
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
8 *
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
9 * FFmpeg is distributed in the hope that it will be useful,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
12 * Lesser General Public License for more details.
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
13 *
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
14 * You should have received a copy of the GNU Lesser General Public
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
15 * License along with FFmpeg; if not, write to the Free Software
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
17 */
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
18
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
19 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 8718
diff changeset
20 * @file
8218
03054192daac Move aanscales tables to their own file; fixes compilation without encoders.
diego
parents: 8217
diff changeset
21 * AAN (Arai Agui Aakajima) (I)DCT tables
5204
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
22 */
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
23
8218
03054192daac Move aanscales tables to their own file; fixes compilation without encoders.
diego
parents: 8217
diff changeset
24 #include <stdint.h>
5204
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
25
8218
03054192daac Move aanscales tables to their own file; fixes compilation without encoders.
diego
parents: 8217
diff changeset
26 const uint16_t ff_aanscales[64] = {
5204
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
27 /* precomputed values scaled up by 14 bits */
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
28 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
29 22725, 31521, 29692, 26722, 22725, 17855, 12299, 6270,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
30 21407, 29692, 27969, 25172, 21407, 16819, 11585, 5906,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
31 19266, 26722, 25172, 22654, 19266, 15137, 10426, 5315,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
32 16384, 22725, 21407, 19266, 16384, 12873, 8867, 4520,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
33 12873, 17855, 16819, 15137, 12873, 10114, 6967, 3552,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
34 8867 , 12299, 11585, 10426, 8867, 6967, 4799, 2446,
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
35 4520 , 6270, 5906, 5315, 4520, 3552, 2446, 1247
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
36 };
1c3baf4323bb Description: split mpegvideo.c
benoit
parents:
diff changeset
37
8117
a0f9045e0a82 Promote inv_aanscales array to global scope (ff_inv_aanscales)
pross
parents: 7974
diff changeset
38 const uint16_t ff_inv_aanscales[64] = {
6401
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
39 4096, 2953, 3135, 3483, 4096, 5213, 7568, 14846,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
40 2953, 2129, 2260, 2511, 2953, 3759, 5457, 10703,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
41 3135, 2260, 2399, 2666, 3135, 3990, 5793, 11363,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
42 3483, 2511, 2666, 2962, 3483, 4433, 6436, 12625,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
43 4096, 2953, 3135, 3483, 4096, 5213, 7568, 14846,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
44 5213, 3759, 3990, 4433, 5213, 6635, 9633, 18895,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
45 7568, 5457, 5793, 6436, 7568, 9633, 13985, 27432,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
46 14846, 10703, 11363, 12625, 14846, 18895, 27432, 53809,
345cffb2c613 Fix trellis quant + AAN DCT.
michael
parents: 6127
diff changeset
47 };