1 /* 2 * Copyright 2010, Adrien Destugues <pulkomandy@pulkomandy.ath.cx> 3 * Distributed under the terms of the MIT Licence. 4 */ 5 #ifndef _INTERPOLATE_H 6 #define _INTERPOLATE_H 7 8 9 #include "Resampler.h" 10 11 12 class Interpolate: public Resampler { 13 public: 14 Interpolate(uint32 sourceFormat, 15 uint32 destFormat); 16 virtual ~Interpolate(); 17 private: 18 virtual void float_to_float(const void* src, 19 int32 srcSampleOffset, int32 srcSampleCount, 20 void* dest, int32 destSampleOffset, 21 int32 destSampleCount, float gain); 22 virtual void int32_to_float(const void* src, 23 int32 srcSampleOffset, int32 srcSampleCount, 24 void* dest, int32 destSampleOffset, 25 int32 destSampleCount, float gain); 26 virtual void int16_to_float(const void* src, 27 int32 srcSampleOffset, int32 srcSampleCount, 28 void* dest, int32 destSampleOffset, 29 int32 destSampleCount, float gain); 30 virtual void int8_to_float(const void* src, 31 int32 srcSampleOffset, int32 srcSampleCount, 32 void* dest, int32 destSampleOffset, 33 int32 destSampleCount, float gain); 34 virtual void uint8_to_float(const void* src, 35 int32 srcSampleOffset, int32 srcSampleCount, 36 void* dest, int32 destSampleOffset, 37 int32 destSampleCount, float gain); 38 virtual void float_to_int32(const void* src, 39 int32 srcSampleOffset, int32 srcSampleCount, 40 void* dest, int32 destSampleOffset, 41 int32 destSampleCount, float gain); 42 virtual void float_to_int16(const void* src, 43 int32 srcSampleOffset, int32 srcSampleCount, 44 void* dest, int32 destSampleOffset, 45 int32 destSampleCount, float gain); 46 virtual void float_to_int8(const void* src, 47 int32 srcSampleOffset, int32 srcSampleCount, 48 void* dest, int32 destSampleOffset, 49 int32 destSampleCount, float gain); 50 virtual void float_to_uint8(const void* src, 51 int32 srcSampleOffset, int32 srcSampleCount, 52 void* dest, int32 destSampleOffset, 53 int32 destSampleCount, float gain); 54 55 }; 56 57 58 #endif 59