Mercurial > mplayer.hg
annotate mp3lib/tabinit.c @ 32282:606e4157cd4c
Split alloc and init of context so that parameters can be set in the context
instead of requireing being passed through function parameters. This also
makes sws work with AVOptions.
author | michael |
---|---|
date | Sun, 26 Sep 2010 19:33:57 +0000 |
parents | 32725ca88fed |
children |
rev | line source |
---|---|
15167
07e7a572bd84
Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents:
12132
diff
changeset
|
1 /* |
18783 | 2 * Modified for use with MPlayer, for details see the changelog at |
3 * http://svn.mplayerhq.hu/mplayer/trunk/ | |
15167
07e7a572bd84
Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents:
12132
diff
changeset
|
4 * $Id$ |
07e7a572bd84
Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents:
12132
diff
changeset
|
5 */ |
07e7a572bd84
Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents:
12132
diff
changeset
|
6 |
30167
347d152a5cfa
Refactor real --> float #define to a typedef in a common header.
diego
parents:
23434
diff
changeset
|
7 #include "mpg123.h" |
347d152a5cfa
Refactor real --> float #define to a typedef in a common header.
diego
parents:
23434
diff
changeset
|
8 |
12132 | 9 real mp3lib_decwin[(512+32)]; |
10 static real cos64[32], cos32[16], cos16[8], cos8[4], cos4[2]; | |
12131
d155623271e3
fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents:
8560
diff
changeset
|
11 real *mp3lib_pnts[]={ cos64,cos32,cos16,cos8,cos4 }; |
1 | 12 |
23434
d986b47f1451
Use int and uint32_t instead of long and unsigned long, when appropriate.
zuxy
parents:
18783
diff
changeset
|
13 static int intwinbase[] = { |
1 | 14 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, |
15 -2, -3, -3, -4, -4, -5, -5, -6, -7, -7, | |
16 -8, -9, -10, -11, -13, -14, -16, -17, -19, -21, | |
17 -24, -26, -29, -31, -35, -38, -41, -45, -49, -53, | |
18 -58, -63, -68, -73, -79, -85, -91, -97, -104, -111, | |
19 -117, -125, -132, -139, -147, -154, -161, -169, -176, -183, | |
20 -190, -196, -202, -208, -213, -218, -222, -225, -227, -228, | |
21 -228, -227, -224, -221, -215, -208, -200, -189, -177, -163, | |
22 -146, -127, -106, -83, -57, -29, 2, 36, 72, 111, | |
23 153, 197, 244, 294, 347, 401, 459, 519, 581, 645, | |
24 711, 779, 848, 919, 991, 1064, 1137, 1210, 1283, 1356, | |
25 1428, 1498, 1567, 1634, 1698, 1759, 1817, 1870, 1919, 1962, | |
26 2001, 2032, 2057, 2075, 2085, 2087, 2080, 2063, 2037, 2000, | |
27 1952, 1893, 1822, 1739, 1644, 1535, 1414, 1280, 1131, 970, | |
28 794, 605, 402, 185, -45, -288, -545, -814, -1095, -1388, | |
29 -1692, -2006, -2330, -2663, -3004, -3351, -3705, -4063, -4425, -4788, | |
30 -5153, -5517, -5879, -6237, -6589, -6935, -7271, -7597, -7910, -8209, | |
31 -8491, -8755, -8998, -9219, -9416, -9585, -9727, -9838, -9916, -9959, | |
32 -9966, -9935, -9863, -9750, -9592, -9389, -9139, -8840, -8492, -8092, | |
33 -7640, -7134, -6574, -5959, -5288, -4561, -3776, -2935, -2037, -1082, | |
34 -70, 998, 2122, 3300, 4533, 5818, 7154, 8540, 9975, 11455, | |
35 12980, 14548, 16155, 17799, 19478, 21189, 22929, 24694, 26482, 28289, | |
36 30112, 31947, 33791, 35640, 37489, 39336, 41176, 43006, 44821, 46617, | |
37 48390, 50137, 51853, 53534, 55178, 56778, 58333, 59838, 61289, 62684, | |
38 64019, 65290, 66494, 67629, 68692, 69679, 70590, 71420, 72169, 72835, | |
39 73415, 73908, 74313, 74630, 74856, 74992, 75038 }; | |
40 | |
12131
d155623271e3
fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents:
8560
diff
changeset
|
41 static void make_decode_tables(long scaleval) |
1 | 42 { |
43 int i,j,k,kr,divv; | |
44 real *table,*costab; | |
45 | |
46 | |
47 for(i=0;i<5;i++) | |
48 { | |
49 kr=0x10>>i; divv=0x40>>i; | |
12131
d155623271e3
fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents:
8560
diff
changeset
|
50 costab = mp3lib_pnts[i]; |
1 | 51 for(k=0;k<kr;k++) costab[k] = 1.0 / (2.0 * cos(M_PI * ((double) k * 2.0 + 1.0) / (double) divv)); |
52 } | |
53 | |
8560
1320f1b3229d
fixing that f*cking linker 'bug' e.g. naming config with libmp3lame
alex
parents:
1245
diff
changeset
|
54 table = mp3lib_decwin; |
1 | 55 scaleval = -scaleval; |
56 for(i=0,j=0;i<256;i++,j++,table+=32) | |
57 { | |
8560
1320f1b3229d
fixing that f*cking linker 'bug' e.g. naming config with libmp3lame
alex
parents:
1245
diff
changeset
|
58 if(table < mp3lib_decwin+512+16) |
1 | 59 table[16] = table[0] = (double) intwinbase[j] / 65536.0 * (double) scaleval; |
60 if(i % 32 == 31) | |
61 table -= 1023; | |
62 if(i % 64 == 63) | |
63 scaleval = - scaleval; | |
64 } | |
65 | |
66 for( /* i=256 */ ;i<512;i++,j--,table+=32) | |
67 { | |
8560
1320f1b3229d
fixing that f*cking linker 'bug' e.g. naming config with libmp3lame
alex
parents:
1245
diff
changeset
|
68 if(table < mp3lib_decwin+512+16) |
1 | 69 table[16] = table[0] = (double) intwinbase[j] / 65536.0 * (double) scaleval; |
70 if(i % 32 == 31) | |
71 table -= 1023; | |
72 if(i % 64 == 63) | |
73 scaleval = - scaleval; | |
74 } | |
75 } |