CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
aaccoder.h
浏览该文件的文档.
1 /* ***** BEGIN LICENSE BLOCK *****
2  * Source last modified: $Id: aaccoder.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  * aaccoder.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 "aacbitstream.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 #define CLIP_2N_SHIFT(y, n) { \
94  int sign = (y) >> 31; \
95  if (sign != (y) >> (30 - (n))) { \
96  (y) = sign ^ (0x3fffffff); \
97  } else { \
98  (y) = (y) << (n); \
99  } \
100  }
101 
102 /* clip to [-2^n, 2^n-1], valid range of n = [1, 30] */
103 #define CLIP_2N(val, n) { \
104  if ((val) >> 31 != (val) >> (n)) \
105  (val) = ((val) >> 31) ^ ((1 << (n)) - 1); \
106  }
107 
108 #define SF_DQ_OFFSET 15
109 #define FBITS_OUT_DQ 20
110 #define FBITS_OUT_DQ_OFF (FBITS_OUT_DQ - SF_DQ_OFFSET) /* number of fraction bits out of dequant, including 2^15 bias */
111 
112 #define FBITS_IN_IMDCT FBITS_OUT_DQ_OFF /* number of fraction bits into IMDCT */
113 #define GBITS_IN_DCT4 4 /* min guard bits in for DCT4 */
114 
115 #define FBITS_LOST_DCT4 1 /* number of fraction bits lost (>> out) in DCT-IV */
116 #define FBITS_LOST_WND 1 /* number of fraction bits lost (>> out) in synthesis window (neg = gain frac bits) */
117 #define FBITS_LOST_IMDCT (FBITS_LOST_DCT4 + FBITS_LOST_WND)
118 #define FBITS_OUT_IMDCT (FBITS_IN_IMDCT - FBITS_LOST_IMDCT)
119 
120 #define NUM_IMDCT_SIZES 2
121 
122 /* additional external symbols to name-mangle for static linking */
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)
130 
131 #define DecWindowOverlapNoClip STATNAME(DecWindowOverlapNoClip)
132 #define DecWindowOverlapLongStartNoClip STATNAME(DecWindowOverlapLongStartNoClip)
133 #define DecWindowOverlapLongStopNoClip STATNAME(DecWindowOverlapLongStopNoClip)
134 #define DecWindowOverlapShortNoClip STATNAME(DecWindowOverlapShortNoClip)
135 
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)
152 
153 typedef struct _HuffInfo {
154  int maxBits; /* number of bits in longest codeword */
155  unsigned char count[MAX_HUFF_BITS]; /* count[i] = number of codes with length i+1 bits */
156  int offset; /* offset into symbol table */
157 } HuffInfo;
158 
159 typedef struct _PulseInfo {
160  unsigned char pulseDataPresent;
161  unsigned char numPulse;
162  unsigned char startSFB;
163  unsigned char offset[MAX_PULSES];
164  unsigned char amp[MAX_PULSES];
165 } PulseInfo;
166 
167 typedef struct _TNSInfo {
168  unsigned char tnsDataPresent;
169  unsigned char numFilt[MAX_TNS_FILTERS]; /* max 1 filter each for 8 short windows, or 3 filters for 1 long window */
170  unsigned char coefRes[MAX_TNS_FILTERS];
171  unsigned char length[MAX_TNS_FILTERS];
172  unsigned char order[MAX_TNS_FILTERS];
173  unsigned char dir[MAX_TNS_FILTERS];
174  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 */
175 } TNSInfo;
176 
177 typedef struct _GainControlInfo {
178  unsigned char gainControlDataPresent;
179  unsigned char maxBand;
184 
185 typedef struct _ICSInfo {
186  unsigned char icsResBit;
187  unsigned char winSequence;
188  unsigned char winShape;
189  unsigned char maxSFB;
190  unsigned char sfGroup;
191  unsigned char predictorDataPresent;
192  unsigned char predictorReset;
193  unsigned char predictorResetGroupNum;
194  unsigned char predictionUsed[MAX_PRED_SFB];
195  unsigned char numWinGroup;
196  unsigned char winGroupLen[MAX_WIN_GROUPS];
197 } ICSInfo;
198 
199 typedef struct _ADTSHeader {
200  /* fixed */
201  unsigned char id; /* MPEG bit - should be 1 */
202  unsigned char layer; /* MPEG layer - should be 0 */
203  unsigned char protectBit; /* 0 = CRC word follows, 1 = no CRC word */
204  unsigned char profile; /* 0 = main, 1 = LC, 2 = SSR, 3 = reserved */
205  unsigned char sampRateIdx; /* sample rate index range = [0, 11] */
206  unsigned char privateBit; /* ignore */
207  unsigned char channelConfig; /* 0 = implicit, >0 = use default table */
208  unsigned char origCopy; /* 0 = copy, 1 = original */
209  unsigned char home; /* ignore */
210 
211  /* variable */
212  unsigned char copyBit; /* 1 bit of the 72-bit copyright ID (transmitted as 1 bit per frame) */
213  unsigned char copyStart; /* 1 = this bit starts the 72-bit ID, 0 = it does not */
214  int frameLength; /* length of frame */
215  int bufferFull; /* number of 32-bit words left in enc buffer, 0x7FF = VBR */
216  unsigned char numRawDataBlocks; /* number of raw data blocks in frame */
217 
218  /* CRC */
219  int crcCheckWord; /* 16-bit CRC check word (present if protectBit == 0) */
220 } ADTSHeader;
221 
222 typedef struct _ADIFHeader {
223  unsigned char copyBit; /* 0 = no copyright ID, 1 = 72-bit copyright ID follows immediately */
224  unsigned char origCopy; /* 0 = copy, 1 = original */
225  unsigned char home; /* ignore */
226  unsigned char bsType; /* bitstream type: 0 = CBR, 1 = VBR */
227  int bitRate; /* bitRate: CBR = bits/sec, VBR = peak bits/frame, 0 = unknown */
228  unsigned char numPCE; /* number of program config elements (max = 16) */
229  int bufferFull; /* bits left in bit reservoir */
230  unsigned char copyID[ADIF_COPYID_SIZE]; /* optional 72-bit copyright ID */
231 } ADIFHeader;
232 
233 /* sizeof(ProgConfigElement) = 82 bytes (if KEEP_PCE_COMMENTS not defined) */
234 typedef struct _ProgConfigElement {
235  unsigned char elemInstTag; /* element instance tag */
236  unsigned char profile; /* 0 = main, 1 = LC, 2 = SSR, 3 = reserved */
237  unsigned char sampRateIdx; /* sample rate index range = [0, 11] */
238  unsigned char numFCE; /* number of front channel elements (max = 15) */
239  unsigned char numSCE; /* number of side channel elements (max = 15) */
240  unsigned char numBCE; /* number of back channel elements (max = 15) */
241  unsigned char numLCE; /* number of LFE channel elements (max = 3) */
242  unsigned char numADE; /* number of associated data elements (max = 7) */
243  unsigned char numCCE; /* number of valid channel coupling elements (max = 15) */
244  unsigned char monoMixdown; /* mono mixdown: bit 4 = present flag, bits 3-0 = element number */
245  unsigned char stereoMixdown; /* stereo mixdown: bit 4 = present flag, bits 3-0 = element number */
246  unsigned char matrixMixdown; /* matrix mixdown: bit 4 = present flag, bit 3 = unused,
247  bits 2-1 = index, bit 0 = pseudo-surround enable */
248  unsigned char fce[MAX_NUM_FCE]; /* front element channel pair: bit 4 = SCE/CPE flag, bits 3-0 = inst tag */
249  unsigned char sce[MAX_NUM_SCE]; /* side element channel pair: bit 4 = SCE/CPE flag, bits 3-0 = inst tag */
250  unsigned char bce[MAX_NUM_BCE]; /* back element channel pair: bit 4 = SCE/CPE flag, bits 3-0 = inst tag */
251  unsigned char lce[MAX_NUM_LCE]; /* instance tag for LFE elements */
252  unsigned char ade[MAX_NUM_ADE]; /* instance tag for ADE elements */
253  unsigned char cce[MAX_NUM_BCE]; /* channel coupling elements: bit 4 = switching flag, bits 3-0 = inst tag */
254 
255 #ifdef KEEP_PCE_COMMENTS
256  /* make this optional - if not enabled, decoder will just skip comments */
257  unsigned char commentBytes;
258  unsigned char commentField[MAX_COMMENT_BYTES];
259 #endif
260 
262 
263 /* state info struct for baseline (MPEG-4 LC) decoding */
264 typedef struct _PSInfoBase {
265  /* header information */
270  unsigned char dataBuf[DATA_BUF_SIZE];
272  unsigned char fillBuf[FILL_BUF_SIZE];
273 
274  /* state information which is the same throughout whole frame */
275  int nChans;
278 
279  /* state information which can be overwritten by subsequent elements within frame */
281 
285 
288 
292 
294 
298 
300 
303 #ifdef AAC_ENABLE_SBR
304  int sbrWorkBuf[MAX_NCHANS_ELEM][AAC_MAX_NSAMPS];
305 #endif
306  /* state information which must be saved for each element and used in next frame */
309 
310 } PSInfoBase;
311 
312 /* private implementation-specific functions */
313 
314 /* aacdecelmnt.c */
316 
317 /* aachuffman.c */
318 int DecodeHuffmanScalar(const signed short *huffTab, const HuffInfo *huffTabInfo, unsigned int bitBuf, signed int *val);
319 void DecodeSpectrumLong(PSInfoBase *psi, BitStreamInfo *bsi, int ch);
320 void DecodeSpectrumShort(PSInfoBase *psi, BitStreamInfo *bsi, int ch);
321 
322 /* aacnoiseless.c */
323 void DecodeICSInfo(BitStreamInfo *bsi, ICSInfo *icsInfo, int sampRateIdx);
324 
325 /* aacdct4.c */
326 void DCT4(int tabidx, int *coef, int gb);
327 
328 /* aacfft.c */
329 void R4FFT(int tabidx, int *x);
330 
331 /* aacsbrimdct.c */
332 void DecWindowOverlapNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
333 void DecWindowOverlapLongStartNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
334 void DecWindowOverlapLongStopNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
335 void DecWindowOverlapShortNoClip(int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev);
336 
337 /* aachufftabs.c */
338 extern const HuffInfo huffTabSpecInfo[11];
339 extern const signed short huffTabSpec[1241];
340 extern const HuffInfo huffTabScaleFactInfo;
341 extern const signed short huffTabScaleFact[121];
342 
343 /* aactrigtabs.c */
344 extern const int cos4sin4tabOffset[NUM_IMDCT_SIZES];
345 extern const int sinWindowOffset[NUM_IMDCT_SIZES];
346 extern const int kbdWindowOffset[NUM_IMDCT_SIZES];
347 extern const unsigned char bitrevtab[17 + 129];
348 extern const int bitrevtabOffset[NUM_IMDCT_SIZES];
349 
350 #ifdef HELIX_CONFIG_AAC_GENERATE_TRIGTABS_FLOAT
351 /* aactrigtabs_fltgen.c */
352 extern int cos4sin4tab[128 + 1024];
353 extern int cos1sin1tab[514];
354 extern int sinWindow[128 + 1024];
355 extern int kbdWindow[128 + 1024];
356 extern int twidTabEven[4*6 + 16*6 + 64*6];
357 extern int twidTabOdd[8*6 + 32*6 + 128*6];
358 #else
359 /* aactrigtabs.c */
360 extern const int cos4sin4tab[128 + 1024];
361 extern const int cos1sin1tab[514];
362 extern const int sinWindow[128 + 1024];
363 extern const int kbdWindow[128 + 1024];
364 extern const int twidTabEven[4*6 + 16*6 + 64*6];
365 extern const int twidTabOdd[8*6 + 32*6 + 128*6];
366 #endif
367 
368 #endif /* _CODER_H */
369 
#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
struct _ICSInfo ICSInfo
unsigned char predictorResetGroupNum
Definition: aaccoder.h:193
Definition: aaccoder.h:199
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
struct _TNSInfo TNSInfo
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
Definition: aaccoder.h:222
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