Mercurial > mplayer.hg
annotate mp3lib/tabinit.c @ 15533:ddf15d233d58
Do not switch to audio tracks whose codec private data differs from the main audio track's as this will most likely result in messed up audio output. Patch by Michael Behrisch <list () behrisch ! de>
author | mosu |
---|---|
date | Sat, 21 May 2005 06:50:08 +0000 |
parents | 07e7a572bd84 |
children | 0783dd397f74 |
rev | line source |
---|---|
15167
07e7a572bd84
Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents:
12132
diff
changeset
|
1 /* |
07e7a572bd84
Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents:
12132
diff
changeset
|
2 * Modified for use with MPlayer, for details see the CVS changelog at |
07e7a572bd84
Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents:
12132
diff
changeset
|
3 * http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/ |
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 |
12132 | 7 real mp3lib_decwin[(512+32)]; |
8 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
|
9 real *mp3lib_pnts[]={ cos64,cos32,cos16,cos8,cos4 }; |
1 | 10 |
1245
03b7e2955a20
Added newest MMX-optimized decore which speedups decoding at least on 13% for any cpu.
nick
parents:
1045
diff
changeset
|
11 static long intwinbase[] = { |
1 | 12 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, |
13 -2, -3, -3, -4, -4, -5, -5, -6, -7, -7, | |
14 -8, -9, -10, -11, -13, -14, -16, -17, -19, -21, | |
15 -24, -26, -29, -31, -35, -38, -41, -45, -49, -53, | |
16 -58, -63, -68, -73, -79, -85, -91, -97, -104, -111, | |
17 -117, -125, -132, -139, -147, -154, -161, -169, -176, -183, | |
18 -190, -196, -202, -208, -213, -218, -222, -225, -227, -228, | |
19 -228, -227, -224, -221, -215, -208, -200, -189, -177, -163, | |
20 -146, -127, -106, -83, -57, -29, 2, 36, 72, 111, | |
21 153, 197, 244, 294, 347, 401, 459, 519, 581, 645, | |
22 711, 779, 848, 919, 991, 1064, 1137, 1210, 1283, 1356, | |
23 1428, 1498, 1567, 1634, 1698, 1759, 1817, 1870, 1919, 1962, | |
24 2001, 2032, 2057, 2075, 2085, 2087, 2080, 2063, 2037, 2000, | |
25 1952, 1893, 1822, 1739, 1644, 1535, 1414, 1280, 1131, 970, | |
26 794, 605, 402, 185, -45, -288, -545, -814, -1095, -1388, | |
27 -1692, -2006, -2330, -2663, -3004, -3351, -3705, -4063, -4425, -4788, | |
28 -5153, -5517, -5879, -6237, -6589, -6935, -7271, -7597, -7910, -8209, | |
29 -8491, -8755, -8998, -9219, -9416, -9585, -9727, -9838, -9916, -9959, | |
30 -9966, -9935, -9863, -9750, -9592, -9389, -9139, -8840, -8492, -8092, | |
31 -7640, -7134, -6574, -5959, -5288, -4561, -3776, -2935, -2037, -1082, | |
32 -70, 998, 2122, 3300, 4533, 5818, 7154, 8540, 9975, 11455, | |
33 12980, 14548, 16155, 17799, 19478, 21189, 22929, 24694, 26482, 28289, | |
34 30112, 31947, 33791, 35640, 37489, 39336, 41176, 43006, 44821, 46617, | |
35 48390, 50137, 51853, 53534, 55178, 56778, 58333, 59838, 61289, 62684, | |
36 64019, 65290, 66494, 67629, 68692, 69679, 70590, 71420, 72169, 72835, | |
37 73415, 73908, 74313, 74630, 74856, 74992, 75038 }; | |
38 | |
12131
d155623271e3
fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents:
8560
diff
changeset
|
39 static void make_decode_tables(long scaleval) |
1 | 40 { |
41 int i,j,k,kr,divv; | |
42 real *table,*costab; | |
43 | |
44 | |
45 for(i=0;i<5;i++) | |
46 { | |
47 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
|
48 costab = mp3lib_pnts[i]; |
1 | 49 for(k=0;k<kr;k++) costab[k] = 1.0 / (2.0 * cos(M_PI * ((double) k * 2.0 + 1.0) / (double) divv)); |
50 } | |
51 | |
8560
1320f1b3229d
fixing that f*cking linker 'bug' e.g. naming config with libmp3lame
alex
parents:
1245
diff
changeset
|
52 table = mp3lib_decwin; |
1 | 53 scaleval = -scaleval; |
54 for(i=0,j=0;i<256;i++,j++,table+=32) | |
55 { | |
8560
1320f1b3229d
fixing that f*cking linker 'bug' e.g. naming config with libmp3lame
alex
parents:
1245
diff
changeset
|
56 if(table < mp3lib_decwin+512+16) |
1 | 57 table[16] = table[0] = (double) intwinbase[j] / 65536.0 * (double) scaleval; |
58 if(i % 32 == 31) | |
59 table -= 1023; | |
60 if(i % 64 == 63) | |
61 scaleval = - scaleval; | |
62 } | |
63 | |
64 for( /* i=256 */ ;i<512;i++,j--,table+=32) | |
65 { | |
8560
1320f1b3229d
fixing that f*cking linker 'bug' e.g. naming config with libmp3lame
alex
parents:
1245
diff
changeset
|
66 if(table < mp3lib_decwin+512+16) |
1 | 67 table[16] = table[0] = (double) intwinbase[j] / 65536.0 * (double) scaleval; |
68 if(i % 32 == 31) | |
69 table -= 1023; | |
70 if(i % 64 == 63) | |
71 scaleval = - scaleval; | |
72 } | |
73 } | |
74 | |
75 |