XenevaOS
Loading...
Searching...
No Matches
coder.h
Go to the documentation of this file.
1/* ***** BEGIN LICENSE BLOCK *****
2 * Source last modified: $Id: coder.h,v 1.2 2005/06/27 21:06:00 gwright 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 * coder.h - definitions of platform-specific data structures, functions, and tables
44 **************************************************************************************/
45
46#ifndef _CODER_H
47#define _CODER_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 NWINDOWS_LONG 1
69#define NWINDOWS_SHORT 8
70
71#define DATA_BUF_SIZE 510 /* max count = 255 + 255 */
72#define FILL_BUF_SIZE 269 /* max count = 15 + 255 - 1*/
73#define ADIF_COPYID_SIZE 9
74#define MAX_COMMENT_BYTES 255
75
76#define MAX_NUM_FCE 15
77#define MAX_NUM_SCE 15
78#define MAX_NUM_BCE 15
79#define MAX_NUM_LCE 3
80#define MAX_NUM_ADE 7
81#define MAX_NUM_CCE 15
82
83#define CHAN_ELEM_IS_CPE(x) (((x) & 0x10) >> 4) /* bit 4 = SCE/CPE flag */
84#define CHAN_ELEM_GET_TAG(x) (((x) & 0x0f) >> 0) /* bits 3-0 = instance tag */
85
86#define CHAN_ELEM_SET_CPE(x) (((x) & 0x01) << 4) /* bit 4 = SCE/CPE flag */
87#define CHAN_ELEM_SET_TAG(x) (((x) & 0x0f) << 0) /* bits 3-0 = instance tag */
88
89#define MAX_HUFF_BITS 20
90#define HUFFTAB_SPEC_OFFSET 1
91
92/* do y <<= n, clipping to range [-2^30, 2^30 - 1] (i.e. output has one guard bit) */
93/*
94#define CLIP_2N_SHIFT(y, n) { \
95 int sign = (y) >> 31; \
96 if (sign != (y) >> (30 - (n))) { \
97 (y) = sign ^ (0x3fffffff); \
98 } else { \
99 (y) = (y) << (n); \
100 } \
101 }
102*/
103/* clip to [-2^n, 2^n-1], valid range of n = [1, 30] */
104/*
105#define CLIP_2N(val, n) { \
106 if ((val) >> 31 != (val) >> (n)) \
107 (val) = ((val) >> 31) ^ ((1 << (n)) - 1); \
108 }
109*/
110
111
112#define SF_DQ_OFFSET 15
113#define FBITS_OUT_DQ 20
114#define FBITS_OUT_DQ_OFF (FBITS_OUT_DQ - SF_DQ_OFFSET) /* number of fraction bits out of dequant, including 2^15 bias */
115
116#define FBITS_IN_IMDCT FBITS_OUT_DQ_OFF /* number of fraction bits into IMDCT */
117#define GBITS_IN_DCT4 4 /* min guard bits in for DCT4 */
118
119#define FBITS_LOST_DCT4 1 /* number of fraction bits lost (>> out) in DCT-IV */
120#define FBITS_LOST_WND 1 /* number of fraction bits lost (>> out) in synthesis window (neg = gain frac bits) */
121#define FBITS_LOST_IMDCT (FBITS_LOST_DCT4 + FBITS_LOST_WND)
122#define FBITS_OUT_IMDCT (FBITS_IN_IMDCT - FBITS_LOST_IMDCT)
123
124#define NUM_IMDCT_SIZES 2
125
126/* additional external symbols to name-mangle for static linking */
127#define DecodeProgramConfigElement STATNAME(DecodeProgramConfigElement)
128#define DecodeHuffmanScalar STATNAME(DecodeHuffmanScalar)
129#define DecodeSpectrumLong STATNAME(DecodeSpectrumLong)
130#define DecodeSpectrumShort STATNAME(DecodeSpectrumShort)
131#define DecodeICSInfo STATNAME(DecodeICSInfo)
132#define DCT4 STATNAME(DCT4)
133#define R4FFT STATNAME(R4FFT)
134
135#define DecWindowOverlapNoClip STATNAME(DecWindowOverlapNoClip)
136#define DecWindowOverlapLongStartNoClip STATNAME(DecWindowOverlapLongStartNoClip)
137#define DecWindowOverlapLongStopNoClip STATNAME(DecWindowOverlapLongStopNoClip)
138#define DecWindowOverlapShortNoClip STATNAME(DecWindowOverlapShortNoClip)
139
140#define huffTabSpecInfo STATNAME(huffTabSpecInfo)
141#define huffTabSpec STATNAME(huffTabSpec)
142#define huffTabScaleFactInfo STATNAME(huffTabScaleFactInfo)
143#define huffTabScaleFact STATNAME(huffTabScaleFact)
144#define cos4sin4tab STATNAME(cos4sin4tab)
145#define cos4sin4tabOffset STATNAME(cos4sin4tabOffset)
146#define cos1sin1tab STATNAME(cos1sin1tab)
147#define sinWindow STATNAME(sinWindow)
148#define sinWindowOffset STATNAME(sinWindowOffset)
149#define kbdWindow STATNAME(kbdWindow)
150#define kbdWindowOffset STATNAME(kbdWindowOffset)
151#define bitrevtab STATNAME(bitrevtab)
152#define bitrevtabOffset STATNAME(bitrevtabOffset)
153#define uniqueIDTab STATNAME(uniqueIDTab)
154#define twidTabEven STATNAME(twidTabEven)
155#define twidTabOdd STATNAME(twidTabOdd)
156
157typedef struct _HuffInfo {
158 int maxBits; /* number of bits in longest codeword */
159 unsigned /*char*/ int count[MAX_HUFF_BITS]; /* count[i] = number of codes with length i+1 bits */
160 int offset; /* offset into symbol table */
162
163typedef struct _PulseInfo {
164 unsigned char pulseDataPresent;
165 unsigned char numPulse;
166 unsigned char startSFB;
167 unsigned char offset[MAX_PULSES];
168 unsigned char amp[MAX_PULSES];
170
171typedef struct _TNSInfo {
172 unsigned char tnsDataPresent;
173 unsigned char numFilt[MAX_TNS_FILTERS]; /* max 1 filter each for 8 short windows, or 3 filters for 1 long window */
174 unsigned char coefRes[MAX_TNS_FILTERS];
175 unsigned char length[MAX_TNS_FILTERS];
176 unsigned char order[MAX_TNS_FILTERS];
177 unsigned char dir[MAX_TNS_FILTERS];
178 signed char coef[MAX_TNS_COEFS]; /* max 3 filters * 20 coefs for 1 long window, or 1 filter * 7 coefs for each of 8 short windows */
180
188
189typedef struct _ICSInfo {
190 unsigned char icsResBit;
191 unsigned char winSequence;
192 unsigned char winShape;
193 unsigned char maxSFB;
194 unsigned char sfGroup;
195 unsigned char predictorDataPresent;
196 unsigned char predictorReset;
199 unsigned char numWinGroup;
202
203typedef struct _ADTSHeader {
204 /* fixed */
205 unsigned char id; /* MPEG bit - should be 1 */
206 unsigned char layer; /* MPEG layer - should be 0 */
207 unsigned char protectBit; /* 0 = CRC word follows, 1 = no CRC word */
208 unsigned char profile; /* 0 = main, 1 = LC, 2 = SSR, 3 = reserved */
209 unsigned char sampRateIdx; /* sample rate index range = [0, 11] */
210 unsigned char privateBit; /* ignore */
211 unsigned char channelConfig; /* 0 = implicit, >0 = use default table */
212 unsigned char origCopy; /* 0 = copy, 1 = original */
213 unsigned char home; /* ignore */
214
215 /* variable */
216 unsigned char copyBit; /* 1 bit of the 72-bit copyright ID (transmitted as 1 bit per frame) */
217 unsigned char copyStart; /* 1 = this bit starts the 72-bit ID, 0 = it does not */
218 int frameLength; /* length of frame */
219 int bufferFull; /* number of 32-bit words left in enc buffer, 0x7FF = VBR */
220 unsigned char numRawDataBlocks; /* number of raw data blocks in frame */
221
222 /* CRC */
223 int crcCheckWord; /* 16-bit CRC check word (present if protectBit == 0) */
225
226typedef struct _ADIFHeader {
227 unsigned char copyBit; /* 0 = no copyright ID, 1 = 72-bit copyright ID follows immediately */
228 unsigned char origCopy; /* 0 = copy, 1 = original */
229 unsigned char home; /* ignore */
230 unsigned char bsType; /* bitstream type: 0 = CBR, 1 = VBR */
231 int bitRate; /* bitRate: CBR = bits/sec, VBR = peak bits/frame, 0 = unknown */
232 unsigned char numPCE; /* number of program config elements (max = 16) */
233 int bufferFull; /* bits left in bit reservoir */
234 unsigned char copyID[ADIF_COPYID_SIZE]; /* optional 72-bit copyright ID */
236
237/* sizeof(ProgConfigElement) = 82 bytes (if KEEP_PCE_COMMENTS not defined) */
238typedef struct _ProgConfigElement {
239 unsigned char elemInstTag; /* element instance tag */
240 unsigned char profile; /* 0 = main, 1 = LC, 2 = SSR, 3 = reserved */
241 unsigned char sampRateIdx; /* sample rate index range = [0, 11] */
242 unsigned char numFCE; /* number of front channel elements (max = 15) */
243 unsigned char numSCE; /* number of side channel elements (max = 15) */
244 unsigned char numBCE; /* number of back channel elements (max = 15) */
245 unsigned char numLCE; /* number of LFE channel elements (max = 3) */
246 unsigned char numADE; /* number of associated data elements (max = 7) */
247 unsigned char numCCE; /* number of valid channel coupling elements (max = 15) */
248 unsigned char monoMixdown; /* mono mixdown: bit 4 = present flag, bits 3-0 = element number */
249 unsigned char stereoMixdown; /* stereo mixdown: bit 4 = present flag, bits 3-0 = element number */
250 unsigned char matrixMixdown; /* matrix mixdown: bit 4 = present flag, bit 3 = unused,
251 bits 2-1 = index, bit 0 = pseudo-surround enable */
252 unsigned char fce[MAX_NUM_FCE]; /* front element channel pair: bit 4 = SCE/CPE flag, bits 3-0 = inst tag */
253 unsigned char sce[MAX_NUM_SCE]; /* side element channel pair: bit 4 = SCE/CPE flag, bits 3-0 = inst tag */
254 unsigned char bce[MAX_NUM_BCE]; /* back element channel pair: bit 4 = SCE/CPE flag, bits 3-0 = inst tag */
255 unsigned char lce[MAX_NUM_LCE]; /* instance tag for LFE elements */
256 unsigned char ade[MAX_NUM_ADE]; /* instance tag for ADE elements */
257 unsigned char cce[MAX_NUM_BCE]; /* channel coupling elements: bit 4 = switching flag, bits 3-0 = inst tag */
258
259#ifdef KEEP_PCE_COMMENTS
260 /* make this optional - if not enabled, decoder will just skip comments */
261 unsigned char commentBytes;
262 unsigned char commentField[MAX_COMMENT_BYTES];
263#endif
264
266
267/* state info struct for baseline (MPEG-4 LC) decoding */
268typedef struct _PSInfoBase {
269 /* header information */
274 unsigned char dataBuf[DATA_BUF_SIZE];
276 unsigned char fillBuf[FILL_BUF_SIZE];
277
278 /* state information which is the same throughout whole frame */
282
283 /* state information which can be overwritten by subsequent elements within frame */
285
289
292
296
298
302
304
307#ifdef AAC_ENABLE_SBR
309#endif
310 /* state information which must be saved for each element and used in next frame */
313
315
316/* private implementation-specific functions */
317
318/* decelmnt.c */
320
321/* huffman.c */
322int DecodeHuffmanScalar(const signed short *huffTab, const HuffInfo *huffTabInfo, unsigned int bitBuf, signed int *val);
323void DecodeSpectrumLong(PSInfoBase *psi, BitStreamInfo *bsi, int ch);
324void DecodeSpectrumShort(PSInfoBase *psi, BitStreamInfo *bsi, int ch);
325
326/* noiseless.c */
327void DecodeICSInfo(BitStreamInfo *bsi, ICSInfo *icsInfo, int sampRateIdx);
328
329/* dct4.c */
330void DCT4(int tabidx, int *coef, int gb);
331
332/* fft.c */
333void R4FFT(int tabidx, int *x);
334
335/* sbrimdct.c */
336void DecWindowOverlapNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
337void DecWindowOverlapLongStartNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
338void DecWindowOverlapLongStopNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
339void DecWindowOverlapShortNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
340
341/* hufftabs.c */
342extern const HuffInfo huffTabSpecInfo[11];
343extern const signed short huffTabSpec[1241];
344extern const HuffInfo huffTabScaleFactInfo;
345extern const signed short huffTabScaleFact[121];
346
347/* trigtabs.c */
348extern const int cos4sin4tabOffset[NUM_IMDCT_SIZES];
349extern const int sinWindowOffset[NUM_IMDCT_SIZES];
350extern const int kbdWindowOffset[NUM_IMDCT_SIZES];
351extern const unsigned char bitrevtab[17 + 129];
352extern const int bitrevtabOffset[NUM_IMDCT_SIZES];
353
354#ifdef HELIX_CONFIG_AAC_GENERATE_TRIGTABS_FLOAT
355/* trigtabs_fltgen.c */
356extern int cos4sin4tab[128 + 1024];
357extern int cos1sin1tab[514];
358extern int sinWindow[128 + 1024];
359extern int kbdWindow[128 + 1024];
360extern int twidTabEven[4*6 + 16*6 + 64*6];
361extern int twidTabOdd[8*6 + 32*6 + 128*6];
362#else
363/* trigtabs.c */
364extern const int cos4sin4tab[128 + 1024];
365extern const int cos1sin1tab[514];
366extern const int sinWindow[128 + 1024];
367extern const int kbdWindow[128 + 1024];
368extern const int twidTabEven[4*6 + 16*6 + 64*6];
369extern const int twidTabOdd[8*6 + 32*6 + 128*6];
370#endif
371
372#endif /* _CODER_H */
373
#define MAX_GAIN_BANDS
Definition aaccommon.h:93
#define MAX_TNS_FILTERS
Definition aaccommon.h:89
#define MAX_PRED_SFB
Definition aaccommon.h:88
#define MAX_NUM_PCE_ADIF
Definition aaccommon.h:82
#define MAX_NCHANS_ELEM
Definition aaccommon.h:76
#define MAX_TNS_COEFS
Definition aaccommon.h:90
#define MAX_WIN_GROUPS
Definition aaccommon.h:84
#define MAX_MS_MASK_BYTES
Definition aaccommon.h:87
#define MAX_SF_BANDS
Definition aaccommon.h:86
#define MAX_PULSES
Definition aaccommon.h:92
#define MAX_GAIN_WIN
Definition aaccommon.h:94
#define MAX_TNS_ORDER
Definition aaccommon.h:91
#define MAX_GAIN_ADJUST
Definition aaccommon.h:95
#define AAC_MAX_NSAMPS
Definition aacdec.h:97
#define AAC_MAX_NCHANS
Definition aacdec.h:95
#define DecodeICSInfo
Definition coder.h:131
#define DecWindowOverlapShortNoClip
Definition coder.h:138
#define NUM_IMDCT_SIZES
Definition coder.h:124
#define huffTabSpecInfo
Definition coder.h:140
struct _GainControlInfo GainControlInfo
#define DecodeHuffmanScalar
Definition coder.h:128
#define R4FFT
Definition coder.h:133
#define DCT4
Definition coder.h:132
#define DecodeSpectrumShort
Definition coder.h:130
#define sinWindowOffset
Definition coder.h:148
#define cos4sin4tab
Definition coder.h:144
#define cos1sin1tab
Definition coder.h:146
#define FILL_BUF_SIZE
Definition coder.h:72
#define bitrevtabOffset
Definition coder.h:152
struct _PulseInfo PulseInfo
#define MAX_NUM_BCE
Definition coder.h:78
#define huffTabSpec
Definition coder.h:141
#define DATA_BUF_SIZE
Definition coder.h:71
#define twidTabEven
Definition coder.h:154
#define DecWindowOverlapLongStartNoClip
Definition coder.h:136
#define kbdWindow
Definition coder.h:149
#define DecWindowOverlapLongStopNoClip
Definition coder.h:137
#define MAX_NUM_LCE
Definition coder.h:79
#define MAX_NUM_ADE
Definition coder.h:80
#define kbdWindowOffset
Definition coder.h:150
#define huffTabScaleFact
Definition coder.h:143
struct _ADIFHeader ADIFHeader
#define MAX_NUM_FCE
Definition coder.h:76
struct _ICSInfo ICSInfo
#define DecodeProgramConfigElement
Definition coder.h:127
struct _ADTSHeader ADTSHeader
#define twidTabOdd
Definition coder.h:155
#define cos4sin4tabOffset
Definition coder.h:145
#define MAX_COMMENT_BYTES
Definition coder.h:74
#define DecodeSpectrumLong
Definition coder.h:129
#define huffTabScaleFactInfo
Definition coder.h:142
struct _TNSInfo TNSInfo
struct _ProgConfigElement ProgConfigElement
struct _PSInfoBase PSInfoBase
struct _HuffInfo HuffInfo
#define MAX_NUM_SCE
Definition coder.h:77
#define bitrevtab
Definition coder.h:151
#define ADIF_COPYID_SIZE
Definition coder.h:73
#define sinWindow
Definition coder.h:147
#define DecWindowOverlapNoClip
Definition coder.h:135
#define MAX_HUFF_BITS
Definition sbr.h:99
Definition coder.h:226
unsigned char numPCE
Definition coder.h:232
int bitRate
Definition coder.h:231
int bufferFull
Definition coder.h:233
unsigned char home
Definition coder.h:229
unsigned char copyBit
Definition coder.h:227
unsigned char origCopy
Definition coder.h:228
unsigned char bsType
Definition coder.h:230
unsigned char copyID[ADIF_COPYID_SIZE]
Definition coder.h:234
Definition coder.h:203
int frameLength
Definition coder.h:218
unsigned char profile
Definition coder.h:208
unsigned char home
Definition coder.h:213
unsigned char copyStart
Definition coder.h:217
unsigned char layer
Definition coder.h:206
unsigned char origCopy
Definition coder.h:212
unsigned char numRawDataBlocks
Definition coder.h:220
int crcCheckWord
Definition coder.h:223
unsigned char copyBit
Definition coder.h:216
int bufferFull
Definition coder.h:219
unsigned char channelConfig
Definition coder.h:211
unsigned char sampRateIdx
Definition coder.h:209
unsigned char privateBit
Definition coder.h:210
unsigned char id
Definition coder.h:205
unsigned char protectBit
Definition coder.h:207
Definition bitstream.h:59
Definition coder.h:181
unsigned char adjNum[MAX_GAIN_BANDS][MAX_GAIN_WIN]
Definition coder.h:184
unsigned char gainControlDataPresent
Definition coder.h:182
unsigned char maxBand
Definition coder.h:183
unsigned char alocCode[MAX_GAIN_BANDS][MAX_GAIN_WIN][MAX_GAIN_ADJUST]
Definition coder.h:186
unsigned char alevCode[MAX_GAIN_BANDS][MAX_GAIN_WIN][MAX_GAIN_ADJUST]
Definition coder.h:185
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 coder.h:189
unsigned char predictionUsed[MAX_PRED_SFB]
Definition coder.h:198
unsigned char winSequence
Definition coder.h:191
unsigned char sfGroup
Definition coder.h:194
unsigned char maxSFB
Definition coder.h:193
unsigned char predictorDataPresent
Definition coder.h:195
unsigned char predictorReset
Definition coder.h:196
unsigned char icsResBit
Definition coder.h:190
unsigned char numWinGroup
Definition coder.h:199
unsigned char winShape
Definition coder.h:192
unsigned char winGroupLen[MAX_WIN_GROUPS]
Definition coder.h:200
unsigned char predictorResetGroupNum
Definition coder.h:197
Definition coder.h:268
int nChans
Definition coder.h:279
int sbrWorkBuf[MAX_NCHANS_ELEM][AAC_MAX_NSAMPS]
Definition coder.h:308
unsigned char dataBuf[DATA_BUF_SIZE]
Definition coder.h:274
TNSInfo tnsInfo[MAX_NCHANS_ELEM]
Definition coder.h:299
int fillCount
Definition coder.h:275
unsigned char sfbCodeBook[MAX_NCHANS_ELEM][MAX_SF_BANDS]
Definition coder.h:288
int prevWinShape[AAC_MAX_NCHANS]
Definition coder.h:312
ProgConfigElement pce[MAX_NUM_PCE_ADIF]
Definition coder.h:272
unsigned char fillBuf[FILL_BUF_SIZE]
Definition coder.h:276
PulseInfo pulseInfo[MAX_NCHANS_ELEM]
Definition coder.h:297
int useImpChanMap
Definition coder.h:280
GainControlInfo gainControlInfo[MAX_NCHANS_ELEM]
Definition coder.h:303
ADIFHeader fhADIF
Definition coder.h:271
int pnsLastVal
Definition coder.h:294
int sampRateIdx
Definition coder.h:281
int gbCurrent[MAX_NCHANS_ELEM]
Definition coder.h:305
ICSInfo icsInfo[MAX_NCHANS_ELEM]
Definition coder.h:284
int tnsLPCBuf[MAX_TNS_ORDER]
Definition coder.h:300
int coef[MAX_NCHANS_ELEM][AAC_MAX_NSAMPS]
Definition coder.h:306
int tnsWorkBuf[MAX_TNS_ORDER]
Definition coder.h:301
ADTSHeader fhADTS
Definition coder.h:270
int dataCount
Definition coder.h:273
int msMaskPresent
Definition coder.h:290
short scaleFactors[MAX_NCHANS_ELEM][MAX_SF_BANDS]
Definition coder.h:287
int pnsUsed[MAX_NCHANS_ELEM]
Definition coder.h:293
int commonWin
Definition coder.h:286
int intensityUsed[MAX_NCHANS_ELEM]
Definition coder.h:295
unsigned char msMaskBits[MAX_MS_MASK_BYTES]
Definition coder.h:291
int overlap[AAC_MAX_NCHANS][AAC_MAX_NSAMPS]
Definition coder.h:311
Definition coder.h:238
unsigned char numBCE
Definition coder.h:244
unsigned char numADE
Definition coder.h:246
unsigned char bce[MAX_NUM_BCE]
Definition coder.h:254
unsigned char stereoMixdown
Definition coder.h:249
unsigned char monoMixdown
Definition coder.h:248
unsigned char elemInstTag
Definition coder.h:239
unsigned char lce[MAX_NUM_LCE]
Definition coder.h:255
unsigned char numFCE
Definition coder.h:242
unsigned char cce[MAX_NUM_BCE]
Definition coder.h:257
unsigned char numCCE
Definition coder.h:247
unsigned char sce[MAX_NUM_SCE]
Definition coder.h:253
unsigned char numSCE
Definition coder.h:243
unsigned char profile
Definition coder.h:240
unsigned char sampRateIdx
Definition coder.h:241
unsigned char numLCE
Definition coder.h:245
unsigned char matrixMixdown
Definition coder.h:250
unsigned char fce[MAX_NUM_FCE]
Definition coder.h:252
unsigned char ade[MAX_NUM_ADE]
Definition coder.h:256
Definition coder.h:163
unsigned char numPulse
Definition coder.h:165
unsigned char offset[MAX_PULSES]
Definition coder.h:167
unsigned char pulseDataPresent
Definition coder.h:164
unsigned char startSFB
Definition coder.h:166
unsigned char amp[MAX_PULSES]
Definition coder.h:168
Definition coder.h:171
signed char coef[MAX_TNS_COEFS]
Definition coder.h:178
unsigned char length[MAX_TNS_FILTERS]
Definition coder.h:175
unsigned char numFilt[MAX_TNS_FILTERS]
Definition coder.h:173
unsigned char coefRes[MAX_TNS_FILTERS]
Definition coder.h:174
unsigned char order[MAX_TNS_FILTERS]
Definition coder.h:176
unsigned char dir[MAX_TNS_FILTERS]
Definition coder.h:177
unsigned char tnsDataPresent
Definition coder.h:172