blob: bb2e5de4ea1bfa764f86235e714eb56b183b6151
1 | /* |
2 | * mpeg audio layer 2 tables. Most of them come from the mpeg audio |
3 | * specification. |
4 | * |
5 | * Copyright (c) 2000, 2001 Fabrice Bellard |
6 | * |
7 | * This file is part of FFmpeg. |
8 | * |
9 | * FFmpeg is free software; you can redistribute it and/or |
10 | * modify it under the terms of the GNU Lesser General Public |
11 | * License as published by the Free Software Foundation; either |
12 | * version 2.1 of the License, or (at your option) any later version. |
13 | * |
14 | * FFmpeg is distributed in the hope that it will be useful, |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
17 | * Lesser General Public License for more details. |
18 | * |
19 | * You should have received a copy of the GNU Lesser General Public |
20 | * License along with FFmpeg; if not, write to the Free Software |
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
22 | */ |
23 | |
24 | /** |
25 | * @file |
26 | * mpeg audio layer 2 tables. |
27 | * Most of them come from the mpeg audio specification. |
28 | */ |
29 | |
30 | #ifndef AVCODEC_MPEGAUDIOTAB_H |
31 | #define AVCODEC_MPEGAUDIOTAB_H |
32 | |
33 | #include <stdint.h> |
34 | #include "mpegaudio.h" |
35 | |
36 | static const int costab32[30] = { |
37 | FIX(0.54119610014619701222), |
38 | FIX(1.3065629648763763537), |
39 | |
40 | FIX(0.50979557910415917998), |
41 | FIX(2.5629154477415054814), |
42 | FIX(0.89997622313641556513), |
43 | FIX(0.60134488693504528634), |
44 | |
45 | FIX(0.5024192861881556782), |
46 | FIX(5.1011486186891552563), |
47 | FIX(0.78815462345125020249), |
48 | FIX(0.64682178335999007679), |
49 | FIX(0.56694403481635768927), |
50 | FIX(1.0606776859903470633), |
51 | FIX(1.7224470982383341955), |
52 | FIX(0.52249861493968885462), |
53 | |
54 | FIX(10.19000812354803287), |
55 | FIX(0.674808341455005678), |
56 | FIX(1.1694399334328846596), |
57 | FIX(0.53104259108978413284), |
58 | FIX(2.0577810099534108446), |
59 | FIX(0.58293496820613388554), |
60 | FIX(0.83934964541552681272), |
61 | FIX(0.50547095989754364798), |
62 | FIX(3.4076084184687189804), |
63 | FIX(0.62250412303566482475), |
64 | FIX(0.97256823786196078263), |
65 | FIX(0.51544730992262455249), |
66 | FIX(1.4841646163141661852), |
67 | FIX(0.5531038960344445421), |
68 | FIX(0.74453627100229857749), |
69 | FIX(0.5006029982351962726), |
70 | }; |
71 | |
72 | static const int bitinv32[32] = { |
73 | 0, 16, 8, 24, 4, 20, 12, 28, |
74 | 2, 18, 10, 26, 6, 22, 14, 30, |
75 | 1, 17, 9, 25, 5, 21, 13, 29, |
76 | 3, 19, 11, 27, 7, 23, 15, 31 |
77 | }; |
78 | |
79 | |
80 | /* signal to noise ratio of each quantification step (could be |
81 | computed from quant_steps[]). The values are dB multiplied by 10 |
82 | */ |
83 | static const unsigned short quant_snr[17] = { |
84 | 70, 110, 160, 208, |
85 | 253, 316, 378, 439, |
86 | 499, 559, 620, 680, |
87 | 740, 800, 861, 920, |
88 | 980 |
89 | }; |
90 | |
91 | /* fixed psycho acoustic model. Values of SNR taken from the 'toolame' |
92 | project */ |
93 | static const float fixed_smr[SBLIMIT] = { |
94 | 30, 17, 16, 10, 3, 12, 8, 2.5, |
95 | 5, 5, 6, 6, 5, 6, 10, 6, |
96 | -4, -10, -21, -30, -42, -55, -68, -75, |
97 | -75, -75, -75, -75, -91, -107, -110, -108 |
98 | }; |
99 | |
100 | static const unsigned char nb_scale_factors[4] = { 3, 2, 1, 2 }; |
101 | |
102 | #endif /* AVCODEC_MPEGAUDIOTAB_H */ |
103 |