XenevaOS
Loading...
Searching...
No Matches
sbr.h
Go to the documentation of this file.
1/* ***** BEGIN LICENSE BLOCK *****
2 * Source last modified: $Id: sbr.h,v 1.2 2005/05/20 18:05:41 jrecker Exp $
3 *
4 * Portions Copyright (c) 1995-2005 RealNetworks, Inc. All Rights Reserved.
5 *
6 * The contents of this file, and the files included with this file,
7 * are subject to the current version of the RealNetworks Public
8 * Source License (the "RPSL") available at
9 * http://www.helixcommunity.org/content/rpsl unless you have licensed
10 * the file under the current version of the RealNetworks Community
11 * Source License (the "RCSL") available at
12 * http://www.helixcommunity.org/content/rcsl, in which case the RCSL
13 * will apply. You may also obtain the license terms directly from
14 * RealNetworks. You may not use this file except in compliance with
15 * the RPSL or, if you have a valid RCSL with RealNetworks applicable
16 * to this file, the RCSL. Please see the applicable RPSL or RCSL for
17 * the rights, obligations and limitations governing use of the
18 * contents of the file.
19 *
20 * This file is part of the Helix DNA Technology. RealNetworks is the
21 * developer of the Original Code and owns the copyrights in the
22 * portions it created.
23 *
24 * This file, and the files included with this file, is distributed
25 * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
26 * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
27 * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
28 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
29 * ENJOYMENT OR NON-INFRINGEMENT.
30 *
31 * Technology Compatibility Kit Test Suite(s) Location:
32 * http://www.helixcommunity.org/content/tck
33 *
34 * Contributor(s):
35 *
36 * ***** END LICENSE BLOCK ***** */
37
38/**************************************************************************************
39 * Fixed-point HE-AAC decoder
40 * Jon Recker (jrecker@real.com)
41 * February 2005
42 *
43 * sbr.h - definitions of platform-specific SBR data structures, functions, and tables
44 **************************************************************************************/
45
46#ifndef _SBR_H
47#define _SBR_H
48
49#include "aaccommon.h"
50#include "bitstream.h"
51
52#ifndef ASSERT
53#if defined(_WIN32) && defined(_M_IX86) && (defined (_DEBUG) || defined (REL_ENABLE_ASSERTS))
54#define ASSERT(x) if (!(x)) __asm int 3;
55#else
56#define ASSERT(x) /* do nothing */
57#endif
58#endif
59
60#ifndef MAX
61#define MAX(a,b) ((a) > (b) ? (a) : (b))
62#endif
63
64#ifndef MIN
65#define MIN(a,b) ((a) < (b) ? (a) : (b))
66#endif
67
68#define NUM_TIME_SLOTS 16
69#define SAMPLES_PER_SLOT 2 /* RATE in spec */
70#define NUM_SAMPLE_RATES_SBR 9 /* downsampled (single-rate) mode unsupported, so only use Fs_sbr >= 16 kHz */
71
72#define MAX_NUM_ENV 5
73#define MAX_NUM_NOISE_FLOORS 2
74#define MAX_NUM_NOISE_FLOOR_BANDS 5 /* max Nq, see 4.6.18.3.6 */
75#define MAX_NUM_PATCHES 5
76#define MAX_NUM_SMOOTH_COEFS 5
77
78#define HF_GEN 8
79#define HF_ADJ 2
80
81#define MAX_QMF_BANDS 48 /* max QMF subbands covered by SBR (4.6.18.3.6) */
82
83#define FBITS_IN_QMFA 14
84#define FBITS_LOST_QMFA (1 + 2 + 3 + 2 + 1) /* 1 from cTab, 2 in premul, 3 in FFT, 2 in postmul, 1 for implicit scaling by 2.0 */
85#define FBITS_OUT_QMFA (FBITS_IN_QMFA - FBITS_LOST_QMFA)
86
87#define MIN_GBITS_IN_QMFS 2
88#define FBITS_IN_QMFS FBITS_OUT_QMFA
89#define FBITS_LOST_DCT4_64 (2 + 3 + 2) /* 2 in premul, 3 in FFT, 2 in postmul */
90
91#define FBITS_OUT_DQ_ENV 29 /* dequantized env scalefactors are Q(29 - envDataDequantScale) */
92#define FBITS_OUT_DQ_NOISE 24 /* range of Q_orig = [2^-24, 2^6] */
93#define NOISE_FLOOR_OFFSET 6
94
95/* see comments in ApplyBoost() */
96#define FBITS_GLIM_BOOST 24
97#define FBITS_QLIM_BOOST 14
98
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)
103
104/* additional external symbols to name-mangle for static linking */
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)
122
123/* asm functions */
124#define CVKernel1 STATNAME(CVKernel1)
125#define CVKernel2 STATNAME(CVKernel2)
126#define QMFAnalysisConv STATNAME(QMFAnalysisConv)
127#define QMFSynthesisConv STATNAME(QMFSynthesisConv)
128
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)
138
139/* do y <<= n, clipping to range [-2^30, 2^30 - 1] (i.e. output has one guard bit) */
140#define CLIP_2N_SHIFT30(y, n) { \
141 int sign = (y) >> 31; \
142 if (sign != (y) >> (30 - (n))) { \
143 (y) = sign ^ (0x3fffffff); \
144 } else { \
145 (y) = (y) << (n); \
146 } \
147}
148
149/*
150#define CLIP_2N(y, n) { \
151 int sign = (y) >> 31; \
152 if (sign != ((y) >> (n))) { \
153 (y) = sign ^ ((1 << (n)) - 1); \
154 } \
155}
156*/
157
158enum {
164
165enum {
179
180typedef struct _HuffInfo {
181 int maxBits; /* number of bits in longest codeword */
182 unsigned /*char*/ int count[MAX_HUFF_BITS]; /* count[i] = number of codes with length i+1 bits */
183 int offset; /* offset into symbol table */
185
186/* need one SBRHeader per element (SCE/CPE), updated only on new header */
187typedef struct _SBRHeader {
188 int count;
189
190 unsigned char ampRes;
191 unsigned char startFreq;
192 unsigned char stopFreq;
193 unsigned char crossOverBand;
194 unsigned char resBitsHdr;
195 unsigned char hdrExtra1;
196 unsigned char hdrExtra2;
197
198 unsigned char freqScale;
199 unsigned char alterScale;
200 unsigned char noiseBands;
201
202 unsigned char limiterBands;
203 unsigned char limiterGains;
204 unsigned char interpFreq;
205 unsigned char smoothMode;
207
208/* need one SBRGrid per channel, updated every frame */
209typedef struct _SBRGrid {
210 unsigned char frameClass;
211 unsigned char ampResFrame;
212 unsigned char pointer;
213
214 unsigned char numEnv; /* L_E */
215 unsigned char envTimeBorder[MAX_NUM_ENV+1]; /* t_E */
216 unsigned char freqRes[MAX_NUM_ENV]; /* r */
217
218 unsigned char numNoiseFloors; /* L_Q */
219 unsigned char noiseTimeBorder[MAX_NUM_NOISE_FLOORS+1]; /* t_Q */
220
221 unsigned char numEnvPrev;
222 unsigned char numNoiseFloorsPrev;
223 unsigned char freqResPrev;
225
226/* need one SBRFreq per element (SCE/CPE/LFE), updated only on header reset */
227typedef struct _SBRFreq {
228 int kStart; /* k_x */
230 int nHigh;
231 int nLow;
232 int nLimiter; /* N_l */
233 int numQMFBands; /* M */
234 int numNoiseFloorBands; /* Nq */
235
238
239 unsigned char freqMaster[MAX_QMF_BANDS + 1]; /* not necessary to save this after derived tables are generated */
240 unsigned char freqHigh[MAX_QMF_BANDS + 1];
241 unsigned char freqLow[MAX_QMF_BANDS / 2 + 1]; /* nLow = nHigh - (nHigh >> 1) */
243 unsigned char freqLimiter[MAX_QMF_BANDS / 2 + MAX_NUM_PATCHES]; /* max (intermediate) size = nLow + numPatches - 1 */
244
245 unsigned char numPatches;
249
250typedef struct _SBRChan {
251 int reset;
252 unsigned char deltaFlagEnv[MAX_NUM_ENV];
254
255 signed char envDataQuant[MAX_NUM_ENV][MAX_QMF_BANDS]; /* range = [0, 127] */
257
258 unsigned char invfMode[2][MAX_NUM_NOISE_FLOOR_BANDS]; /* invfMode[0/1][band] = prev/curr */
260 unsigned char addHarmonicFlag[2]; /* addHarmonicFlag[0/1] = prev/curr */
261 unsigned char addHarmonic[2][64]; /* addHarmonic[0/1][band] = prev/curr */
262
263 int gbMask[2]; /* gbMask[0/1] = XBuf[0-31]/XBuf[32-39] */
264 signed char laPrev;
265
271
273
274typedef struct _PSInfoSBR {
275 /* save for entire file */
278
279 /* state info that must be saved for each channel */
284
285 /* temp variables, no need to save between blocks */
286 unsigned char dataExtra;
287 unsigned char resBitsData;
288 unsigned char extendedDataPresent;
290
294
296 unsigned char eCurrExp[MAX_QMF_BANDS];
297 unsigned char eCurrExpMax;
298 signed char la;
299
310 int sBand;
312
315 int sumSM;
316 int sumQM;
320
325
328
329 /* large buffers */
335 int XBuf[32+8][64][2];
336
338
339/* sbrfft.c */
340void FFT32C(int *x);
341
342/* sbrfreq.c */
343int CalcFreqTables(SBRHeader *sbrHdr, SBRFreq *sbrFreq, int sampRateIdx);
344
345/* sbrhfadj.c */
346void AdjustHighFreq(PSInfoSBR *psi, SBRHeader *sbrHdr, SBRGrid *sbrGrid, SBRFreq *sbrFreq, SBRChan *sbrChan, int ch);
347
348/* sbrhfgen.c */
349void GenerateHighFreq(PSInfoSBR *psi, SBRGrid *sbrGrid, SBRFreq *sbrFreq, SBRChan *sbrChan, int ch);
350
351/* sbrhuff.c */
352void DecodeSBREnvelope(BitStreamInfo *bsi, PSInfoSBR *psi, SBRGrid *sbrGrid, SBRFreq *sbrFreq, SBRChan *sbrChan, int ch);
353void DecodeSBRNoise(BitStreamInfo *bsi, PSInfoSBR *psi, SBRGrid *sbrGrid, SBRFreq *sbrFreq, SBRChan *sbrChan, int ch);
354void UncoupleSBREnvelope(PSInfoSBR *psi, SBRGrid *sbrGrid, SBRFreq *sbrFreq, SBRChan *sbrChanR);
355void UncoupleSBRNoise(PSInfoSBR *psi, SBRGrid *sbrGrid, SBRFreq *sbrFreq, SBRChan *sbrChanR);
356
357/* sbrmath.c */
358int InvRNormalized(int r);
359int RatioPowInv(int a, int b, int c);
360int SqrtFix(int x, int fBitsIn, int *fBitsOut);
361
362/* sbrqmf.c */
363int QMFAnalysis(int *inbuf, int *delay, int *XBuf, int fBitsIn, int *delayIdx, int qmfaBands);
364void QMFSynthesis(int *inbuf, int *delay, int *delayIdx, int qmfsBands, short *outbuf, int nChans);
365
366/* sbrside.c */
367int GetSampRateIdx(int sampRate);
368int UnpackSBRHeader(BitStreamInfo *bsi, SBRHeader *sbrHdr);
369void UnpackSBRSingleChannel(BitStreamInfo *bsi, PSInfoSBR *psi, int chOut);
370void UnpackSBRChannelPair(BitStreamInfo *bsi, PSInfoSBR *psi, int chOut);
371
372/* sbrtabs.c */
373extern const unsigned char k0Tab[NUM_SAMPLE_RATES_SBR][16];
374extern const unsigned char k2Tab[NUM_SAMPLE_RATES_SBR][14];
375extern const unsigned char goalSBTab[NUM_SAMPLE_RATES_SBR];
376extern const HuffInfo huffTabSBRInfo[10];
377extern const signed int /*short*/ huffTabSBR[604];
378extern const int log2Tab[65];
379extern const int noiseTab[512*2];
380extern const int cTabA[165];
381extern const int cTabS[640];
382
383#endif /* _SBR_H */
size_t a
Definition main.cpp:156
size_t b
Definition main.cpp:156
#define MAX_NCHANS_ELEM
Definition aaccommon.h:76
#define AAC_MAX_NCHANS
Definition aacdec.h:95
struct _SBRChan SBRChan
@ HuffTabSBR_fEnv30
Definition sbr.h:171
@ HuffTabSBR_tNoise30
Definition sbr.h:174
@ HuffTabSBR_fEnv30b
Definition sbr.h:173
@ HuffTabSBR_tEnv30b
Definition sbr.h:172
@ HuffTabSBR_fEnv15b
Definition sbr.h:169
@ HuffTabSBR_tEnv15
Definition sbr.h:166
@ HuffTabSBR_fEnv15
Definition sbr.h:167
@ HuffTabSBR_fNoise30
Definition sbr.h:175
@ HuffTabSBR_tNoise30b
Definition sbr.h:176
@ HuffTabSBR_tEnv15b
Definition sbr.h:168
@ HuffTabSBR_tEnv30
Definition sbr.h:170
@ HuffTabSBR_fNoise30b
Definition sbr.h:177
#define k0Tab
Definition sbr.h:129
#define FFT32C
Definition sbr.h:105
#define UncoupleSBREnvelope
Definition sbr.h:111
#define MAX_QMF_BANDS
Definition sbr.h:81
#define CalcFreqTables
Definition sbr.h:106
#define huffTabSBR
Definition sbr.h:132
#define k2Tab
Definition sbr.h:130
#define QMFAnalysis
Definition sbr.h:116
struct _SBRFreq SBRFreq
@ SBR_GRID_VARVAR
Definition sbr.h:162
@ SBR_GRID_VARFIX
Definition sbr.h:161
@ SBR_GRID_FIXVAR
Definition sbr.h:160
@ SBR_GRID_FIXFIX
Definition sbr.h:159
#define DecodeSBRNoise
Definition sbr.h:110
#define RatioPowInv
Definition sbr.h:114
#define DELAY_SAMPS_QMFA
Definition sbr.h:101
#define InvRNormalized
Definition sbr.h:113
struct _SBRGrid SBRGrid
#define UncoupleSBRNoise
Definition sbr.h:112
#define MAX_NUM_NOISE_FLOORS
Definition sbr.h:73
#define cTabS
Definition sbr.h:137
#define NUM_SAMPLE_RATES_SBR
Definition sbr.h:70
#define UnpackSBRSingleChannel
Definition sbr.h:120
#define MAX_NUM_PATCHES
Definition sbr.h:75
#define DecodeSBREnvelope
Definition sbr.h:109
#define goalSBTab
Definition sbr.h:131
#define QMFSynthesis
Definition sbr.h:117
#define UnpackSBRHeader
Definition sbr.h:119
#define GetSampRateIdx
Definition sbr.h:118
#define noiseTab
Definition sbr.h:135
#define log2Tab
Definition sbr.h:134
#define MAX_NUM_ENV
Definition sbr.h:72
#define SqrtFix
Definition sbr.h:115
#define AdjustHighFreq
Definition sbr.h:107
#define cTabA
Definition sbr.h:136
#define MAX_NUM_NOISE_FLOOR_BANDS
Definition sbr.h:74
#define MAX_HUFF_BITS
Definition sbr.h:99
#define GenerateHighFreq
Definition sbr.h:108
#define huffTabSBRInfo
Definition sbr.h:133
#define HF_GEN
Definition sbr.h:78
struct _HuffInfo HuffInfo
#define MAX_NUM_SMOOTH_COEFS
Definition sbr.h:76
struct _SBRHeader SBRHeader
#define UnpackSBRChannelPair
Definition sbr.h:121
#define DELAY_SAMPS_QMFS
Definition sbr.h:102
struct _PSInfoSBR PSInfoSBR
Definition bitstream.h:59
Definition coder.h:157
int maxBits
Definition coder.h:158
int offset
Definition coder.h:160
unsigned int count[MAX_HUFF_BITS]
Definition coder.h:159
Definition sbr.h:274
int XBufDelay[AAC_MAX_NCHANS][HF_GEN][64][2]
Definition sbr.h:334
int couplingFlag
Definition sbr.h:301
int delayQMFA[AAC_MAX_NCHANS][DELAY_SAMPS_QMFA]
Definition sbr.h:331
SBRHeader sbrHdr[AAC_MAX_NCHANS]
Definition sbr.h:280
int gLimFbits[MAX_QMF_BANDS]
Definition sbr.h:324
int qmLimBoost[MAX_QMF_BANDS]
Definition sbr.h:318
int envDataDequant[MAX_NCHANS_ELEM][MAX_NUM_ENV][MAX_QMF_BANDS]
Definition sbr.h:292
int gainMax
Definition sbr.h:304
int XBuf[32+8][64][2]
Definition sbr.h:335
int envBand
Definition sbr.h:302
SBRChan sbrChan[AAC_MAX_NCHANS]
Definition sbr.h:283
int delayQMFS[AAC_MAX_NCHANS][DELAY_SAMPS_QMFS]
Definition sbr.h:333
int smBuf[MAX_QMF_BANDS]
Definition sbr.h:321
int sMapped
Definition sbr.h:309
unsigned char dataExtra
Definition sbr.h:286
int gFiltLast[MAX_QMF_BANDS]
Definition sbr.h:326
int sBand
Definition sbr.h:310
int sumQM
Definition sbr.h:316
int sumECurrGLim
Definition sbr.h:314
SBRFreq sbrFreq[AAC_MAX_NCHANS]
Definition sbr.h:282
int gLimBoost[MAX_QMF_BANDS]
Definition sbr.h:317
int qqp1Inv
Definition sbr.h:308
int noiseDataDequant[MAX_NCHANS_ELEM][MAX_NUM_NOISE_FLOORS][MAX_NUM_NOISE_FLOOR_BANDS]
Definition sbr.h:293
int delayIdxQMFS[AAC_MAX_NCHANS]
Definition sbr.h:332
unsigned char eCurrExp[MAX_QMF_BANDS]
Definition sbr.h:296
int sumEOrigMapped
Definition sbr.h:313
int delayIdxQMFA[AAC_MAX_NCHANS]
Definition sbr.h:330
signed char envDataDequantScale[MAX_NCHANS_ELEM][MAX_NUM_ENV]
Definition sbr.h:291
int gLimBuf[MAX_QMF_BANDS]
Definition sbr.h:323
int gainMaxFBits
Definition sbr.h:305
int extendedDataSize
Definition sbr.h:289
unsigned char eCurrExpMax
Definition sbr.h:297
int eCurr[MAX_QMF_BANDS]
Definition sbr.h:295
unsigned char resBitsData
Definition sbr.h:287
int qFiltLast[MAX_QMF_BANDS]
Definition sbr.h:327
signed char la
Definition sbr.h:298
SBRGrid sbrGrid[AAC_MAX_NCHANS]
Definition sbr.h:281
int smBoost[MAX_QMF_BANDS]
Definition sbr.h:319
unsigned char extendedDataPresent
Definition sbr.h:288
int highBand
Definition sbr.h:311
int eOMGainMax
Definition sbr.h:303
int qmLimBuf[MAX_QMF_BANDS]
Definition sbr.h:322
int crcCheckWord
Definition sbr.h:300
int sampRateIdx
Definition sbr.h:277
int sumSM
Definition sbr.h:315
int frameCount
Definition sbr.h:276
int noiseFloorBand
Definition sbr.h:306
int qp1Inv
Definition sbr.h:307
Definition sbr.h:250
int reset
Definition sbr.h:251
int gainNoiseIndex
Definition sbr.h:268
unsigned char addHarmonicFlag[2]
Definition sbr.h:260
int gbMask[2]
Definition sbr.h:263
unsigned char invfMode[2][MAX_NUM_NOISE_FLOOR_BANDS]
Definition sbr.h:258
unsigned char deltaFlagEnv[MAX_NUM_ENV]
Definition sbr.h:252
int gTemp[MAX_NUM_SMOOTH_COEFS][MAX_QMF_BANDS]
Definition sbr.h:269
signed char laPrev
Definition sbr.h:264
signed char envDataQuant[MAX_NUM_ENV][MAX_QMF_BANDS]
Definition sbr.h:255
int sinIndex
Definition sbr.h:267
int qTemp[MAX_NUM_SMOOTH_COEFS][MAX_QMF_BANDS]
Definition sbr.h:270
signed char noiseDataQuant[MAX_NUM_NOISE_FLOORS][MAX_NUM_NOISE_FLOOR_BANDS]
Definition sbr.h:256
int noiseTabIndex
Definition sbr.h:266
int chirpFact[MAX_NUM_NOISE_FLOOR_BANDS]
Definition sbr.h:259
unsigned char deltaFlagNoise[MAX_NUM_NOISE_FLOORS]
Definition sbr.h:253
unsigned char addHarmonic[2][64]
Definition sbr.h:261
Definition sbr.h:227
int nLow
Definition sbr.h:231
unsigned char freqLow[MAX_QMF_BANDS/2+1]
Definition sbr.h:241
unsigned char freqMaster[MAX_QMF_BANDS+1]
Definition sbr.h:239
unsigned char patchNumSubbands[MAX_NUM_PATCHES+1]
Definition sbr.h:246
int numQMFBands
Definition sbr.h:233
int numQMFBandsPrev
Definition sbr.h:237
unsigned char numPatches
Definition sbr.h:245
unsigned char freqLimiter[MAX_QMF_BANDS/2+MAX_NUM_PATCHES]
Definition sbr.h:243
int nMaster
Definition sbr.h:229
int nLimiter
Definition sbr.h:232
unsigned char freqHigh[MAX_QMF_BANDS+1]
Definition sbr.h:240
int numNoiseFloorBands
Definition sbr.h:234
int kStart
Definition sbr.h:228
unsigned char patchStartSubband[MAX_NUM_PATCHES+1]
Definition sbr.h:247
int kStartPrev
Definition sbr.h:236
int nHigh
Definition sbr.h:230
unsigned char freqNoise[MAX_NUM_NOISE_FLOOR_BANDS+1]
Definition sbr.h:242
Definition sbr.h:209
unsigned char freqResPrev
Definition sbr.h:223
unsigned char numNoiseFloorsPrev
Definition sbr.h:222
unsigned char numEnvPrev
Definition sbr.h:221
unsigned char ampResFrame
Definition sbr.h:211
unsigned char envTimeBorder[MAX_NUM_ENV+1]
Definition sbr.h:215
unsigned char numEnv
Definition sbr.h:214
unsigned char frameClass
Definition sbr.h:210
unsigned char pointer
Definition sbr.h:212
unsigned char noiseTimeBorder[MAX_NUM_NOISE_FLOORS+1]
Definition sbr.h:219
unsigned char freqRes[MAX_NUM_ENV]
Definition sbr.h:216
unsigned char numNoiseFloors
Definition sbr.h:218
Definition sbr.h:187
unsigned char interpFreq
Definition sbr.h:204
unsigned char smoothMode
Definition sbr.h:205
unsigned char resBitsHdr
Definition sbr.h:194
int count
Definition sbr.h:188
unsigned char stopFreq
Definition sbr.h:192
unsigned char alterScale
Definition sbr.h:199
unsigned char crossOverBand
Definition sbr.h:193
unsigned char limiterGains
Definition sbr.h:203
unsigned char startFreq
Definition sbr.h:191
unsigned char ampRes
Definition sbr.h:190
unsigned char noiseBands
Definition sbr.h:200
unsigned char hdrExtra2
Definition sbr.h:196
unsigned char hdrExtra1
Definition sbr.h:195
unsigned char freqScale
Definition sbr.h:198
unsigned char limiterBands
Definition sbr.h:202