53 #if defined(_WIN32) && defined(_M_IX86) && (defined (_DEBUG) || defined (REL_ENABLE_ASSERTS)) 54 #define ASSERT(x) if (!(x)) __asm int 3; 61 #define MAX(a,b) ((a) > (b) ? (a) : (b)) 65 #define MIN(a,b) ((a) < (b) ? (a) : (b)) 68 #define NWINDOWS_LONG 1 69 #define NWINDOWS_SHORT 8 71 #define DATA_BUF_SIZE 510 72 #define FILL_BUF_SIZE 269 73 #define ADIF_COPYID_SIZE 9 74 #define MAX_COMMENT_BYTES 255 76 #define MAX_NUM_FCE 15 77 #define MAX_NUM_SCE 15 78 #define MAX_NUM_BCE 15 81 #define MAX_NUM_CCE 15 83 #define CHAN_ELEM_IS_CPE(x) (((x) & 0x10) >> 4) 84 #define CHAN_ELEM_GET_TAG(x) (((x) & 0x0f) >> 0) 86 #define CHAN_ELEM_SET_CPE(x) (((x) & 0x01) << 4) 87 #define CHAN_ELEM_SET_TAG(x) (((x) & 0x0f) << 0) 89 #define MAX_HUFF_BITS 20 90 #define HUFFTAB_SPEC_OFFSET 1 93 #define CLIP_2N_SHIFT(y, n) { \ 94 int sign = (y) >> 31; \ 95 if (sign != (y) >> (30 - (n))) { \ 96 (y) = sign ^ (0x3fffffff); \ 103 #define CLIP_2N(val, n) { \ 104 if ((val) >> 31 != (val) >> (n)) \ 105 (val) = ((val) >> 31) ^ ((1 << (n)) - 1); \ 108 #define SF_DQ_OFFSET 15 109 #define FBITS_OUT_DQ 20 110 #define FBITS_OUT_DQ_OFF (FBITS_OUT_DQ - SF_DQ_OFFSET) 112 #define FBITS_IN_IMDCT FBITS_OUT_DQ_OFF 113 #define GBITS_IN_DCT4 4 115 #define FBITS_LOST_DCT4 1 116 #define FBITS_LOST_WND 1 117 #define FBITS_LOST_IMDCT (FBITS_LOST_DCT4 + FBITS_LOST_WND) 118 #define FBITS_OUT_IMDCT (FBITS_IN_IMDCT - FBITS_LOST_IMDCT) 120 #define NUM_IMDCT_SIZES 2 123 #define DecodeProgramConfigElement STATNAME(DecodeProgramConfigElement) 124 #define DecodeHuffmanScalar STATNAME(DecodeHuffmanScalar) 125 #define DecodeSpectrumLong STATNAME(DecodeSpectrumLong) 126 #define DecodeSpectrumShort STATNAME(DecodeSpectrumShort) 127 #define DecodeICSInfo STATNAME(DecodeICSInfo) 128 #define DCT4 STATNAME(DCT4) 129 #define R4FFT STATNAME(R4FFT) 131 #define DecWindowOverlapNoClip STATNAME(DecWindowOverlapNoClip) 132 #define DecWindowOverlapLongStartNoClip STATNAME(DecWindowOverlapLongStartNoClip) 133 #define DecWindowOverlapLongStopNoClip STATNAME(DecWindowOverlapLongStopNoClip) 134 #define DecWindowOverlapShortNoClip STATNAME(DecWindowOverlapShortNoClip) 136 #define huffTabSpecInfo STATNAME(huffTabSpecInfo) 137 #define huffTabSpec STATNAME(huffTabSpec) 138 #define huffTabScaleFactInfo STATNAME(huffTabScaleFactInfo) 139 #define huffTabScaleFact STATNAME(huffTabScaleFact) 140 #define cos4sin4tab STATNAME(cos4sin4tab) 141 #define cos4sin4tabOffset STATNAME(cos4sin4tabOffset) 142 #define cos1sin1tab STATNAME(cos1sin1tab) 143 #define sinWindow STATNAME(sinWindow) 144 #define sinWindowOffset STATNAME(sinWindowOffset) 145 #define kbdWindow STATNAME(kbdWindow) 146 #define kbdWindowOffset STATNAME(kbdWindowOffset) 147 #define bitrevtab STATNAME(bitrevtab) 148 #define bitrevtabOffset STATNAME(bitrevtabOffset) 149 #define uniqueIDTab STATNAME(uniqueIDTab) 150 #define twidTabEven STATNAME(twidTabEven) 151 #define twidTabOdd STATNAME(twidTabOdd) 255 #ifdef KEEP_PCE_COMMENTS 257 unsigned char commentBytes;
303 #ifdef AAC_ENABLE_SBR 326 void DCT4(
int tabidx,
int *coef,
int gb);
329 void R4FFT(
int tabidx,
int *x);
347 extern const unsigned char bitrevtab[17 + 129];
350 #ifdef HELIX_CONFIG_AAC_GENERATE_TRIGTABS_FLOAT 365 extern const int twidTabOdd[8*6 + 32*6 + 128*6];
#define MAX_WIN_GROUPS
Definition: aaccommon.h:64
#define AAC_MAX_NSAMPS
Definition: aacdec.h:71
short scaleFactors[MAX_NCHANS_ELEM][MAX_SF_BANDS]
Definition: aaccoder.h:283
struct _PSInfoBase PSInfoBase
int dataCount
Definition: aaccoder.h:269
unsigned char elemInstTag
Definition: aaccoder.h:235
#define MAX_TNS_COEFS
Definition: aaccommon.h:70
unsigned char protectBit
Definition: aaccoder.h:203
Definition: aaccoder.h:167
unsigned char predictorResetGroupNum
Definition: aaccoder.h:193
unsigned char length[MAX_TNS_FILTERS]
Definition: aaccoder.h:171
#define kbdWindow
Definition: aaccoder.h:145
unsigned char numFilt[MAX_TNS_FILTERS]
Definition: aaccoder.h:169
int bufferFull
Definition: aaccoder.h:215
unsigned char adjNum[MAX_GAIN_BANDS][MAX_GAIN_WIN]
Definition: aaccoder.h:180
unsigned char copyID[9]
Definition: aaccoder.h:230
unsigned char monoMixdown
Definition: aaccoder.h:244
int overlap[AAC_MAX_NCHANS][AAC_MAX_NSAMPS]
Definition: aaccoder.h:307
struct _ADIFHeader ADIFHeader
int sampRateIdx
Definition: aaccoder.h:277
int nChans
Definition: aaccoder.h:275
unsigned char privateBit
Definition: aaccoder.h:206
struct _ADTSHeader ADTSHeader
unsigned char numPulse
Definition: aaccoder.h:161
#define MAX_GAIN_ADJUST
Definition: aaccommon.h:75
#define MAX_NUM_SCE
Definition: aaccoder.h:77
#define ADIF_COPYID_SIZE
Definition: aaccoder.h:73
#define DecWindowOverlapNoClip
Definition: aaccoder.h:131
unsigned char numLCE
Definition: aaccoder.h:241
unsigned char numFCE
Definition: aaccoder.h:238
unsigned char home
Definition: aaccoder.h:209
unsigned char sfbCodeBook[MAX_NCHANS_ELEM][MAX_SF_BANDS]
Definition: aaccoder.h:284
int commonWin
Definition: aaccoder.h:282
#define bitrevtab
Definition: aaccoder.h:147
#define FILL_BUF_SIZE
Definition: aaccoder.h:72
#define sinWindow
Definition: aaccoder.h:143
unsigned char alevCode[MAX_GAIN_BANDS][MAX_GAIN_WIN][MAX_GAIN_ADJUST]
Definition: aaccoder.h:181
unsigned char numSCE
Definition: aaccoder.h:239
ICSInfo icsInfo[MAX_NCHANS_ELEM]
Definition: aaccoder.h:280
unsigned char copyBit
Definition: aaccoder.h:212
#define kbdWindowOffset
Definition: aaccoder.h:146
#define huffTabScaleFact
Definition: aaccoder.h:139
unsigned char bsType
Definition: aaccoder.h:226
unsigned char numBCE
Definition: aaccoder.h:240
int pnsLastVal
Definition: aaccoder.h:290
#define DecWindowOverlapShortNoClip
Definition: aaccoder.h:134
struct _ProgConfigElement ProgConfigElement
int prevWinShape[AAC_MAX_NCHANS]
Definition: aaccoder.h:308
#define sinWindowOffset
Definition: aaccoder.h:144
#define DecWindowOverlapLongStopNoClip
Definition: aaccoder.h:133
unsigned char numCCE
Definition: aaccoder.h:243
unsigned char matrixMixdown
Definition: aaccoder.h:246
int gbCurrent[MAX_NCHANS_ELEM]
Definition: aaccoder.h:301
unsigned char winGroupLen[MAX_WIN_GROUPS]
Definition: aaccoder.h:196
#define huffTabSpecInfo
Definition: aaccoder.h:136
struct _GainControlInfo GainControlInfo
unsigned char pulseDataPresent
Definition: aaccoder.h:160
unsigned char order[MAX_TNS_FILTERS]
Definition: aaccoder.h:172
unsigned char bce[15]
Definition: aaccoder.h:250
unsigned char lce[3]
Definition: aaccoder.h:251
#define MAX_NUM_PCE_ADIF
Definition: aaccommon.h:62
#define MAX_PULSES
Definition: aaccommon.h:72
unsigned char predictorDataPresent
Definition: aaccoder.h:191
signed char coef[MAX_TNS_COEFS]
Definition: aaccoder.h:174
int maxBits
Definition: aaccoder.h:154
#define DecodeHuffmanScalar
Definition: aaccoder.h:124
int crcCheckWord
Definition: aaccoder.h:219
unsigned char numRawDataBlocks
Definition: aaccoder.h:216
#define twidTabEven
Definition: aaccoder.h:150
#define AAC_MAX_NCHANS
Definition: aacdec.h:69
struct _HuffInfo HuffInfo
unsigned char offset[MAX_PULSES]
Definition: aaccoder.h:163
unsigned char alocCode[MAX_GAIN_BANDS][MAX_GAIN_WIN][MAX_GAIN_ADJUST]
Definition: aaccoder.h:182
int tnsLPCBuf[MAX_TNS_ORDER]
Definition: aaccoder.h:296
unsigned char numPCE
Definition: aaccoder.h:228
#define MAX_TNS_FILTERS
Definition: aaccommon.h:69
unsigned char winSequence
Definition: aaccoder.h:187
#define MAX_HUFF_BITS
Definition: aaccoder.h:89
unsigned char cce[15]
Definition: aaccoder.h:253
#define DecodeSpectrumLong
Definition: aaccoder.h:125
#define MAX_NUM_BCE
Definition: aaccoder.h:78
unsigned char maxSFB
Definition: aaccoder.h:189
unsigned char stereoMixdown
Definition: aaccoder.h:245
Definition: aaccoder.h:159
unsigned char winShape
Definition: aaccoder.h:188
Definition: aaccoder.h:153
#define DATA_BUF_SIZE
Definition: aaccoder.h:71
unsigned char channelConfig
Definition: aaccoder.h:207
unsigned char sampRateIdx
Definition: aaccoder.h:205
#define cos4sin4tab
Definition: aaccoder.h:140
#define cos1sin1tab
Definition: aaccoder.h:142
#define MAX_PRED_SFB
Definition: aaccommon.h:68
int offset
Definition: aaccoder.h:156
unsigned char predictionUsed[MAX_PRED_SFB]
Definition: aaccoder.h:194
int tnsWorkBuf[MAX_TNS_ORDER]
Definition: aaccoder.h:297
unsigned char profile
Definition: aaccoder.h:204
unsigned char numWinGroup
Definition: aaccoder.h:195
Definition: aaccoder.h:264
unsigned char msMaskBits[MAX_MS_MASK_BYTES]
Definition: aaccoder.h:287
#define MAX_NUM_LCE
Definition: aaccoder.h:79
unsigned char dir[MAX_TNS_FILTERS]
Definition: aaccoder.h:173
unsigned char fce[15]
Definition: aaccoder.h:248
GainControlInfo gainControlInfo[MAX_NCHANS_ELEM]
Definition: aaccoder.h:299
int intensityUsed[MAX_NCHANS_ELEM]
Definition: aaccoder.h:291
unsigned char id
Definition: aaccoder.h:201
unsigned char coefRes[MAX_TNS_FILTERS]
Definition: aaccoder.h:170
unsigned char icsResBit
Definition: aaccoder.h:186
unsigned char startSFB
Definition: aaccoder.h:162
unsigned char ade[7]
Definition: aaccoder.h:252
unsigned char predictorReset
Definition: aaccoder.h:192
#define DecodeSpectrumShort
Definition: aaccoder.h:126
#define MAX_NUM_ADE
Definition: aaccoder.h:80
#define DecodeProgramConfigElement
Definition: aaccoder.h:123
Definition: aaccoder.h:177
Definition: aacbitstream.h:59
#define DecWindowOverlapLongStartNoClip
Definition: aaccoder.h:132
#define MAX_NUM_FCE
Definition: aaccoder.h:76
int bitRate
Definition: aaccoder.h:227
int coef[MAX_NCHANS_ELEM][AAC_MAX_NSAMPS]
Definition: aaccoder.h:302
ProgConfigElement pce[MAX_NUM_PCE_ADIF]
Definition: aaccoder.h:268
ADTSHeader fhADTS
Definition: aaccoder.h:266
#define MAX_SF_BANDS
Definition: aaccommon.h:66
#define twidTabOdd
Definition: aaccoder.h:151
unsigned char sce[15]
Definition: aaccoder.h:249
Definition: aaccoder.h:234
unsigned char tnsDataPresent
Definition: aaccoder.h:168
#define MAX_NCHANS_ELEM
Definition: aaccommon.h:56
int frameLength
Definition: aaccoder.h:214
#define cos4sin4tabOffset
Definition: aaccoder.h:141
#define huffTabSpec
Definition: aaccoder.h:137
TNSInfo tnsInfo[MAX_NCHANS_ELEM]
Definition: aaccoder.h:295
#define MAX_TNS_ORDER
Definition: aaccommon.h:71
#define DCT4
Definition: aaccoder.h:128
#define MAX_GAIN_BANDS
Definition: aaccommon.h:73
#define NUM_IMDCT_SIZES
Definition: aaccoder.h:120
int pnsUsed[MAX_NCHANS_ELEM]
Definition: aaccoder.h:289
unsigned char maxBand
Definition: aaccoder.h:179
#define DecodeICSInfo
Definition: aaccoder.h:127
unsigned char layer
Definition: aaccoder.h:202
unsigned char copyStart
Definition: aaccoder.h:213
#define MAX_COMMENT_BYTES
Definition: aaccoder.h:74
unsigned char amp[MAX_PULSES]
Definition: aaccoder.h:164
ADIFHeader fhADIF
Definition: aaccoder.h:267
int msMaskPresent
Definition: aaccoder.h:286
unsigned char numADE
Definition: aaccoder.h:242
unsigned char dataBuf[510]
Definition: aaccoder.h:270
int useImpChanMap
Definition: aaccoder.h:276
#define MAX_MS_MASK_BYTES
Definition: aaccommon.h:67
unsigned char gainControlDataPresent
Definition: aaccoder.h:178
#define huffTabScaleFactInfo
Definition: aaccoder.h:138
struct _PulseInfo PulseInfo
unsigned char sfGroup
Definition: aaccoder.h:190
PulseInfo pulseInfo[MAX_NCHANS_ELEM]
Definition: aaccoder.h:293
Definition: aaccoder.h:185
#define R4FFT
Definition: aaccoder.h:129
#define bitrevtabOffset
Definition: aaccoder.h:148
unsigned char origCopy
Definition: aaccoder.h:208
#define MAX_GAIN_WIN
Definition: aaccommon.h:74
int fillCount
Definition: aaccoder.h:271
unsigned char fillBuf[269]
Definition: aaccoder.h:272
unsigned char count[20]
Definition: aaccoder.h:155