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 NUM_TIME_SLOTS 16 69 #define SAMPLES_PER_SLOT 2 70 #define NUM_SAMPLE_RATES_SBR 9 73 #define MAX_NUM_NOISE_FLOORS 2 74 #define MAX_NUM_NOISE_FLOOR_BANDS 5 75 #define MAX_NUM_PATCHES 5 76 #define MAX_NUM_SMOOTH_COEFS 5 81 #define MAX_QMF_BANDS 48 83 #define FBITS_IN_QMFA 14 84 #define FBITS_LOST_QMFA (1 + 2 + 3 + 2 + 1) 85 #define FBITS_OUT_QMFA (FBITS_IN_QMFA - FBITS_LOST_QMFA) 87 #define MIN_GBITS_IN_QMFS 2 88 #define FBITS_IN_QMFS FBITS_OUT_QMFA 89 #define FBITS_LOST_DCT4_64 (2 + 3 + 2) 91 #define FBITS_OUT_DQ_ENV 29 92 #define FBITS_OUT_DQ_NOISE 24 93 #define NOISE_FLOOR_OFFSET 6 96 #define FBITS_GLIM_BOOST 24 97 #define FBITS_QLIM_BOOST 14 99 #define MAX_HUFF_BITS 20 100 #define NUM_QMF_DELAY_BUFS 10 101 #define DELAY_SAMPS_QMFA (NUM_QMF_DELAY_BUFS * 32) 102 #define DELAY_SAMPS_QMFS (NUM_QMF_DELAY_BUFS * 128) 105 #define FFT32C STATNAME(FFT32C) 106 #define CalcFreqTables STATNAME(CalcFreqTables) 107 #define AdjustHighFreq STATNAME(AdjustHighFreq) 108 #define GenerateHighFreq STATNAME(GenerateHighFreq) 109 #define DecodeSBREnvelope STATNAME(DecodeSBREnvelope) 110 #define DecodeSBRNoise STATNAME(DecodeSBRNoise) 111 #define UncoupleSBREnvelope STATNAME(UncoupleSBREnvelope) 112 #define UncoupleSBRNoise STATNAME(UncoupleSBRNoise) 113 #define InvRNormalized STATNAME(InvRNormalized) 114 #define RatioPowInv STATNAME(RatioPowInv) 115 #define SqrtFix STATNAME(SqrtFix) 116 #define QMFAnalysis STATNAME(QMFAnalysis) 117 #define QMFSynthesis STATNAME(QMFSynthesis) 118 #define GetSampRateIdx STATNAME(GetSampRateIdx) 119 #define UnpackSBRHeader STATNAME(UnpackSBRHeader) 120 #define UnpackSBRSingleChannel STATNAME(UnpackSBRSingleChannel) 121 #define UnpackSBRChannelPair STATNAME(UnpackSBRChannelPair) 124 #define CVKernel1 STATNAME(CVKernel1) 125 #define CVKernel2 STATNAME(CVKernel2) 126 #define QMFAnalysisConv STATNAME(QMFAnalysisConv) 127 #define QMFSynthesisConv STATNAME(QMFSynthesisConv) 129 #define k0Tab STATNAME(k0Tab) 130 #define k2Tab STATNAME(k2Tab) 131 #define goalSBTab STATNAME(goalSBTab) 132 #define huffTabSBR STATNAME(huffTabSBR) 133 #define huffTabSBRInfo STATNAME(huffTabSBRInfo) 134 #define log2Tab STATNAME(log2Tab) 135 #define noiseTab STATNAME(noiseTab) 136 #define cTabA STATNAME(cTabA) 137 #define cTabS STATNAME(cTabS) 140 #define CLIP_2N_SHIFT30(y, n) { \ 141 int sign = (y) >> 31; \ 142 if (sign != (y) >> (30 - (n))) { \ 143 (y) = sign ^ (0x3fffffff); \ 149 #define CLIP_2N(y, n) { \ 150 int sign = (y) >> 31; \ 151 if (sign != ((y) >> (n))) { \ 152 (y) = sign ^ ((1 << (n)) - 1); \ 358 int SqrtFix(
int x,
int fBitsIn,
int *fBitsOut);
361 int QMFAnalysis(
int *inbuf,
int *delay,
int *XBuf,
int fBitsIn,
int *delayIdx,
int qmfaBands);
362 void QMFSynthesis(
int *inbuf,
int *delay,
int *delayIdx,
int qmfsBands,
short *outbuf,
int nChans);
378 extern const int cTabA[165];
379 extern const int cTabS[640];
unsigned char smoothMode
Definition: aacsbr.h:203
unsigned char invfMode[2][5]
Definition: aacsbr.h:256
#define DecodeSBREnvelope
Definition: aacsbr.h:109
unsigned char patchStartSubband[5+1]
Definition: aacsbr.h:245
int nLow
Definition: aacsbr.h:229
#define InvRNormalized
Definition: aacsbr.h:113
unsigned char interpFreq
Definition: aacsbr.h:202
unsigned char noiseTimeBorder[2+1]
Definition: aacsbr.h:217
unsigned char freqNoise[5+1]
Definition: aacsbr.h:240
unsigned char numEnvPrev
Definition: aacsbr.h:219
unsigned char freqResPrev
Definition: aacsbr.h:221
#define HF_GEN
Definition: aacsbr.h:78
struct _HuffInfo HuffInfo
int delayIdxQMFS[AAC_MAX_NCHANS]
Definition: aacsbr.h:330
unsigned char stopFreq
Definition: aacsbr.h:190
unsigned char numNoiseFloorsPrev
Definition: aacsbr.h:220
unsigned char dataExtra
Definition: aacsbr.h:284
#define AdjustHighFreq
Definition: aacsbr.h:107
#define GenerateHighFreq
Definition: aacsbr.h:108
int gLimFbits[48]
Definition: aacsbr.h:322
int gTemp[5][48]
Definition: aacsbr.h:267
int nLimiter
Definition: aacsbr.h:230
unsigned char ampRes
Definition: aacsbr.h:188
unsigned char addHarmonic[2][64]
Definition: aacsbr.h:259
struct _SBRHeader SBRHeader
#define MAX_NUM_NOISE_FLOORS
Definition: aacsbr.h:73
#define DELAY_SAMPS_QMFS
Definition: aacsbr.h:102
#define MAX_NUM_ENV
Definition: aacsbr.h:72
unsigned char alterScale
Definition: aacsbr.h:197
int sBand
Definition: aacsbr.h:308
int smBuf[48]
Definition: aacsbr.h:319
int noiseTabIndex
Definition: aacsbr.h:264
int gainMax
Definition: aacsbr.h:302
unsigned char crossOverBand
Definition: aacsbr.h:191
#define DELAY_SAMPS_QMFA
Definition: aacsbr.h:101
unsigned char deltaFlagEnv[5]
Definition: aacsbr.h:250
#define noiseTab
Definition: aacsbr.h:135
unsigned char startFreq
Definition: aacsbr.h:189
#define UnpackSBRHeader
Definition: aacsbr.h:119
int kStart
Definition: aacsbr.h:226
unsigned char pointer
Definition: aacsbr.h:210
int XBuf[32+8][64][2]
Definition: aacsbr.h:333
#define QMFSynthesis
Definition: aacsbr.h:117
#define MAX_HUFF_BITS
Definition: aacsbr.h:99
#define MAX_NUM_PATCHES
Definition: aacsbr.h:75
unsigned char frameClass
Definition: aacsbr.h:208
int extendedDataSize
Definition: aacsbr.h:287
signed char noiseDataQuant[2][5]
Definition: aacsbr.h:254
#define huffTabSBRInfo
Definition: aacsbr.h:133
int numQMFBandsPrev
Definition: aacsbr.h:235
int noiseDataDequant[MAX_NCHANS_ELEM][2][5]
Definition: aacsbr.h:291
#define goalSBTab
Definition: aacsbr.h:131
int envBand
Definition: aacsbr.h:300
#define UncoupleSBREnvelope
Definition: aacsbr.h:111
#define huffTabSBR
Definition: aacsbr.h:132
unsigned char patchNumSubbands[5+1]
Definition: aacsbr.h:244
unsigned char limiterGains
Definition: aacsbr.h:201
int maxBits
Definition: aaccoder.h:154
int count
Definition: aacsbr.h:186
int sinIndex
Definition: aacsbr.h:265
#define MAX_NUM_NOISE_FLOOR_BANDS
Definition: aacsbr.h:74
#define AAC_MAX_NCHANS
Definition: aacdec.h:69
int sumQM
Definition: aacsbr.h:314
int eCurr[48]
Definition: aacsbr.h:293
SBRChan sbrChan[AAC_MAX_NCHANS]
Definition: aacsbr.h:281
#define cTabS
Definition: aacsbr.h:137
unsigned char noiseBands
Definition: aacsbr.h:198
unsigned char limiterBands
Definition: aacsbr.h:200
SBRHeader sbrHdr[AAC_MAX_NCHANS]
Definition: aacsbr.h:278
unsigned char eCurrExpMax
Definition: aacsbr.h:295
unsigned char freqScale
Definition: aacsbr.h:196
int noiseFloorBand
Definition: aacsbr.h:304
unsigned char freqMaster[48+1]
Definition: aacsbr.h:237
int frameCount
Definition: aacsbr.h:274
int smBoost[48]
Definition: aacsbr.h:317
int chirpFact[5]
Definition: aacsbr.h:257
int qFiltLast[48]
Definition: aacsbr.h:325
int delayIdxQMFA[AAC_MAX_NCHANS]
Definition: aacsbr.h:328
signed char envDataDequantScale[MAX_NCHANS_ELEM][5]
Definition: aacsbr.h:289
Definition: aaccoder.h:153
#define UncoupleSBRNoise
Definition: aacsbr.h:112
int qp1Inv
Definition: aacsbr.h:305
#define MAX_QMF_BANDS
Definition: aacsbr.h:81
unsigned char envTimeBorder[5+1]
Definition: aacsbr.h:213
unsigned char hdrExtra1
Definition: aacsbr.h:193
int offset
Definition: aaccoder.h:156
int qqp1Inv
Definition: aacsbr.h:306
signed char laPrev
Definition: aacsbr.h:262
int qmLimBoost[48]
Definition: aacsbr.h:316
int gLimBoost[48]
Definition: aacsbr.h:315
signed char la
Definition: aacsbr.h:296
int delayQMFS[AAC_MAX_NCHANS][(10 *128)]
Definition: aacsbr.h:331
int envDataDequant[MAX_NCHANS_ELEM][5][48]
Definition: aacsbr.h:290
unsigned char numPatches
Definition: aacsbr.h:243
unsigned char addHarmonicFlag[2]
Definition: aacsbr.h:258
int qmLimBuf[48]
Definition: aacsbr.h:320
int XBufDelay[AAC_MAX_NCHANS][8][64][2]
Definition: aacsbr.h:332
int numQMFBands
Definition: aacsbr.h:231
int nMaster
Definition: aacsbr.h:227
unsigned char freqLimiter[48/2+5]
Definition: aacsbr.h:241
unsigned char resBitsData
Definition: aacsbr.h:285
int qTemp[5][48]
Definition: aacsbr.h:268
#define log2Tab
Definition: aacsbr.h:134
#define CalcFreqTables
Definition: aacsbr.h:106
int kStartPrev
Definition: aacsbr.h:234
#define MAX_NUM_SMOOTH_COEFS
Definition: aacsbr.h:76
unsigned char resBitsHdr
Definition: aacsbr.h:192
unsigned char extendedDataPresent
Definition: aacsbr.h:286
unsigned char deltaFlagNoise[2]
Definition: aacsbr.h:251
Definition: aacbitstream.h:59
signed char envDataQuant[5][48]
Definition: aacsbr.h:253
int gainNoiseIndex
Definition: aacsbr.h:266
int sMapped
Definition: aacsbr.h:307
int delayQMFA[AAC_MAX_NCHANS][(10 *32)]
Definition: aacsbr.h:329
unsigned char freqHigh[48+1]
Definition: aacsbr.h:238
int gbMask[2]
Definition: aacsbr.h:261
#define cTabA
Definition: aacsbr.h:136
#define QMFAnalysis
Definition: aacsbr.h:116
unsigned char eCurrExp[48]
Definition: aacsbr.h:294
int sumEOrigMapped
Definition: aacsbr.h:311
int gFiltLast[48]
Definition: aacsbr.h:324
#define SqrtFix
Definition: aacsbr.h:115
#define RatioPowInv
Definition: aacsbr.h:114
int gLimBuf[48]
Definition: aacsbr.h:321
#define GetSampRateIdx
Definition: aacsbr.h:118
#define MAX_NCHANS_ELEM
Definition: aaccommon.h:56
unsigned char freqLow[48/2+1]
Definition: aacsbr.h:239
int numNoiseFloorBands
Definition: aacsbr.h:232
int eOMGainMax
Definition: aacsbr.h:301
SBRGrid sbrGrid[AAC_MAX_NCHANS]
Definition: aacsbr.h:279
struct _PSInfoSBR PSInfoSBR
unsigned char numEnv
Definition: aacsbr.h:212
int sampRateIdx
Definition: aacsbr.h:275
int crcCheckWord
Definition: aacsbr.h:298
#define k2Tab
Definition: aacsbr.h:130
int nHigh
Definition: aacsbr.h:228
unsigned char ampResFrame
Definition: aacsbr.h:209
unsigned char numNoiseFloors
Definition: aacsbr.h:216
int couplingFlag
Definition: aacsbr.h:299
int sumECurrGLim
Definition: aacsbr.h:312
int reset
Definition: aacsbr.h:249
int gainMaxFBits
Definition: aacsbr.h:303
#define UnpackSBRChannelPair
Definition: aacsbr.h:121
#define UnpackSBRSingleChannel
Definition: aacsbr.h:120
SBRFreq sbrFreq[AAC_MAX_NCHANS]
Definition: aacsbr.h:280
#define DecodeSBRNoise
Definition: aacsbr.h:110
#define FFT32C
Definition: aacsbr.h:105
#define k0Tab
Definition: aacsbr.h:129
int sumSM
Definition: aacsbr.h:313
unsigned char hdrExtra2
Definition: aacsbr.h:194
int highBand
Definition: aacsbr.h:309
#define NUM_SAMPLE_RATES_SBR
Definition: aacsbr.h:70
unsigned char freqRes[5]
Definition: aacsbr.h:214
unsigned char count[20]
Definition: aaccoder.h:155