Rev 1905 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1905 | Rev 3960 | ||
---|---|---|---|
Line 28... | Line 28... | ||
28 | #define NTOM_MAX 1 |
28 | #define NTOM_MAX 1 |
29 | #else |
29 | #else |
30 | #define NTOM_MAX 8 /* maximum allowed factor for upsampling */ |
30 | #define NTOM_MAX 8 /* maximum allowed factor for upsampling */ |
31 | #define NTOM_MAX_FREQ 96000 /* maximum frequency to upsample to / downsample from */ |
31 | #define NTOM_MAX_FREQ 96000 /* maximum frequency to upsample to / downsample from */ |
32 | #define NTOM_MUL (32768) |
32 | #define NTOM_MUL (32768) |
- | 33 | void ntom_set_ntom(mpg123_handle *fr, off_t num); |
|
33 | #endif |
34 | #endif |
Line 34... | Line 35... | ||
34 | 35 | ||
35 | /* Let's collect all possible synth functions here, for an overview. |
36 | /* Let's collect all possible synth functions here, for an overview. |
36 | If they are actually defined and used depends on preprocessor machinery. |
37 | If they are actually defined and used depends on preprocessor machinery. |
Line 37... | Line -... | ||
37 | See synth.c and optimize.h for that, also some special C and assembler files. */ |
- | |
38 | - | ||
39 | /* The call of left and right plain synth, wrapped. |
- | |
40 | This may be replaced by a direct stereo optimized synth. */ |
- | |
41 | int synth_stereo_wrap(real*, real*, mpg123_handle*); |
38 | See synth.c and optimize.h for that, also some special C and assembler files. */ |
42 | 39 | ||
43 | #ifndef NO_16BIT |
40 | #ifndef NO_16BIT |
44 | /* The signed-16bit-producing variants. */ |
41 | /* The signed-16bit-producing variants. */ |
45 | int synth_1to1 (real*, int, mpg123_handle*, int); |
42 | int synth_1to1 (real*, int, mpg123_handle*, int); |
Line 55... | Line 52... | ||
55 | int synth_1to1_altivec (real*, int, mpg123_handle*, int); |
52 | int synth_1to1_altivec (real*, int, mpg123_handle*, int); |
56 | int synth_1to1_stereo_altivec(real*, real*, mpg123_handle*); |
53 | int synth_1to1_stereo_altivec(real*, real*, mpg123_handle*); |
57 | int synth_1to1_x86_64 (real*, int, mpg123_handle*, int); |
54 | int synth_1to1_x86_64 (real*, int, mpg123_handle*, int); |
58 | int synth_1to1_stereo_x86_64(real*, real*, mpg123_handle*); |
55 | int synth_1to1_stereo_x86_64(real*, real*, mpg123_handle*); |
59 | int synth_1to1_arm (real*, int, mpg123_handle*, int); |
56 | int synth_1to1_arm (real*, int, mpg123_handle*, int); |
- | 57 | int synth_1to1_neon (real*, int, mpg123_handle*, int); |
|
- | 58 | int synth_1to1_stereo_neon(real*, real*, mpg123_handle*); |
|
60 | /* This is different, special usage in layer3.c only. |
59 | /* This is different, special usage in layer3.c only. |
61 | Hence, the name... and now forget about it. |
60 | Hence, the name... and now forget about it. |
62 | Never use it outside that special portion of code inside layer3.c! */ |
61 | Never use it outside that special portion of code inside layer3.c! */ |
63 | int absynth_1to1_i486(real*, int, mpg123_handle*, int); |
62 | int absynth_1to1_i486(real*, int, mpg123_handle*, int); |
64 | /* These mono/stereo converters use one of the above for the grunt work. */ |
63 | /* These mono/stereo converters use one of the above for the grunt work. */ |
65 | int synth_1to1_mono (real*, mpg123_handle*); |
64 | int synth_1to1_mono (real*, mpg123_handle*); |
66 | int synth_1to1_mono2stereo(real*, mpg123_handle*); |
65 | int synth_1to1_m2s(real*, mpg123_handle*); |
Line 67... | Line 66... | ||
67 | 66 | ||
68 | /* Sample rate decimation comes in less flavours. */ |
67 | /* Sample rate decimation comes in less flavours. */ |
69 | #ifndef NO_DOWNSAMPLE |
68 | #ifndef NO_DOWNSAMPLE |
70 | int synth_2to1 (real*, int, mpg123_handle*, int); |
69 | int synth_2to1 (real*, int, mpg123_handle*, int); |
71 | int synth_2to1_dither (real*, int, mpg123_handle*, int); |
70 | int synth_2to1_dither (real*, int, mpg123_handle*, int); |
72 | int synth_2to1_i386 (real*, int, mpg123_handle*, int); |
71 | int synth_2to1_i386 (real*, int, mpg123_handle*, int); |
73 | int synth_2to1_mono (real*, mpg123_handle*); |
72 | int synth_2to1_mono (real*, mpg123_handle*); |
74 | int synth_2to1_mono2stereo(real*, mpg123_handle*); |
73 | int synth_2to1_m2s(real*, mpg123_handle*); |
75 | int synth_4to1 (real *,int, mpg123_handle*, int); |
74 | int synth_4to1 (real *,int, mpg123_handle*, int); |
76 | int synth_4to1_dither (real *,int, mpg123_handle*, int); |
75 | int synth_4to1_dither (real *,int, mpg123_handle*, int); |
77 | int synth_4to1_i386 (real*, int, mpg123_handle*, int); |
76 | int synth_4to1_i386 (real*, int, mpg123_handle*, int); |
78 | int synth_4to1_mono (real*, mpg123_handle*); |
77 | int synth_4to1_mono (real*, mpg123_handle*); |
79 | int synth_4to1_mono2stereo(real*, mpg123_handle*); |
78 | int synth_4to1_m2s(real*, mpg123_handle*); |
80 | #endif |
79 | #endif |
81 | #ifndef NO_NTOM |
80 | #ifndef NO_NTOM |
82 | /* NtoM is really just one implementation. */ |
81 | /* NtoM is really just one implementation. */ |
83 | int synth_ntom (real *,int, mpg123_handle*, int); |
82 | int synth_ntom (real *,int, mpg123_handle*, int); |
84 | int synth_ntom_mono (real *, mpg123_handle *); |
83 | int synth_ntom_mono (real *, mpg123_handle *); |
85 | int synth_ntom_mono2stereo (real *, mpg123_handle *); |
84 | int synth_ntom_m2s (real *, mpg123_handle *); |
86 | #endif |
85 | #endif |
Line 87... | Line 86... | ||
87 | #endif |
86 | #endif |
88 | 87 | ||
Line 93... | Line 92... | ||
93 | int synth_1to1_8bit_i386 (real*, int, mpg123_handle*, int); |
92 | int synth_1to1_8bit_i386 (real*, int, mpg123_handle*, int); |
94 | #ifndef NO_16BIT |
93 | #ifndef NO_16BIT |
95 | int synth_1to1_8bit_wrap (real*, int, mpg123_handle*, int); |
94 | int synth_1to1_8bit_wrap (real*, int, mpg123_handle*, int); |
96 | int synth_1to1_8bit_mono (real*, mpg123_handle*); |
95 | int synth_1to1_8bit_mono (real*, mpg123_handle*); |
97 | #endif |
96 | #endif |
98 | int synth_1to1_8bit_mono2stereo(real*, mpg123_handle*); |
97 | int synth_1to1_8bit_m2s(real*, mpg123_handle*); |
99 | #ifndef NO_16BIT |
98 | #ifndef NO_16BIT |
100 | int synth_1to1_8bit_wrap_mono (real*, mpg123_handle*); |
99 | int synth_1to1_8bit_wrap_mono (real*, mpg123_handle*); |
101 | int synth_1to1_8bit_wrap_mono2stereo(real*, mpg123_handle*); |
100 | int synth_1to1_8bit_wrap_m2s(real*, mpg123_handle*); |
102 | #endif |
101 | #endif |
103 | #ifndef NO_DOWNSAMPLE |
102 | #ifndef NO_DOWNSAMPLE |
104 | int synth_2to1_8bit (real*, int, mpg123_handle*, int); |
103 | int synth_2to1_8bit (real*, int, mpg123_handle*, int); |
105 | int synth_2to1_8bit_i386 (real*, int, mpg123_handle*, int); |
104 | int synth_2to1_8bit_i386 (real*, int, mpg123_handle*, int); |
106 | int synth_2to1_8bit_mono (real*, mpg123_handle*); |
105 | int synth_2to1_8bit_mono (real*, mpg123_handle*); |
107 | int synth_2to1_8bit_mono2stereo(real*, mpg123_handle*); |
106 | int synth_2to1_8bit_m2s(real*, mpg123_handle*); |
108 | int synth_4to1_8bit (real*, int, mpg123_handle*, int); |
107 | int synth_4to1_8bit (real*, int, mpg123_handle*, int); |
109 | int synth_4to1_8bit_i386 (real*, int, mpg123_handle*, int); |
108 | int synth_4to1_8bit_i386 (real*, int, mpg123_handle*, int); |
110 | int synth_4to1_8bit_mono (real*, mpg123_handle*); |
109 | int synth_4to1_8bit_mono (real*, mpg123_handle*); |
111 | int synth_4to1_8bit_mono2stereo(real*, mpg123_handle*); |
110 | int synth_4to1_8bit_m2s(real*, mpg123_handle*); |
112 | #endif |
111 | #endif |
113 | #ifndef NO_NTOM |
112 | #ifndef NO_NTOM |
114 | int synth_ntom_8bit (real*, int, mpg123_handle*, int); |
113 | int synth_ntom_8bit (real*, int, mpg123_handle*, int); |
115 | int synth_ntom_8bit_mono (real*, mpg123_handle*); |
114 | int synth_ntom_8bit_mono (real*, mpg123_handle*); |
116 | int synth_ntom_8bit_mono2stereo(real*, mpg123_handle*); |
115 | int synth_ntom_8bit_m2s(real*, mpg123_handle*); |
117 | void ntom_set_ntom(mpg123_handle *fr, off_t num); |
- | |
118 | #endif |
116 | #endif |
119 | #endif |
117 | #endif |
Line 120... | Line 118... | ||
120 | 118 | ||
Line 128... | Line 126... | ||
128 | int synth_1to1_real_stereo_sse (real*, real*, mpg123_handle*); |
126 | int synth_1to1_real_stereo_sse (real*, real*, mpg123_handle*); |
129 | int synth_1to1_real_x86_64 (real*, int, mpg123_handle*, int); |
127 | int synth_1to1_real_x86_64 (real*, int, mpg123_handle*, int); |
130 | int synth_1to1_real_stereo_x86_64(real*, real*, mpg123_handle*); |
128 | int synth_1to1_real_stereo_x86_64(real*, real*, mpg123_handle*); |
131 | int synth_1to1_real_altivec (real*, int, mpg123_handle*, int); |
129 | int synth_1to1_real_altivec (real*, int, mpg123_handle*, int); |
132 | int synth_1to1_real_stereo_altivec(real*, real*, mpg123_handle*); |
130 | int synth_1to1_real_stereo_altivec(real*, real*, mpg123_handle*); |
- | 131 | int synth_1to1_real_neon (real*, int, mpg123_handle*, int); |
|
- | 132 | int synth_1to1_real_stereo_neon(real*, real*, mpg123_handle*); |
|
133 | int synth_1to1_real_mono (real*, mpg123_handle*); |
133 | int synth_1to1_real_mono (real*, mpg123_handle*); |
134 | int synth_1to1_real_mono2stereo(real*, mpg123_handle*); |
134 | int synth_1to1_real_m2s(real*, mpg123_handle*); |
135 | #ifndef NO_DOWNSAMPLE |
135 | #ifndef NO_DOWNSAMPLE |
136 | int synth_2to1_real (real*, int, mpg123_handle*, int); |
136 | int synth_2to1_real (real*, int, mpg123_handle*, int); |
137 | int synth_2to1_real_i386 (real*, int, mpg123_handle*, int); |
137 | int synth_2to1_real_i386 (real*, int, mpg123_handle*, int); |
138 | int synth_2to1_real_mono (real*, mpg123_handle*); |
138 | int synth_2to1_real_mono (real*, mpg123_handle*); |
139 | int synth_2to1_real_mono2stereo(real*, mpg123_handle*); |
139 | int synth_2to1_real_m2s(real*, mpg123_handle*); |
140 | int synth_4to1_real (real*, int, mpg123_handle*, int); |
140 | int synth_4to1_real (real*, int, mpg123_handle*, int); |
141 | int synth_4to1_real_i386 (real*, int, mpg123_handle*, int); |
141 | int synth_4to1_real_i386 (real*, int, mpg123_handle*, int); |
142 | int synth_4to1_real_mono (real*, mpg123_handle*); |
142 | int synth_4to1_real_mono (real*, mpg123_handle*); |
143 | int synth_4to1_real_mono2stereo(real*, mpg123_handle*); |
143 | int synth_4to1_real_m2s(real*, mpg123_handle*); |
144 | #endif |
144 | #endif |
145 | #ifndef NO_NTOM |
145 | #ifndef NO_NTOM |
146 | int synth_ntom_real (real*, int, mpg123_handle*, int); |
146 | int synth_ntom_real (real*, int, mpg123_handle*, int); |
147 | int synth_ntom_real_mono (real*, mpg123_handle*); |
147 | int synth_ntom_real_mono (real*, mpg123_handle*); |
148 | int synth_ntom_real_mono2stereo(real*, mpg123_handle*); |
148 | int synth_ntom_real_m2s(real*, mpg123_handle*); |
149 | #endif |
149 | #endif |
150 | #endif |
150 | #endif |
Line 151... | Line 151... | ||
151 | 151 | ||
152 | #ifndef NO_32BIT |
152 | #ifndef NO_32BIT |
Line 157... | Line 157... | ||
157 | int synth_1to1_s32_stereo_sse (real*, real*, mpg123_handle*); |
157 | int synth_1to1_s32_stereo_sse (real*, real*, mpg123_handle*); |
158 | int synth_1to1_s32_x86_64 (real*, int, mpg123_handle*, int); |
158 | int synth_1to1_s32_x86_64 (real*, int, mpg123_handle*, int); |
159 | int synth_1to1_s32_stereo_x86_64(real*, real*, mpg123_handle*); |
159 | int synth_1to1_s32_stereo_x86_64(real*, real*, mpg123_handle*); |
160 | int synth_1to1_s32_altivec (real*, int, mpg123_handle*, int); |
160 | int synth_1to1_s32_altivec (real*, int, mpg123_handle*, int); |
161 | int synth_1to1_s32_stereo_altivec(real*, real*, mpg123_handle*); |
161 | int synth_1to1_s32_stereo_altivec(real*, real*, mpg123_handle*); |
- | 162 | int synth_1to1_s32_neon (real*, int, mpg123_handle*, int); |
|
- | 163 | int synth_1to1_s32_stereo_neon(real*, real*, mpg123_handle*); |
|
162 | int synth_1to1_s32_mono (real*, mpg123_handle*); |
164 | int synth_1to1_s32_mono (real*, mpg123_handle*); |
163 | int synth_1to1_s32_mono2stereo(real*, mpg123_handle*); |
165 | int synth_1to1_s32_m2s(real*, mpg123_handle*); |
164 | #ifndef NO_DOWNSAMPLE |
166 | #ifndef NO_DOWNSAMPLE |
165 | int synth_2to1_s32 (real*, int, mpg123_handle*, int); |
167 | int synth_2to1_s32 (real*, int, mpg123_handle*, int); |
166 | int synth_2to1_s32_i386 (real*, int, mpg123_handle*, int); |
168 | int synth_2to1_s32_i386 (real*, int, mpg123_handle*, int); |
167 | int synth_2to1_s32_mono (real*, mpg123_handle*); |
169 | int synth_2to1_s32_mono (real*, mpg123_handle*); |
168 | int synth_2to1_s32_mono2stereo(real*, mpg123_handle*); |
170 | int synth_2to1_s32_m2s(real*, mpg123_handle*); |
169 | int synth_4to1_s32 (real*, int, mpg123_handle*, int); |
171 | int synth_4to1_s32 (real*, int, mpg123_handle*, int); |
170 | int synth_4to1_s32_i386 (real*, int, mpg123_handle*, int); |
172 | int synth_4to1_s32_i386 (real*, int, mpg123_handle*, int); |
171 | int synth_4to1_s32_mono (real*, mpg123_handle*); |
173 | int synth_4to1_s32_mono (real*, mpg123_handle*); |
172 | int synth_4to1_s32_mono2stereo(real*, mpg123_handle*); |
174 | int synth_4to1_s32_m2s(real*, mpg123_handle*); |
173 | #endif |
175 | #endif |
174 | #ifndef NO_NTOM |
176 | #ifndef NO_NTOM |
175 | int synth_ntom_s32 (real*, int, mpg123_handle*, int); |
177 | int synth_ntom_s32 (real*, int, mpg123_handle*, int); |
176 | int synth_ntom_s32_mono (real*, mpg123_handle*); |
178 | int synth_ntom_s32_mono (real*, mpg123_handle*); |
177 | int synth_ntom_s32_mono2stereo(real*, mpg123_handle*); |
179 | int synth_ntom_s32_m2s(real*, mpg123_handle*); |
178 | #endif |
180 | #endif |
179 | #endif |
181 | #endif |
Line 180... | Line 182... | ||
180 | 182 | ||
Line 197... | Line 199... | ||
197 | /* Tools for NtoM resampling synth, defined in ntom.c . */ |
199 | /* Tools for NtoM resampling synth, defined in ntom.c . */ |
198 | int synth_ntom_set_step(mpg123_handle *fr); /* prepare ntom decoding */ |
200 | int synth_ntom_set_step(mpg123_handle *fr); /* prepare ntom decoding */ |
199 | unsigned long ntom_val(mpg123_handle *fr, off_t frame); /* compute ntom_val for frame offset */ |
201 | unsigned long ntom_val(mpg123_handle *fr, off_t frame); /* compute ntom_val for frame offset */ |
200 | /* Frame and sample offsets. */ |
202 | /* Frame and sample offsets. */ |
201 | #ifndef NO_NTOM |
203 | #ifndef NO_NTOM |
- | 204 | /* |
|
- | 205 | Outsamples of _this_ frame. |
|
- | 206 | To be exact: The samples to be expected from the next frame decode (using the current ntom_val). When you already decoded _this_ frame, this is the number of samples to be expected from the next one. |
|
- | 207 | */ |
|
- | 208 | off_t ntom_frame_outsamples(mpg123_handle *fr); |
|
- | 209 | /* Total out/insample offset. */ |
|
202 | off_t ntom_frmouts(mpg123_handle *fr, off_t frame); |
210 | off_t ntom_frmouts(mpg123_handle *fr, off_t frame); |
203 | off_t ntom_ins2outs(mpg123_handle *fr, off_t ins); |
211 | off_t ntom_ins2outs(mpg123_handle *fr, off_t ins); |
204 | off_t ntom_frameoff(mpg123_handle *fr, off_t soff); |
212 | off_t ntom_frameoff(mpg123_handle *fr, off_t soff); |
205 | #endif |
213 | #endif |