annotate mp3lib/tabinit.c @ 28511:db19e31a2c7c

Add a calc_src_dst_rects that calculates from window size, panscan etc. which part of the video source must be scaled onto which part of the window. Direct3D and (future) VDPAU need this, for XvMC it makes it easier to add cropping support and Xv is changed to keep the diff to XvMC small.
author reimar
date Thu, 12 Feb 2009 17:40:53 +0000
parents d986b47f1451
children 347d152a5cfa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15167
07e7a572bd84 Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents: 12132
diff changeset
1 /*
18783
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15167
diff changeset
2 * Modified for use with MPlayer, for details see the changelog at
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15167
diff changeset
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
12132
1975bcc1d015 removing more globals
alex
parents: 12131
diff changeset
7 real mp3lib_decwin[(512+32)];
1975bcc1d015 removing more globals
alex
parents: 12131
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10
23434
d986b47f1451 Use int and uint32_t instead of long and unsigned long, when appropriate.
zuxy
parents: 18783
diff changeset
11 static int intwinbase[] = {
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 0, -1, -1, -1, -1, -1, -1, -2, -2, -2,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 -2, -3, -3, -4, -4, -5, -5, -6, -7, -7,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14 -8, -9, -10, -11, -13, -14, -16, -17, -19, -21,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 -24, -26, -29, -31, -35, -38, -41, -45, -49, -53,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 -58, -63, -68, -73, -79, -85, -91, -97, -104, -111,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 -117, -125, -132, -139, -147, -154, -161, -169, -176, -183,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 -190, -196, -202, -208, -213, -218, -222, -225, -227, -228,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 -228, -227, -224, -221, -215, -208, -200, -189, -177, -163,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 -146, -127, -106, -83, -57, -29, 2, 36, 72, 111,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 153, 197, 244, 294, 347, 401, 459, 519, 581, 645,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22 711, 779, 848, 919, 991, 1064, 1137, 1210, 1283, 1356,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 1428, 1498, 1567, 1634, 1698, 1759, 1817, 1870, 1919, 1962,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 2001, 2032, 2057, 2075, 2085, 2087, 2080, 2063, 2037, 2000,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 1952, 1893, 1822, 1739, 1644, 1535, 1414, 1280, 1131, 970,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26 794, 605, 402, 185, -45, -288, -545, -814, -1095, -1388,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 -1692, -2006, -2330, -2663, -3004, -3351, -3705, -4063, -4425, -4788,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 -5153, -5517, -5879, -6237, -6589, -6935, -7271, -7597, -7910, -8209,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 -8491, -8755, -8998, -9219, -9416, -9585, -9727, -9838, -9916, -9959,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 -9966, -9935, -9863, -9750, -9592, -9389, -9139, -8840, -8492, -8092,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 -7640, -7134, -6574, -5959, -5288, -4561, -3776, -2935, -2037, -1082,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 -70, 998, 2122, 3300, 4533, 5818, 7154, 8540, 9975, 11455,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33 12980, 14548, 16155, 17799, 19478, 21189, 22929, 24694, 26482, 28289,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 30112, 31947, 33791, 35640, 37489, 39336, 41176, 43006, 44821, 46617,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 48390, 50137, 51853, 53534, 55178, 56778, 58333, 59838, 61289, 62684,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 64019, 65290, 66494, 67629, 68692, 69679, 70590, 71420, 72169, 72835,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 73415, 73908, 74313, 74630, 74856, 74992, 75038 };
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41 int i,j,k,kr,divv;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 real *table,*costab;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 for(i=0;i<5;i++)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49 for(k=0;k<kr;k++) costab[k] = 1.0 / (2.0 * cos(M_PI * ((double) k * 2.0 + 1.0) / (double) divv));
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 scaleval = -scaleval;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 for(i=0,j=0;i<256;i++,j++,table+=32)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 table[16] = table[0] = (double) intwinbase[j] / 65536.0 * (double) scaleval;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 if(i % 32 == 31)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59 table -= 1023;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60 if(i % 64 == 63)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 scaleval = - scaleval;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 for( /* i=256 */ ;i<512;i++,j--,table+=32)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 table[16] = table[0] = (double) intwinbase[j] / 65536.0 * (double) scaleval;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 if(i % 32 == 31)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69 table -= 1023;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70 if(i % 64 == 63)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 scaleval = - scaleval;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
73 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75