• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 /**
20  * @file
21  * AAN (Arai, Agui and Nakajima) (I)DCT tables
22  */
23 
24 #include <stdint.h>
25 
26 const uint16_t ff_aanscales[64] = {
27     /* precomputed values scaled up by 14 bits */
28     16384, 22725, 21407, 19266, 16384, 12873,  8867,  4520,
29     22725, 31521, 29692, 26722, 22725, 17855, 12299,  6270,
30     21407, 29692, 27969, 25172, 21407, 16819, 11585,  5906,
31     19266, 26722, 25172, 22654, 19266, 15137, 10426,  5315,
32     16384, 22725, 21407, 19266, 16384, 12873,  8867,  4520,
33     12873, 17855, 16819, 15137, 12873, 10114,  6967,  3552,
34     8867 , 12299, 11585, 10426,  8867,  6967,  4799,  2446,
35     4520 ,  6270,  5906,  5315,  4520,  3552,  2446,  1247
36 };
37 
38 const uint16_t ff_inv_aanscales[64] = {
39   4096,  2953,  3135,  3483,  4096,  5213,  7568, 14846,
40   2953,  2129,  2260,  2511,  2953,  3759,  5457, 10703,
41   3135,  2260,  2399,  2666,  3135,  3990,  5793, 11363,
42   3483,  2511,  2666,  2962,  3483,  4433,  6436, 12625,
43   4096,  2953,  3135,  3483,  4096,  5213,  7568, 14846,
44   5213,  3759,  3990,  4433,  5213,  6635,  9633, 18895,
45   7568,  5457,  5793,  6436,  7568,  9633, 13985, 27432,
46  14846, 10703, 11363, 12625, 14846, 18895, 27432, 53809,
47 };
48