/[svn]/linuxsampler/trunk/src/engines/common/BiquadFilter.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/common/BiquadFilter.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 563 by schoenebeck, Sun May 22 20:43:32 2005 UTC revision 617 by schoenebeck, Wed Jun 8 21:00:06 2005 UTC
# Line 3  Line 3 
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  *
# Line 123  namespace LinuxSampler { Line 124  namespace LinuxSampler {
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__ (
# Line 210  namespace LinuxSampler { Line 211  namespace LinuxSampler {
211                        "r" (&param->b0)  /* %2 */                        "r" (&param->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;
# Line 242  namespace LinuxSampler { Line 243  namespace LinuxSampler {
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;
# Line 438  namespace LinuxSampler { Line 439  namespace LinuxSampler {
439                      ::                      ::
440                  );                  );
441              }              }
442  #endif // ARCH_X86  #endif // CONFIG_ASM && ARCH_X86
443      };      };
444    
445      /** @brief Lowpass Filter      /** @brief Lowpass Filter

Legend:
Removed from v.563  
changed lines
  Added in v.617

  ViewVC Help
Powered by ViewVC