00001 00022 #ifndef ASYNC_AUDIO_INTERPOLATOR_INCLUDED 00023 #define ASYNC_AUDIO_INTERPOLATOR_INCLUDED 00024 00025 00026 /**************************************************************************** 00027 * 00028 * System Includes 00029 * 00030 ****************************************************************************/ 00031 00032 00033 00034 /**************************************************************************** 00035 * 00036 * Project Includes 00037 * 00038 ****************************************************************************/ 00039 00040 #include <AsyncAudioProcessor.h> 00041 00042 00043 00044 /**************************************************************************** 00045 * 00046 * Local Includes 00047 * 00048 ****************************************************************************/ 00049 00050 00051 00052 /**************************************************************************** 00053 * 00054 * Forward declarations 00055 * 00056 ****************************************************************************/ 00057 00058 00059 00060 /**************************************************************************** 00061 * 00062 * Namespace 00063 * 00064 ****************************************************************************/ 00065 00066 namespace Async 00067 { 00068 00069 00070 /**************************************************************************** 00071 * 00072 * Forward declarations of classes inside of the declared namespace 00073 * 00074 ****************************************************************************/ 00075 00076 00077 00078 /**************************************************************************** 00079 * 00080 * Defines & typedefs 00081 * 00082 ****************************************************************************/ 00083 00084 00085 00086 /**************************************************************************** 00087 * 00088 * Exported Global Variables 00089 * 00090 ****************************************************************************/ 00091 00092 00093 00094 /**************************************************************************** 00095 * 00096 * Class definitions 00097 * 00098 ****************************************************************************/ 00099 00117 class AudioInterpolator : public Async::AudioProcessor 00118 { 00119 public: 00126 AudioInterpolator(int interpolation_factor, const float *filter_coeff, 00127 int taps); 00128 00132 ~AudioInterpolator(void); 00133 00134 00135 protected: 00147 virtual void processSamples(float *dest, const float *src, int count); 00148 00149 00150 private: 00151 const int factor_L; 00152 float *p_Z; 00153 int L_size; 00154 const float *p_H; 00155 00156 AudioInterpolator(const AudioInterpolator&); 00157 AudioInterpolator& operator=(const AudioInterpolator&); 00158 00159 }; /* class AudioInterpolator */ 00160 00161 00162 } /* namespace */ 00163 00164 #endif /* ASYNC_AUDIO_INTERPOLATOR_INCLUDED */ 00165 00166 00167 00168 /* 00169 * This file has not been truncated 00170 */ 00171