Statistics
| Branch: | Revision:

ffmpeg / libavcodec / mpegaudiotab.h @ 71160c55

History | View | Annotate | Download (2.54 KB)

1 de6d9b64 Fabrice Bellard
/*
2
 * mpeg audio layer 2 tables. Most of them come from the mpeg audio
3
 * specification.
4 115329f1 Diego Biurrun
 *
5 ff4ec49e Fabrice Bellard
 * Copyright (c) 2000, 2001 Fabrice Bellard.
6 de6d9b64 Fabrice Bellard
 *
7
 * The licence of this code is contained in file LICENCE found in the
8 115329f1 Diego Biurrun
 * same archive
9 de6d9b64 Fabrice Bellard
 */
10
11 983e3246 Michael Niedermayer
/**
12
 * @file mpegaudiotab.h
13 115329f1 Diego Biurrun
 * mpeg audio layer 2 tables.
14 983e3246 Michael Niedermayer
 * Most of them come from the mpeg audio specification.
15
 */
16 115329f1 Diego Biurrun
17 de6d9b64 Fabrice Bellard
#define SQRT2 1.41421356237309514547
18
19
static const int costab32[30] = {
20
    FIX(0.54119610014619701222),
21
    FIX(1.3065629648763763537),
22 115329f1 Diego Biurrun
23 de6d9b64 Fabrice Bellard
    FIX(0.50979557910415917998),
24
    FIX(2.5629154477415054814),
25
    FIX(0.89997622313641556513),
26
    FIX(0.60134488693504528634),
27 115329f1 Diego Biurrun
28 de6d9b64 Fabrice Bellard
    FIX(0.5024192861881556782),
29
    FIX(5.1011486186891552563),
30
    FIX(0.78815462345125020249),
31
    FIX(0.64682178335999007679),
32
    FIX(0.56694403481635768927),
33
    FIX(1.0606776859903470633),
34
    FIX(1.7224470982383341955),
35
    FIX(0.52249861493968885462),
36 115329f1 Diego Biurrun
37 de6d9b64 Fabrice Bellard
    FIX(10.19000812354803287),
38
    FIX(0.674808341455005678),
39
    FIX(1.1694399334328846596),
40
    FIX(0.53104259108978413284),
41
    FIX(2.0577810099534108446),
42
    FIX(0.58293496820613388554),
43
    FIX(0.83934964541552681272),
44
    FIX(0.50547095989754364798),
45
    FIX(3.4076084184687189804),
46
    FIX(0.62250412303566482475),
47
    FIX(0.97256823786196078263),
48
    FIX(0.51544730992262455249),
49
    FIX(1.4841646163141661852),
50
    FIX(0.5531038960344445421),
51
    FIX(0.74453627100229857749),
52
    FIX(0.5006029982351962726),
53
};
54
55
static const int bitinv32[32] = {
56
    0,  16,  8, 24,  4,  20,  12,  28,
57
    2,  18, 10, 26,  6,  22,  14,  30,
58
    1,  17,  9, 25,  5,  21,  13,  29,
59
    3,  19, 11, 27,  7,  23,  15,  31
60
};
61
62
63 0c1a9eda Zdenek Kabelac
static int16_t filter_bank[512];
64 de6d9b64 Fabrice Bellard
65
static int scale_factor_table[64];
66
#ifdef USE_FLOATS
67
static float scale_factor_inv_table[64];
68
#else
69 0c1a9eda Zdenek Kabelac
static int8_t scale_factor_shift[64];
70 de6d9b64 Fabrice Bellard
static unsigned short scale_factor_mult[64];
71
#endif
72
static unsigned char scale_diff_table[128];
73
74 2456e28d Fabrice Bellard
/* total number of bits per allocation group */
75
static unsigned short total_quant_bits[17];
76 de6d9b64 Fabrice Bellard
77
/* signal to noise ratio of each quantification step (could be
78 115329f1 Diego Biurrun
   computed from quant_steps[]). The values are dB multiplied by 10
79 de6d9b64 Fabrice Bellard
*/
80 115329f1 Diego Biurrun
static const unsigned short quant_snr[17] = {
81 de6d9b64 Fabrice Bellard
     70, 110, 160, 208,
82
    253, 316, 378, 439,
83 115329f1 Diego Biurrun
    499, 559, 620, 680,
84
    740, 800, 861, 920,
85 de6d9b64 Fabrice Bellard
    980
86
};
87
88
/* fixed psycho acoustic model. Values of SNR taken from the 'toolame'
89
   project */
90 2456e28d Fabrice Bellard
static const float fixed_smr[SBLIMIT] =  {
91 de6d9b64 Fabrice Bellard
    30, 17, 16, 10, 3, 12, 8, 2.5,
92
    5, 5, 6, 6, 5, 6, 10, 6,
93
    -4, -10, -21, -30, -42, -55, -68, -75,
94
    -75, -75, -75, -75, -91, -107, -110, -108
95
};
96
97 2456e28d Fabrice Bellard
static const unsigned char nb_scale_factors[4] = { 3, 2, 1, 2 };