FFmpeg
aacdec.h
Go to the documentation of this file.
1 /*
2  * AAC decoder definitions and structures
3  * Copyright (c) 2005-2006 Oded Shimon ( ods15 ods15 dyndns org )
4  * Copyright (c) 2006-2007 Maxim Gavrilov ( maxim.gavrilov gmail com )
5  *
6  * This file is part of FFmpeg.
7  *
8  * FFmpeg is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * FFmpeg is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with FFmpeg; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 /**
24  * @file
25  * AAC decoder definitions and structures
26  * @author Oded Shimon ( ods15 ods15 dyndns org )
27  * @author Maxim Gavrilov ( maxim.gavrilov gmail com )
28  */
29 
30 #ifndef AVCODEC_AACDEC_H
31 #define AVCODEC_AACDEC_H
32 
33 #include <stdint.h>
34 
36 #include "libavutil/float_dsp.h"
37 #include "libavutil/fixed_dsp.h"
38 #include "libavutil/mem_internal.h"
39 #include "libavutil/tx.h"
40 
41 #include "aac.h"
42 #include "aac_defines.h"
43 #include "mpeg4audio.h"
44 #include "sbr.h"
45 
46 /**
47  * Output configuration status
48  */
49 enum OCStatus {
50  OC_NONE, ///< Output unconfigured
51  OC_TRIAL_PCE, ///< Output configuration under trial specified by an inband PCE
52  OC_TRIAL_FRAME, ///< Output configuration under trial specified by a frame header
53  OC_GLOBAL_HDR, ///< Output configuration set in a global header but not yet locked
54  OC_LOCKED, ///< Output configuration locked in place
55 };
56 
60 };
61 
62 /**
63  * The point during decoding at which channel coupling is applied.
64  */
69 };
70 
71 /**
72  * Long Term Prediction
73  */
74 typedef struct LongTermPrediction {
75  int8_t present;
76  int16_t lag;
80 
81 /**
82  * Individual Channel Stream
83  */
84 typedef struct IndividualChannelStream {
85  uint8_t max_sfb; ///< number of scalefactor bands per group
87  uint8_t use_kb_window[2]; ///< If set, use Kaiser-Bessel window, otherwise use a sine window.
89  uint8_t group_len[8];
91  const uint16_t *swb_offset; ///< table of offsets to the lowest spectral coefficient of a scalefactor band, sfb, for a particular window
92  int num_swb; ///< number of scalefactor window bands
98  uint8_t prediction_used[41];
99  uint8_t window_clipping[8]; ///< set if a certain window is near clipping
101 
102 /**
103  * Temporal Noise Shaping
104  */
105 typedef struct TemporalNoiseShaping {
106  int present;
107  int n_filt[8];
108  int length[8][4];
109  int direction[8][4];
110  int order[8][4];
113 
114 /**
115  * coupling parameters
116  */
117 typedef struct ChannelCoupling {
118  enum CouplingPoint coupling_point; ///< The point during decoding at which coupling is applied.
119  int num_coupled; ///< number of target elements
120  enum RawDataBlockType type[8]; ///< Type of channel element to be coupled - SCE or CPE.
121  int id_select[8]; ///< element id
122  int ch_select[8]; /**< [0] shared list of gains; [1] list of gains for right channel;
123  * [2] list of gains for left channel; [3] lists of gains for both channels
124  */
125  INTFLOAT gain[16][120];
127 
128 /**
129  * Single Channel Element - used for both SCE and LFE elements.
130  */
131 typedef struct SingleChannelElement {
134  enum BandType band_type[128]; ///< band types
135  int band_type_run_end[120]; ///< band type run end points
136  INTFLOAT sf[120]; ///< scalefactors
137  DECLARE_ALIGNED(32, INTFLOAT, coeffs)[1024]; ///< coefficients for IMDCT, maybe processed
138  DECLARE_ALIGNED(32, INTFLOAT, saved)[1536]; ///< overlap
139  DECLARE_ALIGNED(32, INTFLOAT, ret_buf)[2048]; ///< PCM output buffer
140  DECLARE_ALIGNED(16, INTFLOAT, ltp_state)[3072]; ///< time signal for LTP
142  INTFLOAT *ret; ///< PCM output
144 
145 /**
146  * channel element - generic struct for SCE/CPE/CCE/LFE
147  */
148 typedef struct ChannelElement {
149  int present;
150  // CPE specific
151  uint8_t ms_mask[128]; ///< Set if mid/side stereo is used for each scalefactor window band
152  // shared
154  // CCE specific
158 
159 typedef struct OutputConfiguration {
161  uint8_t layout_map[MAX_ELEM_ID*4][3];
166 
167 /**
168  * Dynamic Range Control - decoded from the bitstream but not processed further.
169  */
170 typedef struct DynamicRangeControl {
171  int pce_instance_tag; ///< Indicates with which program the DRC info is associated.
172  int dyn_rng_sgn[17]; ///< DRC sign information; 0 - positive, 1 - negative
173  int dyn_rng_ctl[17]; ///< DRC magnitude information
174  int exclude_mask[MAX_CHANNELS]; ///< Channels to be excluded from DRC processing.
175  int band_incr; ///< Number of DRC bands greater than 1 having DRC info.
176  int interpolation_scheme; ///< Indicates the interpolation scheme used in the SBR QMF domain.
177  int band_top[17]; ///< Indicates the top of the i-th DRC band in units of 4 spectral lines.
178  int prog_ref_level; /**< A reference level for the long-term program audio level for all
179  * channels combined.
180  */
182 
183 /**
184  * main AAC decoding context
185  */
186 typedef struct AACDecContext {
187  const struct AVClass *class;
189  struct AVFrame *frame;
190 
191  int is_saved; ///< Set if elements have stored overlap from previous frame.
193 
194  /**
195  * @name Channel element related data
196  * @{
197  */
202  /** @} */
203 
204  /**
205  * @name temporary aligned temporary buffers
206  * (We do not want to have these on the stack.)
207  * @{
208  */
211  /** @} */
212 
213  /**
214  * @name Computed / set up during initialization
215  * @{
216  */
224 
232 #if USE_FIXED
234 #else
236 #endif /* USE_FIXED */
238  /** @} */
239 
240  /**
241  * @name Members used for output
242  * @{
243  */
244  SingleChannelElement *output_element[MAX_CHANNELS]; ///< Points to each SingleChannelElement
245  /** @} */
246 
247 
248  /**
249  * @name Japanese DTV specific extension
250  * @{
251  */
252  int force_dmono_mode;///< 0->not dmono, 1->use first channel, 2->use second channel
253  int dmono_mode; ///< 0->not dmono, 1->use first channel, 2->use second channel
254  /** @} */
255 
257 
261  unsigned warned_71_wide;
264 
265  /* aacdec functions pointers */
267  void (*apply_ltp)(struct AACDecContext *ac, SingleChannelElement *sce);
268  void (*apply_tns)(INTFLOAT coef[1024], TemporalNoiseShaping *tns,
269  IndividualChannelStream *ics, int decode);
272  void (*update_ltp)(struct AACDecContext *ac, SingleChannelElement *sce);
273  void (*vector_pow43)(int *coefs, int len);
274  void (*subband_scale)(int *dst, int *src, int scale, int offset, int len, void *log_context);
275 } AACDecContext;
276 
278 
279 #endif /* AVCODEC_AACDEC_H */
ChannelCoupling::type
enum RawDataBlockType type[8]
Type of channel element to be coupled - SCE or CPE.
Definition: aacdec.h:120
CouplingPoint
CouplingPoint
The point during decoding at which channel coupling is applied.
Definition: aacdec.h:65
MAX_ELEM_ID
#define MAX_ELEM_ID
Definition: aac.h:37
AACDecContext::mdct960_fn
av_tx_fn mdct960_fn
Definition: aacdec.h:229
AACDecContext::temp
INTFLOAT temp[128]
Definition: aacdec.h:210
AACOutputChannelOrder
AACOutputChannelOrder
Definition: aacdec.h:57
BETWEEN_TNS_AND_IMDCT
@ BETWEEN_TNS_AND_IMDCT
Definition: aacdec.h:67
mem_internal.h
out
FILE * out
Definition: movenc.c:54
AACDecContext::mdct1024_fn
av_tx_fn mdct1024_fn
Definition: aacdec.h:230
AACDecContext::warned_he_aac_mono
int warned_he_aac_mono
Definition: aacdec.h:263
AACDecContext::update_ltp
void(* update_ltp)(struct AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:272
AVTXContext
Definition: tx_priv.h:235
LongTermPrediction::used
int8_t used[MAX_LTP_LONG_SFB]
Definition: aacdec.h:78
OC_TRIAL_PCE
@ OC_TRIAL_PCE
Output configuration under trial specified by an inband PCE.
Definition: aacdec.h:51
AVFrame
This structure describes decoded (raw) audio or video data.
Definition: frame.h:344
AACDecContext::mdct960
AVTXContext * mdct960
Definition: aacdec.h:221
MAX_PREDICTORS
#define MAX_PREDICTORS
Definition: aac.h:102
TemporalNoiseShaping::present
int present
Definition: aacdec.h:106
AACDecContext::tag_che_map
ChannelElement * tag_che_map[4][MAX_ELEM_ID]
Definition: aacdec.h:199
AVFixedDSPContext
Definition: fixed_dsp.h:55
AACDecContext::warned_remapping_once
int warned_remapping_once
Definition: aacdec.h:201
SingleChannelElement::ret
INTFLOAT * ret
PCM output.
Definition: aacdec.h:142
AACDecContext::mdct512_fn
av_tx_fn mdct512_fn
Definition: aacdec.h:228
ChannelElement::ch
SingleChannelElement ch[2]
Definition: aacdec.h:153
ChannelElement::present
int present
Definition: aacdec.h:149
AACDecContext::dmono_mode
int dmono_mode
0->not dmono, 1->use first channel, 2->use second channel
Definition: aacdec.h:253
sbr.h
MPEG4AudioConfig
Definition: mpeg4audio.h:29
DynamicRangeControl
Dynamic Range Control - decoded from the bitstream but not processed further.
Definition: aacdec.h:170
IndividualChannelStream::num_swb
int num_swb
number of scalefactor window bands
Definition: aacdec.h:92
ChannelCoupling::coupling_point
enum CouplingPoint coupling_point
The point during decoding at which coupling is applied.
Definition: aacdec.h:118
AACDecContext::force_dmono_mode
int force_dmono_mode
0->not dmono, 1->use first channel, 2->use second channel
Definition: aacdec.h:252
AACDecContext::warned_960_sbr
int warned_960_sbr
Definition: aacdec.h:260
AACDecContext::mdct480
AVTXContext * mdct480
Definition: aacdec.h:219
mpeg4audio.h
SingleChannelElement::saved
INTFLOAT saved[1536]
overlap
Definition: aacdec.h:138
LongTermPrediction::coef
INTFLOAT coef
Definition: aacdec.h:77
SingleChannelElement::ret_buf
INTFLOAT ret_buf[2048]
PCM output buffer.
Definition: aacdec.h:139
AACDecContext::vector_pow43
void(* vector_pow43)(int *coefs, int len)
Definition: aacdec.h:273
ChannelElement::coup
ChannelCoupling coup
Definition: aacdec.h:155
ChannelCoupling::id_select
int id_select[8]
element id
Definition: aacdec.h:121
AACDecContext::warned_71_wide
unsigned warned_71_wide
Definition: aacdec.h:261
IndividualChannelStream::window_clipping
uint8_t window_clipping[8]
set if a certain window is near clipping
Definition: aacdec.h:99
AACDecContext::tags_mapped
int tags_mapped
Definition: aacdec.h:200
OutputConfiguration::status
enum OCStatus status
Definition: aacdec.h:164
AACDecContext::che_drc
DynamicRangeControl che_drc
Definition: aacdec.h:192
MAX_LTP_LONG_SFB
#define MAX_LTP_LONG_SFB
Definition: aac.h:40
SingleChannelElement::ics
IndividualChannelStream ics
Definition: aacdec.h:132
AACDecContext::mdct480_fn
av_tx_fn mdct480_fn
Definition: aacdec.h:227
DynamicRangeControl::exclude_mask
int exclude_mask[MAX_CHANNELS]
Channels to be excluded from DRC processing.
Definition: aacdec.h:174
av_tx_fn
void(* av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
Function pointer to a function to perform the transform.
Definition: tx.h:151
OC_GLOBAL_HDR
@ OC_GLOBAL_HDR
Output configuration set in a global header but not yet locked.
Definition: aacdec.h:53
AACDecContext::mdct_ltp
AVTXContext * mdct_ltp
Definition: aacdec.h:223
decode
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
Definition: decode_audio.c:72
SingleChannelElement::coeffs
INTFLOAT coeffs[1024]
coefficients for IMDCT, maybe processed
Definition: aacdec.h:137
ChannelCoupling::num_coupled
int num_coupled
number of target elements
Definition: aacdec.h:119
TemporalNoiseShaping::direction
int direction[8][4]
Definition: aacdec.h:109
AACDecContext::apply_ltp
void(* apply_ltp)(struct AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:267
PredictorState
Predictor State.
Definition: aac.h:91
LongTermPrediction::present
int8_t present
Definition: aacdec.h:75
fixed_dsp.h
IndividualChannelStream
Individual Channel Stream.
Definition: aacdec.h:84
AACDecContext::che
ChannelElement * che[4][MAX_ELEM_ID]
Definition: aacdec.h:198
TemporalNoiseShaping::coef
INTFLOAT coef[8][4][TNS_MAX_ORDER]
Definition: aacdec.h:111
AACDecContext::imdct_and_windowing
void(* imdct_and_windowing)(struct AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:266
AACDecContext::fdsp
AVFloatDSPContext * fdsp
Definition: aacdec.h:235
AACDecContext::warned_num_aac_frames
int warned_num_aac_frames
Definition: aacdec.h:259
SingleChannelElement::predictor_state
PredictorState predictor_state[MAX_PREDICTORS]
Definition: aacdec.h:141
AVClass
Describe the class of an AVClass context structure.
Definition: log.h:66
IndividualChannelStream::use_kb_window
uint8_t use_kb_window[2]
If set, use Kaiser-Bessel window, otherwise use a sine window.
Definition: aacdec.h:87
IndividualChannelStream::num_window_groups
int num_window_groups
Definition: aacdec.h:88
BEFORE_TNS
@ BEFORE_TNS
Definition: aacdec.h:66
ChannelElement::ms_mask
uint8_t ms_mask[128]
Set if mid/side stereo is used for each scalefactor window band.
Definition: aacdec.h:151
aac.h
IndividualChannelStream::predictor_present
int predictor_present
Definition: aacdec.h:95
DynamicRangeControl::band_top
int band_top[17]
Indicates the top of the i-th DRC band in units of 4 spectral lines.
Definition: aacdec.h:177
TNS_MAX_ORDER
#define TNS_MAX_ORDER
Definition: aac.h:39
AACDecContext::mdct120
AVTXContext * mdct120
Definition: aacdec.h:217
OC_LOCKED
@ OC_LOCKED
Output configuration locked in place.
Definition: aacdec.h:54
c
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
Definition: undefined.txt:32
SingleChannelElement::band_type_run_end
int band_type_run_end[120]
band type run end points
Definition: aacdec.h:135
float_dsp.h
OutputConfiguration::layout_map_tags
int layout_map_tags
Definition: aacdec.h:162
OutputConfiguration::layout_map
uint8_t layout_map[MAX_ELEM_ID *4][3]
Definition: aacdec.h:161
AACDecContext::buf_mdct
INTFLOAT buf_mdct[1024]
Definition: aacdec.h:209
IndividualChannelStream::window_sequence
enum WindowSequence window_sequence[2]
Definition: aacdec.h:86
OC_NONE
@ OC_NONE
Output unconfigured.
Definition: aacdec.h:50
AACDecContext::windowing_and_mdct_ltp
void(* windowing_and_mdct_ltp)(struct AACDecContext *ac, INTFLOAT *out, INTFLOAT *in, IndividualChannelStream *ics)
Definition: aacdec.h:270
scale
static void scale(int *out, const int *in, const int w, const int h, const int shift)
Definition: vvc_intra.c:291
AVChannelLayout
An AVChannelLayout holds information about the channel layout of audio data.
Definition: channel_layout.h:303
DECLARE_ALIGNED
#define DECLARE_ALIGNED(n, t, v)
Definition: mem_internal.h:109
AACDecContext::mdct1024
AVTXContext * mdct1024
Definition: aacdec.h:222
BandType
BandType
Definition: aac.h:69
OCStatus
OCStatus
Output configuration status.
Definition: aacdec.h:49
DynamicRangeControl::prog_ref_level
int prog_ref_level
A reference level for the long-term program audio level for all channels combined.
Definition: aacdec.h:178
SpectralBandReplication
Spectral Band Replication.
Definition: sbr.h:140
AACDecContext::output_element
SingleChannelElement * output_element[MAX_CHANNELS]
Points to each SingleChannelElement.
Definition: aacdec.h:244
AVFloatDSPContext
Definition: float_dsp.h:22
AACDecContext::output_channel_order
enum AACOutputChannelOrder output_channel_order
Definition: aacdec.h:256
OutputConfiguration
Definition: aacdec.h:159
offset
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
Definition: writing_filters.txt:86
SingleChannelElement::band_type
enum BandType band_type[128]
band types
Definition: aacdec.h:134
MAX_CHANNELS
#define MAX_CHANNELS
Definition: aac.h:36
AACDecContext::mdct128
AVTXContext * mdct128
Definition: aacdec.h:218
DynamicRangeControl::dyn_rng_ctl
int dyn_rng_ctl[17]
DRC magnitude information.
Definition: aacdec.h:173
CHANNEL_ORDER_CODED
@ CHANNEL_ORDER_CODED
Definition: aacdec.h:59
RawDataBlockType
RawDataBlockType
Definition: aac.h:42
SingleChannelElement
Single Channel Element - used for both SCE and LFE elements.
Definition: aacdec.h:131
IndividualChannelStream::num_windows
int num_windows
Definition: aacdec.h:93
AACDecContext::warned_gain_control
int warned_gain_control
Definition: aacdec.h:262
ChannelElement::sbr
SpectralBandReplication sbr
Definition: aacdec.h:156
AACDecContext::random_state
int random_state
Definition: aacdec.h:237
ChannelElement
channel element - generic struct for SCE/CPE/CCE/LFE
Definition: aacdec.h:148
IndividualChannelStream::swb_offset
const uint16_t * swb_offset
table of offsets to the lowest spectral coefficient of a scalefactor band, sfb, for a particular wind...
Definition: aacdec.h:91
LongTermPrediction::lag
int16_t lag
Definition: aacdec.h:76
TemporalNoiseShaping::order
int order[8][4]
Definition: aacdec.h:110
AACDecContext::subband_scale
void(* subband_scale)(int *dst, int *src, int scale, int offset, int len, void *log_context)
Definition: aacdec.h:274
len
int len
Definition: vorbis_enc_data.h:426
AACDecContext::oc
OutputConfiguration oc[2]
Definition: aacdec.h:258
IndividualChannelStream::tns_max_bands
int tns_max_bands
Definition: aacdec.h:94
TemporalNoiseShaping::length
int length[8][4]
Definition: aacdec.h:108
DynamicRangeControl::pce_instance_tag
int pce_instance_tag
Indicates with which program the DRC info is associated.
Definition: aacdec.h:171
SingleChannelElement::sf
INTFLOAT sf[120]
scalefactors
Definition: aacdec.h:136
AACDecContext::frame
struct AVFrame * frame
Definition: aacdec.h:189
CHANNEL_ORDER_DEFAULT
@ CHANNEL_ORDER_DEFAULT
Definition: aacdec.h:58
ChannelCoupling::ch_select
int ch_select[8]
[0] shared list of gains; [1] list of gains for right channel; [2] list of gains for left channel; [3...
Definition: aacdec.h:122
SingleChannelElement::tns
TemporalNoiseShaping tns
Definition: aacdec.h:133
AACDecContext
main AAC decoding context
Definition: aacdec.h:186
AVCodecContext
main external API structure.
Definition: avcodec.h:445
LongTermPrediction
Long Term Prediction.
Definition: aacdec.h:74
channel_layout.h
AACDecContext::avctx
struct AVCodecContext * avctx
Definition: aacdec.h:188
IndividualChannelStream::prediction_used
uint8_t prediction_used[41]
Definition: aacdec.h:98
TemporalNoiseShaping
Temporal Noise Shaping.
Definition: aacdec.h:105
ChannelCoupling::gain
INTFLOAT gain[16][120]
Definition: aacdec.h:125
DynamicRangeControl::band_incr
int band_incr
Number of DRC bands greater than 1 having DRC info.
Definition: aacdec.h:175
AACDecContext::mdct_ltp_fn
av_tx_fn mdct_ltp_fn
Definition: aacdec.h:231
OutputConfiguration::m4ac
MPEG4AudioConfig m4ac
Definition: aacdec.h:160
OutputConfiguration::ch_layout
AVChannelLayout ch_layout
Definition: aacdec.h:163
AACDecContext::is_saved
int is_saved
Set if elements have stored overlap from previous frame.
Definition: aacdec.h:191
AACDecContext::apply_tns
void(* apply_tns)(INTFLOAT coef[1024], TemporalNoiseShaping *tns, IndividualChannelStream *ics, int decode)
Definition: aacdec.h:268
DynamicRangeControl::dyn_rng_sgn
int dyn_rng_sgn[17]
DRC sign information; 0 - positive, 1 - negative.
Definition: aacdec.h:172
src
INIT_CLIP pixel * src
Definition: h264pred_template.c:418
ChannelCoupling
coupling parameters
Definition: aacdec.h:117
aac_defines.h
IndividualChannelStream::max_sfb
uint8_t max_sfb
number of scalefactor bands per group
Definition: aacdec.h:85
SingleChannelElement::ltp_state
INTFLOAT ltp_state[3072]
time signal for LTP
Definition: aacdec.h:140
AACDecContext::mdct512
AVTXContext * mdct512
Definition: aacdec.h:220
DynamicRangeControl::interpolation_scheme
int interpolation_scheme
Indicates the interpolation scheme used in the SBR QMF domain.
Definition: aacdec.h:176
WindowSequence
WindowSequence
Definition: aac.h:62
AFTER_IMDCT
@ AFTER_IMDCT
Definition: aacdec.h:68
IndividualChannelStream::ltp
LongTermPrediction ltp
Definition: aacdec.h:90
ff_aacdec_init_mips
void ff_aacdec_init_mips(AACDecContext *c)
Definition: aacdec_mips.c:434
IndividualChannelStream::group_len
uint8_t group_len[8]
Definition: aacdec.h:89
TemporalNoiseShaping::n_filt
int n_filt[8]
Definition: aacdec.h:107
INTFLOAT
float INTFLOAT
Definition: aac_defines.h:88
OC_TRIAL_FRAME
@ OC_TRIAL_FRAME
Output configuration under trial specified by a frame header.
Definition: aacdec.h:52
IndividualChannelStream::predictor_reset_group
int predictor_reset_group
Definition: aacdec.h:97
tx.h
AACDecContext::mdct120_fn
av_tx_fn mdct120_fn
Definition: aacdec.h:225
AACDecContext::mdct128_fn
av_tx_fn mdct128_fn
Definition: aacdec.h:226
IndividualChannelStream::predictor_initialized
int predictor_initialized
Definition: aacdec.h:96