FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
aacdec.h File Reference
#include <stdint.h>
#include "libavutil/channel_layout.h"
#include "libavutil/float_dsp.h"
#include "libavutil/fixed_dsp.h"
#include "libavutil/mem_internal.h"
#include "libavutil/tx.h"
#include "libavcodec/aac.h"
#include "libavcodec/mpeg4audio.h"

Go to the source code of this file.

Data Structures

struct  LongTermPrediction
 Long Term Prediction. More...
 
struct  IndividualChannelStream
 Individual Channel Stream. More...
 
struct  TemporalNoiseShaping
 Temporal Noise Shaping. More...
 
struct  ChannelCoupling
 coupling parameters More...
 
struct  SingleChannelElement
 Single Channel Element - used for both SCE and LFE elements. More...
 
struct  ChannelElement
 channel element - generic struct for SCE/CPE/CCE/LFE More...
 
struct  OutputConfiguration
 
struct  DynamicRangeControl
 Dynamic Range Control - decoded from the bitstream but not processed further. More...
 
struct  AACDecProc
 Decode-specific primitives. More...
 
struct  AACDecDSP
 DSP-specific primitives. More...
 
struct  AACDecContext
 main AAC decoding context More...
 

Macros

#define RENAME_FIXED(name)   name ## _fixed
 
#define INTFLOAT_UNION(name, elems)
 
#define INTFLOAT_ALIGNED_UNION(alignment, name, nb_elems)
 

Enumerations

enum  OCStatus {
  OC_NONE, OC_TRIAL_PCE, OC_TRIAL_FRAME, OC_GLOBAL_HDR,
  OC_LOCKED
}
 Output configuration status. More...
 
enum  AACOutputChannelOrder { CHANNEL_ORDER_DEFAULT, CHANNEL_ORDER_CODED }
 
enum  CouplingPoint { BEFORE_TNS, BETWEEN_TNS_AND_IMDCT, AFTER_IMDCT = 3 }
 The point during decoding at which channel coupling is applied. More...
 

Functions

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. More...
 

Variables

const AACDecDSP aac_dsp
 
const AACDecDSP aac_dsp_fixed
 
const AACDecProc aac_proc
 
const AACDecProc aac_proc_fixed
 

Detailed Description

AAC decoder definitions and structures

Author
Oded Shimon ( ods15 ods15 dyndns org )
Maxim Gavrilov ( maxim.gavrilov gmail com )

Definition in file aacdec.h.

Macro Definition Documentation

◆ RENAME_FIXED

#define RENAME_FIXED (   name)    name ## _fixed

Definition at line 72 of file aacdec.h.

◆ INTFLOAT_UNION

#define INTFLOAT_UNION (   name,
  elems 
)
Value:
union { \
int RENAME_FIXED(name) elems; \
float name elems; \
}

Definition at line 74 of file aacdec.h.

◆ INTFLOAT_ALIGNED_UNION

#define INTFLOAT_ALIGNED_UNION (   alignment,
  name,
  nb_elems 
)
Value:
union { \
DECLARE_ALIGNED(alignment, int, RENAME_FIXED(name))[nb_elems]; \
DECLARE_ALIGNED(alignment, float, name)[nb_elems]; \
}

Definition at line 80 of file aacdec.h.

Enumeration Type Documentation

◆ OCStatus

enum OCStatus

Output configuration status.

Enumerator
OC_NONE 

Output unconfigured.

OC_TRIAL_PCE 

Output configuration under trial specified by an inband PCE.

OC_TRIAL_FRAME 

Output configuration under trial specified by a frame header.

OC_GLOBAL_HDR 

Output configuration set in a global header but not yet locked.

OC_LOCKED 

Output configuration locked in place.

Definition at line 49 of file aacdec.h.

◆ AACOutputChannelOrder

Enumerator
CHANNEL_ORDER_DEFAULT 
CHANNEL_ORDER_CODED 

Definition at line 57 of file aacdec.h.

◆ CouplingPoint

The point during decoding at which channel coupling is applied.

Enumerator
BEFORE_TNS 
BETWEEN_TNS_AND_IMDCT 
AFTER_IMDCT 

Definition at line 65 of file aacdec.h.

Function Documentation

◆ 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.

Parameters
common_windowChannels have independent [0], or shared [1], Individual Channel Stream information.
scale_flagscalable [1] or non-scalable [0] AAC (Unused until scalable AAC is implemented.)
Returns
Returns error status. 0 - OK, !0 - error

Definition at line 1695 of file aacdec.c.

Referenced by aac_decode_er_frame(), aac_decode_frame_int(), decode_cce(), and decode_cpe().

Variable Documentation

◆ aac_dsp

const AACDecDSP aac_dsp

Referenced by init_dsp().

◆ aac_dsp_fixed

const AACDecDSP aac_dsp_fixed

Referenced by init_dsp().

◆ aac_proc

const AACDecProc aac_proc

Referenced by init_dsp().

◆ aac_proc_fixed

const AACDecProc aac_proc_fixed

Referenced by init_dsp().

name
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 default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
RENAME_FIXED
#define RENAME_FIXED(name)
Definition: aacdec.h:72