blob: 5714c0ca35230c6e92aac6c039aa9f1c2dca9d2f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#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_ */
|