www.pudn.com > flash.rar > adpcm.h
#ifndef _ADPCM_H_
#define _ADPCM_H_
class Adpcm {
// Destination format - note we always decompress to 16 bit
long stereo;
int nBits; // number of bits in each sample
long valpred[2]; // Current state
int index[2];
long nSamples; // number of samples decompressed so far
// Parsing Info
unsigned char *src;
long bitBuf; // this should always contain at least 24 bits of data
int bitPos;
void FillBuffer();
long GetBits(int n);
long GetSBits(int n);
public:
Adpcm(unsigned char *buffer, long isStereo);
void Decompress(short * dst, long n); // return number of good samples
#ifdef DUMP
void dump(BitStream *bs);
void Compress(short *pcm, long n, int bits);
#endif
};
#endif /* _ADPCM_H_ */