00001 #ifndef NOATUN_CONVERT_H
00002 #define NOATUN_CONVERT_H
00003
00008 namespace Conversion
00009 {
00013 void convertMono8ToFloat(unsigned long samples, unsigned char *from, float *to);
00014
00018 void interpolateMono8ToFloat(unsigned long samples, double start, double speed,
00019 unsigned char *from, float *to);
00020
00024 void convertMono16leToFloat(unsigned long samples, unsigned char *from, float *to);
00025
00029 void interpolateMono16leToFloat(unsigned long samples, double startpos, double speed,
00030 unsigned char *from, float *to);
00031
00035 void convertStereoI8To2Float(unsigned long samples, unsigned char *from,
00036 float *left, float *right);
00037
00042 void interpolateStereoI8To2Float(unsigned long samples, double startpos, double speed,
00043 unsigned char *from, float *left, float *right);
00047 void convertStereoI16leTo2Float(unsigned long samples, unsigned char *from, float *left,
00048 float *right);
00049
00054 void interpolateStereoI16leTo2Float(unsigned long samples, double startpos, double speed,
00055 unsigned char *from, float *left, float *right);
00056
00060 void interpolateMonoFloatToFloat(unsigned long samples, double startpos, double speed,
00061 float *from, float *to);
00062
00066 void convertStereoIFloatTo2Float(unsigned long samples, float *from, float *left,
00067 float *right);
00068
00072 void interpolateStereoIFloatTo2Float(unsigned long samples, double startpos,
00073 double speed, float *from, float *left,
00074 float *right);
00075
00079 void convertMonoFloatTo16le(unsigned long samples, float *from, unsigned char *to);
00080
00084 void convertStereo2FloatToI16le(unsigned long samples, float *left, float *right,
00085 unsigned char *to);
00086
00090 void convertMonoFloatTo8(unsigned long samples, float *from, unsigned char *to);
00091
00095 void convertStereo2FloatToI8(unsigned long samples, float *left, float *right,
00096 unsigned char *to);
00097
00102 inline void toLittleEndian(unsigned long len, char *buffer);
00103
00108 inline void toBigEndian(unsigned long len, char *buffer);
00109
00114 void swapEndian(unsigned long length, char *buffer);
00115 }
00116
00117 #endif