47 #include "mp3common.h" 52 #if defined(_WIN32) && defined(_M_IX86) && (defined (_DEBUG) || defined (REL_ENABLE_ASSERTS)) 53 #define ASSERT(x) if (!(x)) __asm int 3; 59 #define MAX(a,b) ((a) > (b) ? (a) : (b)) 63 #define MIN(a,b) ((a) < (b) ? (a) : (b)) 67 #define CLIP_2N(y, n) { \ 68 int sign = (y) >> 31; \ 69 if (sign != (y) >> (n)) { \ 70 (y) = sign ^ ((1 << (n)) - 1); \ 74 #define SIBYTES_MPEG1_MONO 17 75 #define SIBYTES_MPEG1_STEREO 32 76 #define SIBYTES_MPEG2_MONO 9 77 #define SIBYTES_MPEG2_STEREO 17 80 #define POW43_FRACBITS_LOW 22 81 #define POW43_FRACBITS_HIGH 12 83 #define DQ_FRACBITS_OUT 25 86 #define HUFF_PAIRTABS 32 89 #define MAX_REORDER_SAMPS ((192-126)*3) 90 #define VBUF_LENGTH (17 * 2 * NBANDS) 93 #define SetBitstreamPointer STATNAME(SetBitstreamPointer) 94 #define GetBits STATNAME(GetBits) 95 #define CalcBitsUsed STATNAME(CalcBitsUsed) 96 #define DequantChannel STATNAME(DequantChannel) 97 #define MidSideProc STATNAME(MidSideProc) 98 #define IntensityProcMPEG1 STATNAME(IntensityProcMPEG1) 99 #define IntensityProcMPEG2 STATNAME(IntensityProcMPEG2) 100 #define PolyphaseMono STATNAME(PolyphaseMono) 101 #define PolyphaseStereo STATNAME(PolyphaseStereo) 102 #define FDCT32 STATNAME(FDCT32) 104 #define ISFMpeg1 STATNAME(ISFMpeg1) 105 #define ISFMpeg2 STATNAME(ISFMpeg2) 106 #define ISFIIP STATNAME(ISFIIP) 107 #define uniqueIDTab STATNAME(uniqueIDTab) 108 #define coef32 STATNAME(coef32) 109 #define polyCoef STATNAME(polyCoef) 110 #define csa STATNAME(csa) 111 #define imdctWin STATNAME(imdctWin) 113 #define huffTable STATNAME(huffTable) 114 #define huffTabOffset STATNAME(huffTabOffset) 115 #define huffTabLookup STATNAME(huffTabLookup) 116 #define quadTable STATNAME(quadTable) 117 #define quadTabOffset STATNAME(quadTabOffset) 118 #define quadTabMaxBits STATNAME(quadTabMaxBits) 129 unsigned char *bytePtr;
167 int count1TableSelect;
173 int scfsi[MAX_NCHAN][MAX_SCFBD];
186 int workBuf[MAX_REORDER_SAMPS];
191 int huffDecBuf[MAX_NCHAN][MAX_NSAMP];
192 int nonZeroBound[MAX_NCHAN];
196 typedef enum _HuffTabType {
212 int outBuf[MAX_NCHAN][BLOCK_SIZE][NBANDS];
213 int overBuf[MAX_NCHAN][MAX_NSAMP / 2];
214 int numPrevIMDCT[MAX_NCHAN];
215 int prevType[MAX_NCHAN];
216 int prevWinSwitch[MAX_NCHAN];
254 int vbuf[MAX_NCHAN * VBUF_LENGTH];
259 void SetBitstreamPointer(
BitStreamInfo *bsi,
int nBytes,
unsigned char *buf);
261 int CalcBitsUsed(
BitStreamInfo *bsi,
unsigned char *startBuf,
int startOffset);
266 void MidSideProc(
int x[MAX_NCHAN][MAX_NSAMP],
int nSamps,
int mOut[2]);
274 void FDCT32(
int *x,
int *d,
int offset,
int oddBlock,
int gb);
278 extern const int huffTabOffset[HUFF_PAIRTABS];
279 extern const unsigned short huffTable[];
280 extern const unsigned char quadTable[64+16];
281 extern const int quadTabOffset[2];
282 extern const int quadTabMaxBits[2];
292 void PolyphaseMono(
short *pcm,
int *vbuf,
const int *coefBase);
293 void PolyphaseStereo(
short *pcm,
int *vbuf,
const int *coefBase);
299 extern const int imdctWin[4][36];
300 extern const int ISFMpeg1[2][7];
301 extern const int ISFMpeg2[2][2][16];
302 extern const int ISFIIP[2][2];
303 extern const int csa[8][2];
304 extern const int coef32[31];
305 extern const int polyCoef[264];
Definition: mp3common.h:97