3 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
6 |
|
* Copyright (C) 2005 Christian Schoenebeck * |
7 |
* * |
* * |
8 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
9 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
124 |
return y; |
return y; |
125 |
} |
} |
126 |
|
|
127 |
#if ARCH_X86 |
#if CONFIG_ASM && ARCH_X86 |
128 |
// expects to find input in xmm0 (xmm0 stays unmodified) and finally leaves output in xmm6 |
// expects to find input in xmm0 (xmm0 stays unmodified) and finally leaves output in xmm6 |
129 |
inline void Apply4StepsSSE(biquad_param_t* param) { |
inline void Apply4StepsSSE(biquad_param_t* param) { |
130 |
__asm__ __volatile__ ( |
__asm__ __volatile__ ( |
211 |
"r" (¶m->b0) /* %2 */ |
"r" (¶m->b0) /* %2 */ |
212 |
); |
); |
213 |
} |
} |
214 |
#endif // ARCH_X86 |
#endif // CONFIG_ASM && ARCH_X86 |
215 |
|
|
216 |
inline bq_t ApplyFB(bq_t x, const bq_t fb) { |
inline bq_t ApplyFB(bq_t x, const bq_t fb) { |
217 |
bq_t y; |
bq_t y; |
243 |
return y; |
return y; |
244 |
} |
} |
245 |
|
|
246 |
#if ARCH_X86 |
#if CONFIG_ASM && ARCH_X86 |
247 |
// expects to find input in xmm0 (xmm0 stays unmodified) and finally leaves output in xmm7 |
// expects to find input in xmm0 (xmm0 stays unmodified) and finally leaves output in xmm7 |
248 |
inline void ApplyFB4StepsSSE(biquad_param_t* param, const bq_t &fb) { |
inline void ApplyFB4StepsSSE(biquad_param_t* param, const bq_t &fb) { |
249 |
float xs, ys; |
float xs, ys; |
439 |
:: |
:: |
440 |
); |
); |
441 |
} |
} |
442 |
#endif // ARCH_X86 |
#endif // CONFIG_ASM && ARCH_X86 |
443 |
}; |
}; |
444 |
|
|
445 |
/** @brief Lowpass Filter |
/** @brief Lowpass Filter |