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_AAC_AACDEC_H
31 #define AVCODEC_AAC_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 "libavcodec/aac.h"
42 #include "libavcodec/avcodec.h"
43 #include "libavcodec/mpeg4audio.h"
44 
45 #include "aacdec_ac.h"
46 #include "aacdec_usac_mps212.h"
47 
48 typedef struct AACDecContext AACDecContext;
49 
50 /**
51  * Output configuration status
52  */
53 enum OCStatus {
54  OC_NONE, ///< Output unconfigured
55  OC_TRIAL_PCE, ///< Output configuration under trial specified by an inband PCE
56  OC_TRIAL_FRAME, ///< Output configuration under trial specified by a frame header
57  OC_GLOBAL_HDR, ///< Output configuration set in a global header but not yet locked
58  OC_LOCKED, ///< Output configuration locked in place
59 };
60 
64 };
65 
66 /**
67  * The point during decoding at which channel coupling is applied.
68  */
73 };
74 
80 };
81 
86 };
87 
94 };
95 
99 };
100 
101 // Supposed to be equal to AAC_RENAME() in case of USE_FIXED.
102 #define RENAME_FIXED(name) name ## _fixed
103 
104 #define INTFLOAT_UNION(name, elems) \
105  union { \
106  int RENAME_FIXED(name) elems; \
107  float name elems; \
108  }
109 
110 #define INTFLOAT_ALIGNED_UNION(alignment, name, nb_elems) \
111  union { \
112  DECLARE_ALIGNED(alignment, int, RENAME_FIXED(name))[nb_elems]; \
113  DECLARE_ALIGNED(alignment, float, name)[nb_elems]; \
114  }
115 /**
116  * Long Term Prediction
117  */
118 typedef struct LongTermPrediction {
119  int8_t present;
120  int16_t lag;
121  INTFLOAT_UNION(coef,);
124 
125 /* Per channel core mode */
126 typedef struct AACUsacElemData {
127  uint8_t core_mode;
130 
131  /* Timewarping ratio */
132 #define NUM_TW_NODES 16
134 
135  struct {
136  uint8_t acelp_core_mode : 3;
137  uint8_t lpd_mode : 5;
138 
139  uint8_t bpf_control_info : 1;
140  uint8_t core_mode_last : 1;
141  uint8_t fac_data_present : 1;
142 
144  } ldp;
145 
146  struct {
147  unsigned int seed;
148  uint8_t level : 3;
149  uint8_t offset : 5;
150  } noise;
151 
152  struct {
153  uint8_t gain;
154  uint32_t kv[8 /* (1024 / 16) / 8 */][8];
155  } fac;
156 
159 
160 /**
161  * Individual Channel Stream
162  */
163 typedef struct IndividualChannelStream {
164  uint8_t max_sfb; ///< number of scalefactor bands per group
166  uint8_t use_kb_window[2]; ///< If set, use Kaiser-Bessel window, otherwise use a sine window.
168  int prev_num_window_groups; ///< Previous frame's number of window groups
169  uint8_t group_len[8];
171  const uint16_t *swb_offset; ///< table of offsets to the lowest spectral coefficient of a scalefactor band, sfb, for a particular window
172  int num_swb; ///< number of scalefactor window bands
178  uint8_t prediction_used[41];
179  uint8_t window_clipping[8]; ///< set if a certain window is near clipping
181 
182 /**
183  * Temporal Noise Shaping
184  */
185 typedef struct TemporalNoiseShaping {
186  int present;
187  int n_filt[8];
188  int length[8][4];
189  int direction[8][4];
190  int order[8][4];
193 
194 /**
195  * coupling parameters
196  */
197 typedef struct ChannelCoupling {
198  enum CouplingPoint coupling_point; ///< The point during decoding at which coupling is applied.
199  int num_coupled; ///< number of target elements
200  enum RawDataBlockType type[8]; ///< Type of channel element to be coupled - SCE or CPE.
201  int id_select[8]; ///< element id
202  int ch_select[8]; /**< [0] shared list of gains; [1] list of gains for right channel;
203  * [2] list of gains for left channel; [3] lists of gains for both channels
204  */
205  INTFLOAT_UNION(gain, [16][120]);
207 
208 /**
209  * Single Channel Element - used for both SCE and LFE elements.
210  */
211 typedef struct SingleChannelElement {
213  AACUsacElemData ue; ///< USAC element data
215  enum BandType band_type[128]; ///< band types
216  int sfo[128]; ///< scalefactor offsets
217  INTFLOAT_UNION(sf, [128]); ///< scalefactors (8 windows * 16 sfb max)
218  INTFLOAT_ALIGNED_UNION(32, coeffs, 1024); ///< coefficients for IMDCT, maybe processed
219  INTFLOAT_ALIGNED_UNION(32, prev_coeffs, 1024); ///< unscaled previous contents of coeffs[] for USAC
220  INTFLOAT_ALIGNED_UNION(32, saved, 1536); ///< overlap
221  INTFLOAT_ALIGNED_UNION(32, ret_buf, 2048); ///< PCM output buffer
222  INTFLOAT_ALIGNED_UNION(16, ltp_state, 3072); ///< time signal for LTP
223  union {
224  struct PredictorStateFixed *RENAME_FIXED(predictor_state);
226  };
227  union {
228  float *output; ///< PCM output
229  int *RENAME_FIXED(output); ///< PCM output
230  };
232 
233 typedef struct AACUsacMPSData {
234  /* Framing */
238 
239  /* OTT */
243 
244  /* SMG */
249 
250  /* TSD */
255 
257  int tsd_phase_data[64];
259 
260 typedef struct AACUsacStereo {
261  uint8_t common_window;
262  uint8_t common_tw;
263  uint8_t tns_on_lr; ///< Apply TNS before M/S and stereo prediction
264 
265  uint8_t ms_mask_mode;
266  uint8_t config_idx;
267 
268  /* Complex prediction */
269  uint8_t use_prev_frame;
270  uint8_t pred_dir;
271  uint8_t complex_coef;
272 
273  uint8_t pred_used[128];
274 
276 
277  INTFLOAT_ALIGNED_UNION(32, alpha_q_re, 1024);
278  INTFLOAT_ALIGNED_UNION(32, alpha_q_im, 1024);
279  INTFLOAT_ALIGNED_UNION(32, prev_alpha_q_re, 1024);
280  INTFLOAT_ALIGNED_UNION(32, prev_alpha_q_im, 1024);
281 
282  INTFLOAT_ALIGNED_UNION(32, dmix_re, 1024);
283  INTFLOAT_ALIGNED_UNION(32, prev_dmix_re, 1024); /* Recalculated on every frame */
284  INTFLOAT_ALIGNED_UNION(32, dmix_im, 1024); /* Final prediction data */
285 } AACUsacStereo;
286 
287 /**
288  * channel element - generic struct for SCE/CPE/CCE/LFE
289  */
290 typedef struct ChannelElement {
291  int present;
292  // CPE specific
293  uint8_t max_sfb_ste; ///< (USAC) Maximum of both max_sfb values
294  uint8_t ms_mask[128]; ///< Set if mid/side stereo is used for each scalefactor window band
295  // shared
297  // CCE specific
299  // USAC stereo coupling data
302 
303 typedef struct AACUSACLoudnessInfo {
304  uint8_t drc_set_id : 6;
305  uint8_t downmix_id : 7;
306  struct {
307  uint16_t lvl : 12;
308  uint8_t present : 1;
309  } sample_peak;
310 
311  struct {
312  uint16_t lvl : 12;
313  uint8_t measurement : 4;
314  uint8_t reliability : 2;
315  uint8_t present : 1;
316  } true_peak;
317 
318  uint8_t nb_measurements : 4;
319  struct {
320  uint8_t method_def : 4;
321  uint8_t method_val;
322  uint8_t measurement : 4;
323  uint8_t reliability : 2;
324  } measurements[16];
326 
327 typedef struct AACUsacElemConfig {
329 
330  uint8_t tw_mdct : 1;
331  uint8_t noise_fill : 1;
332 
334 
335  struct {
336  int ratio;
337 
338  uint8_t harmonic_sbr : 1; /* harmonicSBR */
339  uint8_t bs_intertes : 1; /* bs_interTes */
340  uint8_t bs_pvc : 1; /* bs_pvc */
341 
342  struct {
343  uint8_t start_freq; /* dflt_start_freq */
344  uint8_t stop_freq; /* dflt_stop_freq */
345 
346  uint8_t freq_scale; /* dflt_freq_scale */
347  uint8_t alter_scale : 1; /* dflt_alter_scale */
348  uint8_t noise_bands; /* dflt_noise_bands */
349 
350  uint8_t limiter_bands; /* dflt_limiter_bands */
351  uint8_t limiter_gains; /* dflt_limiter_gains */
352  uint8_t interpol_freq : 1; /* dflt_interpol_freq */
353  uint8_t smoothing_mode : 1; /* dflt_smoothing_mode */
354  } dflt;
355  } sbr;
356 
357  struct {
358  uint8_t freq_res; /* bsFreqRes */
359  uint8_t fixed_gain; /* bsFixedGainDMX */
360  uint8_t temp_shape_config; /* bsTempShapeConfig */
361  uint8_t decorr_config; /* bsDecorrConfig */
362  uint8_t high_rate_mode : 1; /* bsHighRateMode */
363  uint8_t phase_coding : 1; /* bsPhaseCoding */
364 
365  uint8_t otts_bands_phase_present; /* bsOttBandsPhasePresent */
366  uint8_t otts_bands_phase; /* bsOttBandsPhase */
367  uint8_t residual_coding; /* bsResidualCoding */
368  uint8_t residual_bands; /* bsResidualBands */
369  uint8_t pseudo_lr : 1; /* bsPseudoLr */
370  uint8_t env_quant_mode : 1; /* bsEnvQuantMode */
371  } mps;
372 
373  struct {
375  uint8_t payload_frag;
376  uint32_t default_len;
377  uint32_t pl_data_offset;
378  uint8_t *pl_buf;
379  } ext;
381 
382 typedef struct AACUSACConfig {
383  uint8_t core_sbr_frame_len_idx; /* coreSbrFrameLengthIndex */
384  uint16_t core_frame_len;
386 
388  int nb_elems;
389 
390  struct {
391  uint8_t nb_album;
393  uint8_t nb_info;
395  } loudness;
396 } AACUSACConfig;
397 
398 typedef struct OutputConfiguration {
400  uint8_t layout_map[MAX_ELEM_ID*4][3];
406 
407 /**
408  * Dynamic Range Control - decoded from the bitstream but not processed further.
409  */
410 typedef struct DynamicRangeControl {
411  int pce_instance_tag; ///< Indicates with which program the DRC info is associated.
412  int dyn_rng_sgn[17]; ///< DRC sign information; 0 - positive, 1 - negative
413  int dyn_rng_ctl[17]; ///< DRC magnitude information
414  int exclude_mask[MAX_CHANNELS]; ///< Channels to be excluded from DRC processing.
415  int band_incr; ///< Number of DRC bands greater than 1 having DRC info.
416  int interpolation_scheme; ///< Indicates the interpolation scheme used in the SBR QMF domain.
417  int band_top[17]; ///< Indicates the top of the i-th DRC band in units of 4 spectral lines.
418  int prog_ref_level; /**< A reference level for the long-term program audio level for all
419  * channels combined.
420  */
422 
423 /**
424  * Decode-specific primitives
425  */
426 typedef struct AACDecProc {
428  GetBitContext *gb,
429  const Pulse *pulse,
430  SingleChannelElement *sce);
431 
433 
434  int (*sbr_ctx_alloc_init)(AACDecContext *ac, ChannelElement **che, int id_aac);
436  GetBitContext *gb, int crc, int cnt, int id_aac);
438  int id_aac, void /* INTFLOAT */ *L, void /* INTFLOAT */ *R);
440 } AACDecProc;
441 
442 /**
443  * DSP-specific primitives
444  */
445 typedef struct AACDecDSP {
447 
450  int ms_present);
451 
452  void (*apply_tns)(void *_coef_param, TemporalNoiseShaping *tns,
453  IndividualChannelStream *ics, int decode);
454 
457 
459 
461  SingleChannelElement *target,
462  ChannelElement *cce, int index);
464  SingleChannelElement *target,
465  ChannelElement *cce, int index);
466 
472 
473  void (*clip_output)(AACDecContext *ac, ChannelElement *che, int type, int samples);
474 } AACDecDSP;
475 
476 /**
477  * main AAC decoding context
478  */
480  const struct AVClass *class;
482 
485 
486  struct AVFrame *frame;
487 
488  int is_saved; ///< Set if elements have stored overlap from previous frame.
490 
491  /**
492  * @name Channel element related data
493  * @{
494  */
499  /** @} */
500 
501  /**
502  * @name temporary aligned temporary buffers
503  * (We do not want to have these on the stack.)
504  * @{
505  */
506  INTFLOAT_ALIGNED_UNION(32, buf_mdct, 1024);
507  INTFLOAT_ALIGNED_UNION(32, temp, 128);
508  /** @} */
509 
510  /**
511  * @name Computed / set up during initialization
512  * @{
513  */
523 
533  union {
536  };
538  /** @} */
539 
540  /**
541  * @name Members used for output
542  * @{
543  */
544  SingleChannelElement *output_element[MAX_CHANNELS]; ///< Points to each SingleChannelElement
545  /** @} */
546 
547 
548  /**
549  * @name Japanese DTV specific extension
550  * @{
551  */
552  int force_dmono_mode;///< 0->not dmono, 1->use first channel, 2->use second channel
553  int dmono_mode; ///< 0->not dmono, 1->use first channel, 2->use second channel
554  /** @} */
555 
557 
561  unsigned warned_71_wide;
564 
565  int is_fixed;
566 };
567 
568 #if defined(USE_FIXED) && USE_FIXED
569 #define fdsp RENAME_FIXED(fdsp)
570 #endif
571 
575 
577  GetBitContext *gb, int common_window, int scale_flag);
578 
580  GetBitContext *gb, const IndividualChannelStream *ics);
581 
583  uint8_t (*layout_map)[3],
584  int *tags,
585  int channel_config);
586 
588  uint8_t layout_map[MAX_ELEM_ID * 4][3], int tags,
589  enum OCStatus oc_type, int get_new_frame);
590 
591 ChannelElement *ff_aac_get_che(AACDecContext *ac, int type, int elem_id);
592 
593 #endif /* AVCODEC_AAC_AACDEC_H */
ChannelCoupling::type
enum RawDataBlockType type[8]
Type of channel element to be coupled - SCE or CPE.
Definition: aacdec.h:200
AACUsacMPSData::nb_param_sets
int nb_param_sets
Definition: aacdec.h:236
CouplingPoint
CouplingPoint
The point during decoding at which channel coupling is applied.
Definition: aacdec.h:69
MAX_ELEM_ID
#define MAX_ELEM_ID
Definition: aac.h:34
AACUsacElemConfig::stereo_config_index
uint8_t stereo_config_index
Definition: aacdec.h:333
AACUsacStereo::tns_on_lr
uint8_t tns_on_lr
Apply TNS before M/S and stereo prediction.
Definition: aacdec.h:263
AACUsacElemData::ac
AACArithState ac
Definition: aacdec.h:157
AACDecProc::decode_spectrum_and_dequant
int(* decode_spectrum_and_dequant)(AACDecContext *ac, GetBitContext *gb, const Pulse *pulse, SingleChannelElement *sce)
Definition: aacdec.h:427
AACUsacElemData::offset
uint8_t offset
Definition: aacdec.h:149
AACUsacElemConfig::limiter_gains
uint8_t limiter_gains
Definition: aacdec.h:351
AACDecContext::mdct960_fn
av_tx_fn mdct960_fn
Definition: aacdec.h:530
AACOutputChannelOrder
AACOutputChannelOrder
Definition: aacdec.h:61
SingleChannelElement::predictor_state
struct PredictorState * predictor_state
Definition: aacdec.h:225
BETWEEN_TNS_AND_IMDCT
@ BETWEEN_TNS_AND_IMDCT
Definition: aacdec.h:71
AACDecDSP::apply_intensity_stereo
void(* apply_intensity_stereo)(AACDecContext *ac, ChannelElement *cpe, int ms_present)
Definition: aacdec.h:449
aacdec_ac.h
AACUSACConfig
Definition: aacdec.h:382
ID_EXT_ELE_SAOC
@ ID_EXT_ELE_SAOC
Definition: aacdec.h:91
mem_internal.h
AACDecContext::mdct1024_fn
av_tx_fn mdct1024_fn
Definition: aacdec.h:531
AACUSACConfig::stream_identifier
uint16_t stream_identifier
Definition: aacdec.h:385
AACUSACConfig::nb_album
uint8_t nb_album
Definition: aacdec.h:391
AACDecContext::warned_he_aac_mono
int warned_he_aac_mono
Definition: aacdec.h:563
AACDecContext::mdct96
AVTXContext * mdct96
Definition: aacdec.h:514
AACUsacElemConfig::payload_frag
uint8_t payload_frag
Definition: aacdec.h:375
AACUsacMPSData::temp_shape_data
int16_t temp_shape_data[MPS_MAX_TIME_SLOTS]
Definition: aacdec.h:254
AACUsacStereo::mps
AACUsacMPSData mps
Definition: aacdec.h:275
MPS_MAX_TIME_SLOTS
#define MPS_MAX_TIME_SLOTS
Definition: aac.h:41
LongTermPrediction::INTFLOAT_UNION
INTFLOAT_UNION(coef,)
AVTXContext
Definition: tx_priv.h:235
AACDecProc::sbr_ctx_alloc_init
int(* sbr_ctx_alloc_init)(AACDecContext *ac, ChannelElement **che, int id_aac)
Definition: aacdec.h:434
ID_USAC_LFE
@ ID_USAC_LFE
Definition: aacdec.h:78
AACUSACLoudnessInfo::measurements
struct AACUSACLoudnessInfo::@27 measurements[16]
AACDecContext::mdct768
AVTXContext * mdct768
Definition: aacdec.h:519
AACUsacElemConfig::tw_mdct
uint8_t tw_mdct
Definition: aacdec.h:330
OC_TRIAL_PCE
@ OC_TRIAL_PCE
Output configuration under trial specified by an inband PCE.
Definition: aacdec.h:55
AACUsacElemData::acelp_core_mode
uint8_t acelp_core_mode
Definition: aacdec.h:136
AVFrame
This structure describes decoded (raw) audio or video data.
Definition: frame.h:427
aacdec_usac_mps212.h
AACUsacMPSData
Definition: aacdec.h:233
AACDecContext::mdct960
AVTXContext * mdct960
Definition: aacdec.h:520
AACUsacStereo::config_idx
uint8_t config_idx
Definition: aacdec.h:266
R
#define R
Definition: huffyuv.h:44
TemporalNoiseShaping::present
int present
Definition: aacdec.h:186
AACUsacElemData::scale_factor_grouping
uint8_t scale_factor_grouping
Definition: aacdec.h:128
AACDecContext::tag_che_map
ChannelElement * tag_che_map[4][MAX_ELEM_ID]
Definition: aacdec.h:496
AACUSACConfig::nb_info
uint8_t nb_info
Definition: aacdec.h:393
AACUsacElemConfig::dflt
struct AACUsacElemConfig::@28::@31 dflt
AVFixedDSPContext
Definition: fixed_dsp.h:55
LongTermPrediction::used
int8_t used[MAX_LTP_LONG_SFB]
Definition: aacdec.h:122
AACUSACLoudnessInfo::measurement
uint8_t measurement
Definition: aacdec.h:313
AACDecDSP::apply_tns
void(* apply_tns)(void *_coef_param, TemporalNoiseShaping *tns, IndividualChannelStream *ics, int decode)
Definition: aacdec.h:452
AACUsacElemConfig::noise_bands
uint8_t noise_bands
Definition: aacdec.h:348
AACDecContext::warned_remapping_once
int warned_remapping_once
Definition: aacdec.h:498
AACDecContext::proc
AACDecProc proc
Definition: aacdec.h:484
AACUsacElemConfig::bs_pvc
uint8_t bs_pvc
Definition: aacdec.h:340
AACUsacStereo::pred_dir
uint8_t pred_dir
Definition: aacdec.h:270
AACDecContext::mdct512_fn
av_tx_fn mdct512_fn
Definition: aacdec.h:528
AACDecDSP::apply_prediction
void(* apply_prediction)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:458
AACUsacElemData::tns_data_present
uint8_t tns_data_present
Definition: aacdec.h:129
ChannelElement::ch
SingleChannelElement ch[2]
Definition: aacdec.h:296
AACUsacElemData::level
uint8_t level
Definition: aacdec.h:148
ChannelElement::present
int present
Definition: aacdec.h:291
ID_CONFIG_EXT_STREAM_ID
@ ID_CONFIG_EXT_STREAM_ID
Definition: aacdec.h:85
ID_USAC_EXT
@ ID_USAC_EXT
Definition: aacdec.h:79
ff_aac_decode_init_float
int ff_aac_decode_init_float(AVCodecContext *avctx)
Definition: aacdec_float.c:164
AACDecContext::dmono_mode
int dmono_mode
0->not dmono, 1->use first channel, 2->use second channel
Definition: aacdec.h:553
AACUSACLoudnessInfo::true_peak
struct AACUSACLoudnessInfo::@26 true_peak
MPEG4AudioConfig
Definition: mpeg4audio.h:29
DynamicRangeControl
Dynamic Range Control - decoded from the bitstream but not processed further.
Definition: aacdec.h:410
AACUsacElemConfig::pseudo_lr
uint8_t pseudo_lr
Definition: aacdec.h:369
IndividualChannelStream::num_swb
int num_swb
number of scalefactor window bands
Definition: aacdec.h:172
ff_aac_decode_init_fixed
int ff_aac_decode_init_fixed(AVCodecContext *avctx)
Dequantization-related.
Definition: aacdec_fixed.c:87
ChannelCoupling::INTFLOAT_UNION
INTFLOAT_UNION(gain, [16][120])
ChannelCoupling::coupling_point
enum CouplingPoint coupling_point
The point during decoding at which coupling is applied.
Definition: aacdec.h:198
SingleChannelElement::coeffs
float coeffs[1024]
coefficients for IMDCT, maybe processed
Definition: aacenc.h:119
AACUsacElemData::core_mode
uint8_t core_mode
Definition: aacdec.h:127
AACDecContext::force_dmono_mode
int force_dmono_mode
0->not dmono, 1->use first channel, 2->use second channel
Definition: aacdec.h:552
AACDecContext::warned_960_sbr
int warned_960_sbr
Definition: aacdec.h:560
AACDecContext::mdct480
AVTXContext * mdct480
Definition: aacdec.h:517
mpeg4audio.h
AACUsacElemConfig::interpol_freq
uint8_t interpol_freq
Definition: aacdec.h:352
AACUsacElemData::gain
uint8_t gain
Definition: aacdec.h:153
ChannelElement::coup
ChannelCoupling coup
Definition: aacdec.h:298
ChannelCoupling::id_select
int id_select[8]
element id
Definition: aacdec.h:201
SingleChannelElement::ret_buf
float ret_buf[2048]
PCM output buffer.
Definition: aacenc.h:120
ID_EXT_ELE_AUDIOPREROLL
@ ID_EXT_ELE_AUDIOPREROLL
Definition: aacdec.h:92
AACDecContext::warned_71_wide
unsigned warned_71_wide
Definition: aacdec.h:561
MPS_MAX_PARAM_BANDS
#define MPS_MAX_PARAM_BANDS
Definition: aac.h:40
GetBitContext
Definition: get_bits.h:109
AACUsacElemData::fac
struct AACUsacElemData::@20 fac
AACUSACLoudnessInfo::method_def
uint8_t method_def
Definition: aacdec.h:320
IndividualChannelStream::window_clipping
uint8_t window_clipping[8]
set if a certain window is near clipping
Definition: aacdec.h:179
AACDecContext::tags_mapped
int tags_mapped
Definition: aacdec.h:497
AACUsacElemConfig::high_rate_mode
uint8_t high_rate_mode
Definition: aacdec.h:362
AACDecProc::sbr_apply
void(* sbr_apply)(AACDecContext *ac, ChannelElement *che, int id_aac, void *L, void *R)
Definition: aacdec.h:437
OutputConfiguration::status
enum OCStatus status
Definition: aacdec.h:403
type
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 type
Definition: writing_filters.txt:86
AACUsacElemConfig::freq_res
uint8_t freq_res
Definition: aacdec.h:358
IndividualChannelStream::prediction_used
uint8_t prediction_used[41]
Definition: aacdec.h:178
AACDecContext::che_drc
DynamicRangeControl che_drc
Definition: aacdec.h:489
MAX_LTP_LONG_SFB
#define MAX_LTP_LONG_SFB
Definition: aac.h:37
SingleChannelElement::ics
IndividualChannelStream ics
Definition: aacdec.h:212
AACUsacMPSData::smooth_time
int smooth_time[MPS_MAX_PARAM_SETS]
Definition: aacdec.h:246
AACDecContext::mdct480_fn
av_tx_fn mdct480_fn
Definition: aacdec.h:527
AACUsacElemConfig::pl_data_offset
uint32_t pl_data_offset
Definition: aacdec.h:377
ID_CONFIG_EXT_FILL
@ ID_CONFIG_EXT_FILL
Definition: aacdec.h:83
AACUsacElemConfig
Definition: aacdec.h:327
AACUsacElemData::kv
uint32_t kv[8][8]
Definition: aacdec.h:154
AACUsacMPSData::param_sets
int param_sets[MPS_MAX_PARAM_SETS]
Definition: aacdec.h:237
AACUsacElemData::last_lpd_mode
int last_lpd_mode
Definition: aacdec.h:143
AACDecDSP::dequant_scalefactors
void(* dequant_scalefactors)(SingleChannelElement *sce)
Definition: aacdec.h:446
AACUsacElemConfig::residual_bands
uint8_t residual_bands
Definition: aacdec.h:368
DynamicRangeControl::exclude_mask
int exclude_mask[MAX_CHANNELS]
Channels to be excluded from DRC processing.
Definition: aacdec.h:414
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
ff_aac_decode_init
int ff_aac_decode_init(AVCodecContext *avctx)
Definition: aacdec.c:1210
OC_GLOBAL_HDR
@ OC_GLOBAL_HDR
Output configuration set in a global header but not yet locked.
Definition: aacdec.h:57
AACDecContext::mdct_ltp
AVTXContext * mdct_ltp
Definition: aacdec.h:522
decode
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
Definition: decode_audio.c:72
AACUsacElemData::core_mode_last
uint8_t core_mode_last
Definition: aacdec.h:140
AACUsacElemConfig::harmonic_sbr
uint8_t harmonic_sbr
Definition: aacdec.h:338
AACDecDSP::apply_mid_side_stereo
void(* apply_mid_side_stereo)(AACDecContext *ac, ChannelElement *cpe)
Definition: aacdec.h:448
ChannelCoupling::num_coupled
int num_coupled
number of target elements
Definition: aacdec.h:199
AACUsacMPSData::tsd_phase_data
int tsd_phase_data[64]
Definition: aacdec.h:257
AACUsacMPSData::tsd_num_tr_slots
int tsd_num_tr_slots
Definition: aacdec.h:256
TemporalNoiseShaping::direction
int direction[8][4]
Definition: aacdec.h:189
AACDecProc::decode_cce
int(* decode_cce)(AACDecContext *ac, GetBitContext *gb, ChannelElement *che)
Definition: aacdec.h:432
AACUsacMPSData::tsd_enable
bool tsd_enable
Definition: aacdec.h:251
PredictorState
Predictor State.
Definition: aac_defines.h:130
AACUsacElemData
Definition: aacdec.h:126
AACDecDSP::imdct_and_windowing_ld
void(* imdct_and_windowing_ld)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:470
AACUsacStereo::ms_mask_mode
uint8_t ms_mask_mode
Definition: aacdec.h:265
LongTermPrediction::present
int8_t present
Definition: aacdec.h:119
AACUSACConfig::core_sbr_frame_len_idx
uint8_t core_sbr_frame_len_idx
Definition: aacdec.h:383
fixed_dsp.h
ExtensionHeaderType
ExtensionHeaderType
Definition: aacdec.h:82
IndividualChannelStream
Individual Channel Stream.
Definition: aacdec.h:163
AACDecContext::che
ChannelElement * che[4][MAX_ELEM_ID]
Definition: aacdec.h:495
UNIDRCLOUDEXT_TERM
@ UNIDRCLOUDEXT_TERM
Definition: aacdec.h:97
ID_USAC_CPE
@ ID_USAC_CPE
Definition: aacdec.h:77
AACUsacElemConfig::sbr
struct AACUsacElemConfig::@28 sbr
AACDecContext::fdsp
AVFloatDSPContext * fdsp
Definition: aacdec.h:535
AACDecContext::warned_num_aac_frames
int warned_num_aac_frames
Definition: aacdec.h:559
AACUSACConfig::loudness
struct AACUSACConfig::@32 loudness
AVClass
Describe the class of an AVClass context structure.
Definition: log.h:76
AACDecContext::mdct96_fn
av_tx_fn mdct96_fn
Definition: aacdec.h:524
AACUsacMPSData::ott
AACMPSLosslessData ott[MPS_ELE_NB]
Definition: aacdec.h:240
AACDecProc::sbr_decode_extension
int(* sbr_decode_extension)(AACDecContext *ac, ChannelElement *che, GetBitContext *gb, int crc, int cnt, int id_aac)
Definition: aacdec.h:435
AACUsacElemConfig::ext
struct AACUsacElemConfig::@30 ext
AACUsacElemData::seed
unsigned int seed
Definition: aacdec.h:147
AACUSACConfig::core_frame_len
uint16_t core_frame_len
Definition: aacdec.h:384
IndividualChannelStream::use_kb_window
uint8_t use_kb_window[2]
If set, use Kaiser-Bessel window, otherwise use a sine window.
Definition: aacdec.h:166
IndividualChannelStream::num_window_groups
int num_window_groups
Definition: aacdec.h:167
BEFORE_TNS
@ BEFORE_TNS
Definition: aacdec.h:70
AACUsacElemData::ldp
struct AACUsacElemData::@18 ldp
ChannelElement::ms_mask
uint8_t ms_mask[128]
Set if mid/side stereo is used for each scalefactor window band.
Definition: aacdec.h:294
aac.h
IndividualChannelStream::predictor_present
int predictor_present
Definition: aacdec.h:175
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:417
AACUsacElemConfig::noise_fill
uint8_t noise_fill
Definition: aacdec.h:331
AACUSACLoudnessInfo::drc_set_id
uint8_t drc_set_id
Definition: aacdec.h:304
AACUSACLoudnessInfo::lvl
uint16_t lvl
Definition: aacdec.h:307
SingleChannelElement::INTFLOAT_UNION
INTFLOAT_UNION(sf, [128])
scalefactors (8 windows * 16 sfb max)
AACUsacElemConfig::temp_shape_config
uint8_t temp_shape_config
Definition: aacdec.h:360
AACUSACLoudnessInfo::method_val
uint8_t method_val
Definition: aacdec.h:321
TNS_MAX_ORDER
#define TNS_MAX_ORDER
Definition: aac.h:36
AACDecContext::mdct120
AVTXContext * mdct120
Definition: aacdec.h:515
AACUsacStereo
Definition: aacdec.h:260
OC_LOCKED
@ OC_LOCKED
Output configuration locked in place.
Definition: aacdec.h:58
index
int index
Definition: gxfenc.c:90
IndividualChannelStream::prev_num_window_groups
int prev_num_window_groups
Previous frame's number of window groups.
Definition: aacdec.h:168
AACUsacElemConfig::default_len
uint32_t default_len
Definition: aacdec.h:376
float_dsp.h
OutputConfiguration::layout_map_tags
int layout_map_tags
Definition: aacdec.h:401
SingleChannelElement::ue
AACUsacElemData ue
USAC element data.
Definition: aacdec.h:213
AACUsacExtension
AACUsacExtension
Definition: aacdec.h:88
AACDecDSP
DSP-specific primitives.
Definition: aacdec.h:445
OutputConfiguration::layout_map
uint8_t layout_map[MAX_ELEM_ID *4][3]
Definition: aacdec.h:400
AACDecDSP::update_ltp
void(* update_ltp)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:456
AACUsacMPSData::smg_data
bool smg_data[MPS_MAX_PARAM_SETS][MPS_MAX_PARAM_BANDS]
Definition: aacdec.h:248
AACDecDSP::apply_independent_coupling
void(* apply_independent_coupling)(AACDecContext *ac, SingleChannelElement *target, ChannelElement *cce, int index)
Definition: aacdec.h:463
AACUsacElemConfig::bs_intertes
uint8_t bs_intertes
Definition: aacdec.h:339
ff_aac_get_che
ChannelElement * ff_aac_get_che(AACDecContext *ac, int type, int elem_id)
Definition: aacdec.c:623
IndividualChannelStream::window_sequence
enum WindowSequence window_sequence[2]
Definition: aacdec.h:165
AACUsacMPSData::ott_idx
int ott_idx[MPS_ELE_NB][MPS_MAX_PARAM_SETS][MPS_MAX_PARAM_BANDS]
Definition: aacdec.h:241
AACDecContext::dsp
AACDecDSP dsp
Definition: aacdec.h:483
AACDecDSP::clip_output
void(* clip_output)(AACDecContext *ac, ChannelElement *che, int type, int samples)
Definition: aacdec.h:473
MPS_ELE_NB
@ MPS_ELE_NB
Definition: aacdec_usac_mps212.h:34
MPS_MAX_PARAM_SETS
#define MPS_MAX_PARAM_SETS
Definition: aac.h:39
OC_NONE
@ OC_NONE
Output unconfigured.
Definition: aacdec.h:54
AACDecDSP::apply_dependent_coupling
void(* apply_dependent_coupling)(AACDecContext *ac, SingleChannelElement *target, ChannelElement *cce, int index)
Definition: aacdec.h:460
AACUsacElemConfig::otts_bands_phase_present
uint8_t otts_bands_phase_present
Definition: aacdec.h:365
AACUsacMPSData::framing_type
int framing_type
Definition: aacdec.h:235
AVChannelLayout
An AVChannelLayout holds information about the channel layout of audio data.
Definition: channel_layout.h:319
AACDecContext::mdct1024
AVTXContext * mdct1024
Definition: aacdec.h:521
BandType
BandType
Definition: aac.h:70
AACDecDSP::imdct_and_windowing
void(* imdct_and_windowing)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:467
ChannelElement::max_sfb_ste
uint8_t max_sfb_ste
(USAC) Maximum of both max_sfb values
Definition: aacdec.h:293
OCStatus
OCStatus
Output configuration status.
Definition: aacdec.h:53
AACUsacElem
AACUsacElem
Definition: aacdec.h:75
SingleChannelElement::sfo
int sfo[128]
scalefactor offsets
Definition: aacdec.h:216
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:418
AACUSACLoudnessInfo::nb_measurements
uint8_t nb_measurements
Definition: aacdec.h:318
AACDecContext::output_element
SingleChannelElement * output_element[MAX_CHANNELS]
Points to each SingleChannelElement.
Definition: aacdec.h:544
AACUsacElemData::noise
struct AACUsacElemData::@19 noise
ChannelElement::us
AACUsacStereo us
Definition: aacdec.h:300
AVFloatDSPContext
Definition: float_dsp.h:24
AACDecContext::output_channel_order
enum AACOutputChannelOrder output_channel_order
Definition: aacdec.h:556
OutputConfiguration
Definition: aacdec.h:398
AACUSACLoudnessInfo::present
uint8_t present
Definition: aacdec.h:308
AACUsacMPSData::freq_res_stride_smg
int freq_res_stride_smg[MPS_MAX_PARAM_SETS]
Definition: aacdec.h:247
AACMPSLosslessData
Definition: aacdec_usac_mps212.h:37
AACDecContext::INTFLOAT_ALIGNED_UNION
INTFLOAT_ALIGNED_UNION(32, buf_mdct, 1024)
AACUsacElemConfig::stop_freq
uint8_t stop_freq
Definition: aacdec.h:344
SingleChannelElement::band_type
enum BandType band_type[128]
band types
Definition: aacdec.h:215
MAX_CHANNELS
#define MAX_CHANNELS
Definition: aac.h:33
AACDecContext::mdct128
AVTXContext * mdct128
Definition: aacdec.h:516
DynamicRangeControl::dyn_rng_ctl
int dyn_rng_ctl[17]
DRC magnitude information.
Definition: aacdec.h:413
AACUsacElemConfig::fixed_gain
uint8_t fixed_gain
Definition: aacdec.h:359
ID_CONFIG_EXT_LOUDNESS_INFO
@ ID_CONFIG_EXT_LOUDNESS_INFO
Definition: aacdec.h:84
AACDecDSP::apply_ltp
void(* apply_ltp)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:455
SingleChannelElement::output
float * output
PCM output.
Definition: aacdec.h:228
AACDecContext::mdct768_fn
av_tx_fn mdct768_fn
Definition: aacdec.h:529
AACDecDSP::imdct_and_windowing_960
void(* imdct_and_windowing_960)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:469
ff_aac_decode_tns
int ff_aac_decode_tns(AACDecContext *ac, TemporalNoiseShaping *tns, GetBitContext *gb, const IndividualChannelStream *ics)
Decode Temporal Noise Shaping data; reference: table 4.48.
Definition: aacdec.c:1590
ff_aac_output_configure
int ff_aac_output_configure(AACDecContext *ac, uint8_t layout_map[MAX_ELEM_ID *4][3], int tags, enum OCStatus oc_type, int get_new_frame)
Configure output channel order based on the current program configuration element.
Definition: aacdec.c:487
ff_aac_decode_ics
int ff_aac_decode_ics(AACDecContext *ac, SingleChannelElement *sce, GetBitContext *gb, int common_window, int scale_flag)
Decode an individual_channel_stream payload; reference: table 4.44.
Definition: aacdec.c:1697
AACUsacStereo::pred_used
uint8_t pred_used[128]
Definition: aacdec.h:273
AACUSACLoudnessInfo::downmix_id
uint8_t downmix_id
Definition: aacdec.h:305
AACUSACLoudnessInfo::sample_peak
struct AACUSACLoudnessInfo::@25 sample_peak
ff_aac_set_default_channel_config
int ff_aac_set_default_channel_config(AACDecContext *ac, AVCodecContext *avctx, uint8_t(*layout_map)[3], int *tags, int channel_config)
Set up channel positions based on a default channel configuration as specified in table 1....
Definition: aacdec.c:583
CHANNEL_ORDER_CODED
@ CHANNEL_ORDER_CODED
Definition: aacdec.h:63
RawDataBlockType
RawDataBlockType
Definition: aac.h:43
SingleChannelElement
Single Channel Element - used for both SCE and LFE elements.
Definition: aacdec.h:211
AACDecContext::is_fixed
int is_fixed
Definition: aacdec.h:565
IndividualChannelStream::num_windows
int num_windows
Definition: aacdec.h:173
OutputConfiguration::usac
AACUSACConfig usac
Definition: aacdec.h:404
AACDecContext::warned_gain_control
int warned_gain_control
Definition: aacdec.h:562
AACDecContext::random_state
int random_state
Definition: aacdec.h:537
ChannelElement
channel element - generic struct for SCE/CPE/CCE/LFE
Definition: aacdec.h:290
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:171
AACUsacElemConfig::type
enum AACUsacElem type
Definition: aacdec.h:328
RENAME_FIXED
#define RENAME_FIXED(name)
Definition: aacdec.h:102
LongTermPrediction::lag
int16_t lag
Definition: aacdec.h:120
AACUsacElemConfig::decorr_config
uint8_t decorr_config
Definition: aacdec.h:361
TemporalNoiseShaping::order
int order[8][4]
Definition: aacdec.h:190
NUM_TW_NODES
#define NUM_TW_NODES
Definition: aacdec.h:132
AACUsacStereo::use_prev_frame
uint8_t use_prev_frame
Definition: aacdec.h:269
AACDecContext::oc
OutputConfiguration oc[2]
Definition: aacdec.h:558
AACUsacStereo::common_tw
uint8_t common_tw
Definition: aacdec.h:262
IndividualChannelStream::tns_max_bands
int tns_max_bands
Definition: aacdec.h:174
TemporalNoiseShaping::length
int length[8][4]
Definition: aacdec.h:188
AACDecDSP::imdct_and_windowing_eld
void(* imdct_and_windowing_eld)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:471
AACUsacElemConfig::limiter_bands
uint8_t limiter_bands
Definition: aacdec.h:350
AACUSACConfig::nb_elems
int nb_elems
Definition: aacdec.h:388
AACUsacElemConfig::start_freq
uint8_t start_freq
Definition: aacdec.h:343
avcodec.h
ID_EXT_ELE_UNI_DRC
@ ID_EXT_ELE_UNI_DRC
Definition: aacdec.h:93
SingleChannelElement::INTFLOAT_ALIGNED_UNION
INTFLOAT_ALIGNED_UNION(32, coeffs, 1024)
coefficients for IMDCT, maybe processed
DynamicRangeControl::pce_instance_tag
int pce_instance_tag
Indicates with which program the DRC info is associated.
Definition: aacdec.h:411
AACUsacStereo::common_window
uint8_t common_window
Definition: aacdec.h:261
AACUsacElemConfig::freq_scale
uint8_t freq_scale
Definition: aacdec.h:346
AACUsacMPSData::temp_shape_enable
bool temp_shape_enable
Definition: aacdec.h:252
AACUsacStereo::complex_coef
uint8_t complex_coef
Definition: aacdec.h:271
AACDecContext::frame
struct AVFrame * frame
Definition: aacdec.h:486
UNIDRCLOUDEXT_EQ
@ UNIDRCLOUDEXT_EQ
Definition: aacdec.h:98
TemporalNoiseShaping::coef
float coef[8][4][TNS_MAX_ORDER]
Definition: aacenc.h:101
CHANNEL_ORDER_DEFAULT
@ CHANNEL_ORDER_DEFAULT
Definition: aacdec.h:62
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:202
SingleChannelElement::tns
TemporalNoiseShaping tns
Definition: aacdec.h:214
TemporalNoiseShaping::INTFLOAT_UNION
INTFLOAT_UNION(coef, [8][4][TNS_MAX_ORDER])
AACDecContext
main AAC decoding context
Definition: aacdec.h:479
AACUSACConfig::info
AACUSACLoudnessInfo info[64]
Definition: aacdec.h:394
AVCodecContext
main external API structure.
Definition: avcodec.h:439
AACUsacElemData::fac_data_present
uint8_t fac_data_present
Definition: aacdec.h:141
AACUsacMPSData::temp_shape_enable_ch
bool temp_shape_enable_ch[2]
Definition: aacdec.h:253
LongTermPrediction
Long Term Prediction.
Definition: aacdec.h:118
channel_layout.h
smooth_mode
smooth_mode
Definition: vf_deflicker.c:36
AACDecContext::avctx
struct AVCodecContext * avctx
Definition: aacdec.h:481
AACUsacElemConfig::smoothing_mode
uint8_t smoothing_mode
Definition: aacdec.h:353
AACUSACLoudnessInfo
Definition: aacdec.h:303
TemporalNoiseShaping
Temporal Noise Shaping.
Definition: aacdec.h:185
AACUsacElemConfig::env_quant_mode
uint8_t env_quant_mode
Definition: aacdec.h:370
temp
else temp
Definition: vf_mcdeint.c:271
L
#define L(x)
Definition: vpx_arith.h:36
samples
Filter the word “frame” indicates either a video frame or a group of audio samples
Definition: filter_design.txt:8
DynamicRangeControl::band_incr
int band_incr
Number of DRC bands greater than 1 having DRC info.
Definition: aacdec.h:415
AACDecContext::mdct_ltp_fn
av_tx_fn mdct_ltp_fn
Definition: aacdec.h:532
AACUsacElemConfig::ratio
int ratio
Definition: aacdec.h:336
OutputConfiguration::m4ac
MPEG4AudioConfig m4ac
Definition: aacdec.h:399
AACUSACConfig::elems
AACUsacElemConfig elems[MAX_ELEM_ID]
Definition: aacdec.h:387
OutputConfiguration::ch_layout
AVChannelLayout ch_layout
Definition: aacdec.h:402
AACDecDSP::imdct_and_windowing_768
void(* imdct_and_windowing_768)(AACDecContext *ac, SingleChannelElement *sce)
Definition: aacdec.h:468
AACDecContext::is_saved
int is_saved
Set if elements have stored overlap from previous frame.
Definition: aacdec.h:488
ID_EXT_ELE_MPEGS
@ ID_EXT_ELE_MPEGS
Definition: aacdec.h:90
AACUsacMPSData::opd_smoothing_mode
bool opd_smoothing_mode
Definition: aacdec.h:242
DynamicRangeControl::dyn_rng_sgn
int dyn_rng_sgn[17]
DRC sign information; 0 - positive, 1 - negative.
Definition: aacdec.h:412
AACUsacElemData::tw_ratio
uint8_t tw_ratio[NUM_TW_NODES]
Definition: aacdec.h:133
AACUSACLoudnessInfo::reliability
uint8_t reliability
Definition: aacdec.h:314
ChannelCoupling
coupling parameters
Definition: aacdec.h:197
AACUsacStereo::INTFLOAT_ALIGNED_UNION
INTFLOAT_ALIGNED_UNION(32, alpha_q_re, 1024)
AACDecProc
Decode-specific primitives.
Definition: aacdec.h:426
IndividualChannelStream::max_sfb
uint8_t max_sfb
number of scalefactor bands per group
Definition: aacdec.h:164
Pulse
Definition: aac.h:103
AACDecContext::mdct512
AVTXContext * mdct512
Definition: aacdec.h:518
DynamicRangeControl::interpolation_scheme
int interpolation_scheme
Indicates the interpolation scheme used in the SBR QMF domain.
Definition: aacdec.h:416
WindowSequence
WindowSequence
Definition: aac.h:63
AFTER_IMDCT
@ AFTER_IMDCT
Definition: aacdec.h:72
IndividualChannelStream::ltp
LongTermPrediction ltp
Definition: aacdec.h:170
AACUsacElemConfig::alter_scale
uint8_t alter_scale
Definition: aacdec.h:347
AACArithState
Definition: aacdec_ac.h:27
AACUsacElemConfig::residual_coding
uint8_t residual_coding
Definition: aacdec.h:367
AACUsacElemConfig::otts_bands_phase
uint8_t otts_bands_phase
Definition: aacdec.h:366
AACUSACLoudnessExt
AACUSACLoudnessExt
Definition: aacdec.h:96
IndividualChannelStream::group_len
uint8_t group_len[8]
Definition: aacdec.h:169
AACUsacElemConfig::pl_buf
uint8_t * pl_buf
Definition: aacdec.h:378
TemporalNoiseShaping::n_filt
int n_filt[8]
Definition: aacdec.h:187
AACUsacElemData::lpd_mode
uint8_t lpd_mode
Definition: aacdec.h:137
OC_TRIAL_FRAME
@ OC_TRIAL_FRAME
Output configuration under trial specified by a frame header.
Definition: aacdec.h:56
AACUsacElemData::bpf_control_info
uint8_t bpf_control_info
Definition: aacdec.h:139
AACUsacElemConfig::phase_coding
uint8_t phase_coding
Definition: aacdec.h:363
AACDecProc::sbr_ctx_close
void(* sbr_ctx_close)(ChannelElement *che)
Definition: aacdec.h:439
AACUsacElemConfig::mps
struct AACUsacElemConfig::@29 mps
ID_EXT_ELE_FILL
@ ID_EXT_ELE_FILL
Definition: aacdec.h:89
IndividualChannelStream::predictor_reset_group
int predictor_reset_group
Definition: aacdec.h:177
tx.h
AACUSACConfig::album_info
AACUSACLoudnessInfo album_info[64]
Definition: aacdec.h:392
AACDecContext::mdct120_fn
av_tx_fn mdct120_fn
Definition: aacdec.h:525
AACDecContext::mdct128_fn
av_tx_fn mdct128_fn
Definition: aacdec.h:526
IndividualChannelStream::predictor_initialized
int predictor_initialized
Definition: aacdec.h:176
ID_USAC_SCE
@ ID_USAC_SCE
Definition: aacdec.h:76