00001
00002
00003
00004
00005
00006
00007 #ifndef CSL_Interleaver_H
00008 #define CSL_Interleaver_H
00009
00010 #include "CSL_Core.h"
00011
00012 namespace csl {
00013
00017 class Interleaver {
00018
00019 public:
00021 void interleave(Buffer & output, sample * samples, unsigned numFrames, unsigned numChannels) throw (CException);
00022 void interleave(Buffer & output, short * samples, unsigned numFrames, unsigned numChannels) throw (CException);
00023
00026 void interleaveAndRemap(Buffer & output, sample * samples, unsigned numFrames, unsigned numChannels, unsigned *channelMap) throw (CException);
00027
00029 void deinterleave(Buffer & output, sample * samples, unsigned numFrames, unsigned numChannels) throw (CException);
00030 void deinterleave(Buffer & output, short * samples, unsigned numFrames, unsigned numChannels) throw (CException);
00031 };
00032
00033 }
00034
00035 #endif