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

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

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

revision 616 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 73  namespace LinuxSampler { Line 74  namespace LinuxSampler {
74                  }                  }
75              }              }
76    
77  #if ARCH_X86  #if CONFIG_ASM && ARCH_X86
78              inline static void GetNext4SamplesMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) {              inline static void GetNext4SamplesMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) {
79                  if (INTERPOLATE) Interpolate4StepsMonoMMXSSE(pSrc, Pos, Pitch);                  if (INTERPOLATE) Interpolate4StepsMonoMMXSSE(pSrc, Pos, Pitch);
80                  else { // no pitch, so no interpolation necessary                  else { // no pitch, so no interpolation necessary
# Line 141  namespace LinuxSampler { Line 142  namespace LinuxSampler {
142                      );                      );
143                  }                  }
144              }              }
145  #endif // ARCH_X86  #endif // CONFIG_ASM && ARCH_X86
146    
147          protected:          protected:
148    
# Line 204  namespace LinuxSampler { Line 205  namespace LinuxSampler {
205                  return samplePoint;                  return samplePoint;
206              }              }
207    
208  #if ARCH_X86  #if CONFIG_ASM && ARCH_X86
209              // TODO: no support for cubic interpolation yet              // TODO: no support for cubic interpolation yet
210              inline static void Interpolate4StepsMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) {              inline static void Interpolate4StepsMonoMMXSSE(sample_t* pSrc, void* Pos, float& Pitch) {
211                  /* calculate playback position of each of the 4 samples by adding the associated pitch */                  /* calculate playback position of each of the 4 samples by adding the associated pitch */
# Line 407  namespace LinuxSampler { Line 408  namespace LinuxSampler {
408                        "%xmm3"  /* holds linear interpolated sample of right channel (of all 4 samples) at the end */                        "%xmm3"  /* holds linear interpolated sample of right channel (of all 4 samples) at the end */
409                  );                  );
410              }              }
411  #endif // ARCH_X86  #endif // CONFIG_ASM && ARCH_X86
412      };      };
413    
414  } // namespace LinuxSampler  } // namespace LinuxSampler

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

  ViewVC Help
Powered by ViewVC