annotate mp3lib/dct64.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
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: 12131
diff changeset
1 /*
18783
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 16858
diff changeset
2 * Modified for use with MPlayer, for details see the changelog at
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 16858
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: 12131
diff changeset
4 * $Id$
07e7a572bd84 Mark modified imported files as such to comply with (L)GPL ¡ø2a.
diego
parents: 12131
diff changeset
5 */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8 * Discrete Cosine Tansform (DCT) for subband synthesis
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
9 * optimized for machines with no auto-increment.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10 * The performance is highly compiler dependend. Maybe
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
11 * the dct64.c version for 'normal' processor may be faster
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 * even for Intel processors.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 static void dct64_1(real *out0,real *out1,real *b1,real *b2,real *samples)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 {
12131
d155623271e3 fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents: 1
diff changeset
19 register real *costab = mp3lib_pnts[0];
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 b1[0x00] = samples[0x00] + samples[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22 b1[0x1F] = (samples[0x00] - samples[0x1F]) * costab[0x0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 b1[0x01] = samples[0x01] + samples[0x1E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 b1[0x1E] = (samples[0x01] - samples[0x1E]) * costab[0x1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 b1[0x02] = samples[0x02] + samples[0x1D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 b1[0x1D] = (samples[0x02] - samples[0x1D]) * costab[0x2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 b1[0x03] = samples[0x03] + samples[0x1C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 b1[0x1C] = (samples[0x03] - samples[0x1C]) * costab[0x3];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33 b1[0x04] = samples[0x04] + samples[0x1B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 b1[0x1B] = (samples[0x04] - samples[0x1B]) * costab[0x4];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 b1[0x05] = samples[0x05] + samples[0x1A];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 b1[0x1A] = (samples[0x05] - samples[0x1A]) * costab[0x5];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 b1[0x06] = samples[0x06] + samples[0x19];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 b1[0x19] = (samples[0x06] - samples[0x19]) * costab[0x6];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 b1[0x07] = samples[0x07] + samples[0x18];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 b1[0x18] = (samples[0x07] - samples[0x18]) * costab[0x7];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 b1[0x08] = samples[0x08] + samples[0x17];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 b1[0x17] = (samples[0x08] - samples[0x17]) * costab[0x8];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48 b1[0x09] = samples[0x09] + samples[0x16];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49 b1[0x16] = (samples[0x09] - samples[0x16]) * costab[0x9];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 b1[0x0A] = samples[0x0A] + samples[0x15];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52 b1[0x15] = (samples[0x0A] - samples[0x15]) * costab[0xA];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 b1[0x0B] = samples[0x0B] + samples[0x14];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55 b1[0x14] = (samples[0x0B] - samples[0x14]) * costab[0xB];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 b1[0x0C] = samples[0x0C] + samples[0x13];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 b1[0x13] = (samples[0x0C] - samples[0x13]) * costab[0xC];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60 b1[0x0D] = samples[0x0D] + samples[0x12];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 b1[0x12] = (samples[0x0D] - samples[0x12]) * costab[0xD];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63 b1[0x0E] = samples[0x0E] + samples[0x11];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 b1[0x11] = (samples[0x0E] - samples[0x11]) * costab[0xE];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66 b1[0x0F] = samples[0x0F] + samples[0x10];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 b1[0x10] = (samples[0x0F] - samples[0x10]) * costab[0xF];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 {
12131
d155623271e3 fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents: 1
diff changeset
72 register real *costab = mp3lib_pnts[1];
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
73
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74 b2[0x00] = b1[0x00] + b1[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75 b2[0x0F] = (b1[0x00] - b1[0x0F]) * costab[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 b2[0x01] = b1[0x01] + b1[0x0E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77 b2[0x0E] = (b1[0x01] - b1[0x0E]) * costab[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78 b2[0x02] = b1[0x02] + b1[0x0D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 b2[0x0D] = (b1[0x02] - b1[0x0D]) * costab[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80 b2[0x03] = b1[0x03] + b1[0x0C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81 b2[0x0C] = (b1[0x03] - b1[0x0C]) * costab[3];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82 b2[0x04] = b1[0x04] + b1[0x0B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 b2[0x0B] = (b1[0x04] - b1[0x0B]) * costab[4];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84 b2[0x05] = b1[0x05] + b1[0x0A];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85 b2[0x0A] = (b1[0x05] - b1[0x0A]) * costab[5];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 b2[0x06] = b1[0x06] + b1[0x09];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87 b2[0x09] = (b1[0x06] - b1[0x09]) * costab[6];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
88 b2[0x07] = b1[0x07] + b1[0x08];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89 b2[0x08] = (b1[0x07] - b1[0x08]) * costab[7];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
90
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91 b2[0x10] = b1[0x10] + b1[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
92 b2[0x1F] = (b1[0x1F] - b1[0x10]) * costab[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93 b2[0x11] = b1[0x11] + b1[0x1E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94 b2[0x1E] = (b1[0x1E] - b1[0x11]) * costab[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
95 b2[0x12] = b1[0x12] + b1[0x1D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 b2[0x1D] = (b1[0x1D] - b1[0x12]) * costab[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97 b2[0x13] = b1[0x13] + b1[0x1C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98 b2[0x1C] = (b1[0x1C] - b1[0x13]) * costab[3];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99 b2[0x14] = b1[0x14] + b1[0x1B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 b2[0x1B] = (b1[0x1B] - b1[0x14]) * costab[4];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101 b2[0x15] = b1[0x15] + b1[0x1A];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 b2[0x1A] = (b1[0x1A] - b1[0x15]) * costab[5];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103 b2[0x16] = b1[0x16] + b1[0x19];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
104 b2[0x19] = (b1[0x19] - b1[0x16]) * costab[6];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 b2[0x17] = b1[0x17] + b1[0x18];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106 b2[0x18] = (b1[0x18] - b1[0x17]) * costab[7];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
108
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109 {
12131
d155623271e3 fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents: 1
diff changeset
110 register real *costab = mp3lib_pnts[2];
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 b1[0x00] = b2[0x00] + b2[0x07];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
113 b1[0x07] = (b2[0x00] - b2[0x07]) * costab[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
114 b1[0x01] = b2[0x01] + b2[0x06];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
115 b1[0x06] = (b2[0x01] - b2[0x06]) * costab[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
116 b1[0x02] = b2[0x02] + b2[0x05];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
117 b1[0x05] = (b2[0x02] - b2[0x05]) * costab[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
118 b1[0x03] = b2[0x03] + b2[0x04];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
119 b1[0x04] = (b2[0x03] - b2[0x04]) * costab[3];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
121 b1[0x08] = b2[0x08] + b2[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
122 b1[0x0F] = (b2[0x0F] - b2[0x08]) * costab[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
123 b1[0x09] = b2[0x09] + b2[0x0E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
124 b1[0x0E] = (b2[0x0E] - b2[0x09]) * costab[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
125 b1[0x0A] = b2[0x0A] + b2[0x0D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
126 b1[0x0D] = (b2[0x0D] - b2[0x0A]) * costab[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
127 b1[0x0B] = b2[0x0B] + b2[0x0C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
128 b1[0x0C] = (b2[0x0C] - b2[0x0B]) * costab[3];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
129
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
130 b1[0x10] = b2[0x10] + b2[0x17];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
131 b1[0x17] = (b2[0x10] - b2[0x17]) * costab[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
132 b1[0x11] = b2[0x11] + b2[0x16];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
133 b1[0x16] = (b2[0x11] - b2[0x16]) * costab[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
134 b1[0x12] = b2[0x12] + b2[0x15];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
135 b1[0x15] = (b2[0x12] - b2[0x15]) * costab[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
136 b1[0x13] = b2[0x13] + b2[0x14];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
137 b1[0x14] = (b2[0x13] - b2[0x14]) * costab[3];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 b1[0x18] = b2[0x18] + b2[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
140 b1[0x1F] = (b2[0x1F] - b2[0x18]) * costab[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
141 b1[0x19] = b2[0x19] + b2[0x1E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
142 b1[0x1E] = (b2[0x1E] - b2[0x19]) * costab[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143 b1[0x1A] = b2[0x1A] + b2[0x1D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
144 b1[0x1D] = (b2[0x1D] - b2[0x1A]) * costab[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145 b1[0x1B] = b2[0x1B] + b2[0x1C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146 b1[0x1C] = (b2[0x1C] - b2[0x1B]) * costab[3];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
147 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
148
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
149 {
12131
d155623271e3 fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents: 1
diff changeset
150 register real const cos0 = mp3lib_pnts[3][0];
d155623271e3 fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents: 1
diff changeset
151 register real const cos1 = mp3lib_pnts[3][1];
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 b2[0x00] = b1[0x00] + b1[0x03];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
154 b2[0x03] = (b1[0x00] - b1[0x03]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
155 b2[0x01] = b1[0x01] + b1[0x02];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
156 b2[0x02] = (b1[0x01] - b1[0x02]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
157
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
158 b2[0x04] = b1[0x04] + b1[0x07];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
159 b2[0x07] = (b1[0x07] - b1[0x04]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
160 b2[0x05] = b1[0x05] + b1[0x06];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
161 b2[0x06] = (b1[0x06] - b1[0x05]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
162
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
163 b2[0x08] = b1[0x08] + b1[0x0B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
164 b2[0x0B] = (b1[0x08] - b1[0x0B]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
165 b2[0x09] = b1[0x09] + b1[0x0A];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
166 b2[0x0A] = (b1[0x09] - b1[0x0A]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
167
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
168 b2[0x0C] = b1[0x0C] + b1[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
169 b2[0x0F] = (b1[0x0F] - b1[0x0C]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
170 b2[0x0D] = b1[0x0D] + b1[0x0E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
171 b2[0x0E] = (b1[0x0E] - b1[0x0D]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
172
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
173 b2[0x10] = b1[0x10] + b1[0x13];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
174 b2[0x13] = (b1[0x10] - b1[0x13]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
175 b2[0x11] = b1[0x11] + b1[0x12];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
176 b2[0x12] = (b1[0x11] - b1[0x12]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
177
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
178 b2[0x14] = b1[0x14] + b1[0x17];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
179 b2[0x17] = (b1[0x17] - b1[0x14]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
180 b2[0x15] = b1[0x15] + b1[0x16];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
181 b2[0x16] = (b1[0x16] - b1[0x15]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
182
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
183 b2[0x18] = b1[0x18] + b1[0x1B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
184 b2[0x1B] = (b1[0x18] - b1[0x1B]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
185 b2[0x19] = b1[0x19] + b1[0x1A];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
186 b2[0x1A] = (b1[0x19] - b1[0x1A]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
187
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
188 b2[0x1C] = b1[0x1C] + b1[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
189 b2[0x1F] = (b1[0x1F] - b1[0x1C]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
190 b2[0x1D] = b1[0x1D] + b1[0x1E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
191 b2[0x1E] = (b1[0x1E] - b1[0x1D]) * cos1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
192 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
193
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
194 {
12131
d155623271e3 fix symbol clashes when linking with libmp3lame including mp3 decoder, man, mp3lib is so much bloated
alex
parents: 1
diff changeset
195 register real const cos0 = mp3lib_pnts[4][0];
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
196
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
197 b1[0x00] = b2[0x00] + b2[0x01];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
198 b1[0x01] = (b2[0x00] - b2[0x01]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
199 b1[0x02] = b2[0x02] + b2[0x03];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
200 b1[0x03] = (b2[0x03] - b2[0x02]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
201 b1[0x02] += b1[0x03];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
202
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
203 b1[0x04] = b2[0x04] + b2[0x05];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
204 b1[0x05] = (b2[0x04] - b2[0x05]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
205 b1[0x06] = b2[0x06] + b2[0x07];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
206 b1[0x07] = (b2[0x07] - b2[0x06]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
207 b1[0x06] += b1[0x07];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
208 b1[0x04] += b1[0x06];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
209 b1[0x06] += b1[0x05];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
210 b1[0x05] += b1[0x07];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
211
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
212 b1[0x08] = b2[0x08] + b2[0x09];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
213 b1[0x09] = (b2[0x08] - b2[0x09]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
214 b1[0x0A] = b2[0x0A] + b2[0x0B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
215 b1[0x0B] = (b2[0x0B] - b2[0x0A]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
216 b1[0x0A] += b1[0x0B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
217
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
218 b1[0x0C] = b2[0x0C] + b2[0x0D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
219 b1[0x0D] = (b2[0x0C] - b2[0x0D]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
220 b1[0x0E] = b2[0x0E] + b2[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
221 b1[0x0F] = (b2[0x0F] - b2[0x0E]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
222 b1[0x0E] += b1[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
223 b1[0x0C] += b1[0x0E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
224 b1[0x0E] += b1[0x0D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
225 b1[0x0D] += b1[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
226
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
227 b1[0x10] = b2[0x10] + b2[0x11];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
228 b1[0x11] = (b2[0x10] - b2[0x11]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
229 b1[0x12] = b2[0x12] + b2[0x13];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
230 b1[0x13] = (b2[0x13] - b2[0x12]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
231 b1[0x12] += b1[0x13];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
232
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
233 b1[0x14] = b2[0x14] + b2[0x15];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
234 b1[0x15] = (b2[0x14] - b2[0x15]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
235 b1[0x16] = b2[0x16] + b2[0x17];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
236 b1[0x17] = (b2[0x17] - b2[0x16]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
237 b1[0x16] += b1[0x17];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
238 b1[0x14] += b1[0x16];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
239 b1[0x16] += b1[0x15];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
240 b1[0x15] += b1[0x17];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
241
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
242 b1[0x18] = b2[0x18] + b2[0x19];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
243 b1[0x19] = (b2[0x18] - b2[0x19]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
244 b1[0x1A] = b2[0x1A] + b2[0x1B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
245 b1[0x1B] = (b2[0x1B] - b2[0x1A]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
246 b1[0x1A] += b1[0x1B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
247
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
248 b1[0x1C] = b2[0x1C] + b2[0x1D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
249 b1[0x1D] = (b2[0x1C] - b2[0x1D]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
250 b1[0x1E] = b2[0x1E] + b2[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
251 b1[0x1F] = (b2[0x1F] - b2[0x1E]) * cos0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
252 b1[0x1E] += b1[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
253 b1[0x1C] += b1[0x1E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
254 b1[0x1E] += b1[0x1D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
255 b1[0x1D] += b1[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
256 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
257
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
258 out0[0x10*16] = b1[0x00];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
259 out0[0x10*12] = b1[0x04];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
260 out0[0x10* 8] = b1[0x02];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
261 out0[0x10* 4] = b1[0x06];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
262 out0[0x10* 0] = b1[0x01];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
263 out1[0x10* 0] = b1[0x01];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
264 out1[0x10* 4] = b1[0x05];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
265 out1[0x10* 8] = b1[0x03];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
266 out1[0x10*12] = b1[0x07];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
267
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
268 b1[0x08] += b1[0x0C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
269 out0[0x10*14] = b1[0x08];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
270 b1[0x0C] += b1[0x0a];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
271 out0[0x10*10] = b1[0x0C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
272 b1[0x0A] += b1[0x0E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
273 out0[0x10* 6] = b1[0x0A];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
274 b1[0x0E] += b1[0x09];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
275 out0[0x10* 2] = b1[0x0E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
276 b1[0x09] += b1[0x0D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
277 out1[0x10* 2] = b1[0x09];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
278 b1[0x0D] += b1[0x0B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
279 out1[0x10* 6] = b1[0x0D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
280 b1[0x0B] += b1[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
281 out1[0x10*10] = b1[0x0B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
282 out1[0x10*14] = b1[0x0F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
283
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
284 b1[0x18] += b1[0x1C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
285 out0[0x10*15] = b1[0x10] + b1[0x18];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
286 out0[0x10*13] = b1[0x18] + b1[0x14];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
287 b1[0x1C] += b1[0x1a];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
288 out0[0x10*11] = b1[0x14] + b1[0x1C];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
289 out0[0x10* 9] = b1[0x1C] + b1[0x12];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
290 b1[0x1A] += b1[0x1E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
291 out0[0x10* 7] = b1[0x12] + b1[0x1A];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
292 out0[0x10* 5] = b1[0x1A] + b1[0x16];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
293 b1[0x1E] += b1[0x19];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
294 out0[0x10* 3] = b1[0x16] + b1[0x1E];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
295 out0[0x10* 1] = b1[0x1E] + b1[0x11];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
296 b1[0x19] += b1[0x1D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
297 out1[0x10* 1] = b1[0x11] + b1[0x19];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
298 out1[0x10* 3] = b1[0x19] + b1[0x15];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
299 b1[0x1D] += b1[0x1B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
300 out1[0x10* 5] = b1[0x15] + b1[0x1D];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
301 out1[0x10* 7] = b1[0x1D] + b1[0x13];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
302 b1[0x1B] += b1[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
303 out1[0x10* 9] = b1[0x13] + b1[0x1B];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
304 out1[0x10*11] = b1[0x1B] + b1[0x17];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
305 out1[0x10*13] = b1[0x17] + b1[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
306 out1[0x10*15] = b1[0x1F];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
307 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
308
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
309 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
310 * the call via dct64 is a trick to force GCC to use
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
311 * (new) registers for the b1,b2 pointer to the bufs[xx] field
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
312 */
16852
43b45a561f63 do not export useless symbols! fixed compile bug with decode support in lame
rfelker
parents: 15167
diff changeset
313 static void dct64(real *a,real *b,real *c)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
314 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
315 real bufs[0x40];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
316 dct64_1(a,b,bufs,bufs+0x20,c);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
317 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
318
16858
daf4e680d116 10l broken asm crap needs an external name
rfelker
parents: 16852
diff changeset
319 void mp3lib_dct64(real *a,real *b,real *c)
daf4e680d116 10l broken asm crap needs an external name
rfelker
parents: 16852
diff changeset
320 {
daf4e680d116 10l broken asm crap needs an external name
rfelker
parents: 16852
diff changeset
321 real bufs[0x40];
daf4e680d116 10l broken asm crap needs an external name
rfelker
parents: 16852
diff changeset
322 dct64_1(a,b,bufs,bufs+0x20,c);
daf4e680d116 10l broken asm crap needs an external name
rfelker
parents: 16852
diff changeset
323 }