libavcodec/aac.h File Reference

AAC definitions and structures. More...

#include "libavutil/internal.h"
#include "avcodec.h"
#include "dsputil.h"
#include "mpeg4audio.h"
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  PredictorState
 Predictor State. More...
struct  IndividualChannelStream
 Individual Channel Stream. More...
struct  TemporalNoiseShaping
 Temporal Noise Shaping. More...
struct  DynamicRangeControl
 Dynamic Range Control - decoded from the bitstream but not processed further. More...
struct  Pulse
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  AACContext
 main AAC context More...

Defines

#define AAC_INIT_VLC_STATIC(num, size)
#define MAX_CHANNELS   64
#define MAX_ELEM_ID   16
#define TNS_MAX_ORDER   20
#define IS_CODEBOOK_UNSIGNED(x)   ((x - 1) & 10)
#define MAX_PREDICTORS   672

Enumerations

enum  AudioObjectType {
  AOT_NULL, AOT_AAC_MAIN, AOT_AAC_LC, AOT_AAC_SSR,
  AOT_AAC_LTP, AOT_SBR, AOT_AAC_SCALABLE, AOT_TWINVQ,
  AOT_CELP, AOT_HVXC, AOT_TTSI = 12, AOT_MAINSYNTH,
  AOT_WAVESYNTH, AOT_MIDI, AOT_SAFX, AOT_ER_AAC_LC,
  AOT_ER_AAC_LTP = 19, AOT_ER_AAC_SCALABLE, AOT_ER_TWINVQ, AOT_ER_BSAC,
  AOT_ER_AAC_LD, AOT_ER_CELP, AOT_ER_HVXC, AOT_ER_HILN,
  AOT_ER_PARAM, AOT_SSC
}
enum  RawDataBlockType {
  TYPE_SCE, TYPE_CPE, TYPE_CCE, TYPE_LFE,
  TYPE_DSE, TYPE_PCE, TYPE_FIL, TYPE_END
}
enum  ExtensionPayloadID {
  EXT_FILL, EXT_FILL_DATA, EXT_DATA_ELEMENT, EXT_DYNAMIC_RANGE = 0xb,
  EXT_SBR_DATA = 0xd, EXT_SBR_DATA_CRC = 0xe
}
enum  WindowSequence { ONLY_LONG_SEQUENCE, LONG_START_SEQUENCE, EIGHT_SHORT_SEQUENCE, LONG_STOP_SEQUENCE }
enum  BandType {
  ZERO_BT = 0, FIRST_PAIR_BT = 5, ESC_BT = 11, NOISE_BT = 13,
  INTENSITY_BT2 = 14, INTENSITY_BT = 15
}
enum  ChannelPosition {
  AAC_CHANNEL_FRONT = 1, AAC_CHANNEL_SIDE = 2, AAC_CHANNEL_BACK = 3, AAC_CHANNEL_LFE = 4,
  AAC_CHANNEL_CC = 5
}
enum  CouplingPoint { BEFORE_TNS, BETWEEN_TNS_AND_IMDCT, AFTER_IMDCT = 3 }
 The point during decoding at which channel coupling is applied. More...


Detailed Description

AAC definitions and structures.

Author:
Oded Shimon ( ods15 ods15 dyndns org )

Maxim Gavrilov ( maxim.gavrilov gmail com )

Definition in file aac.h.


Define Documentation

#define AAC_INIT_VLC_STATIC ( num,
size   ) 

Value:

Definition at line 40 of file aac.h.

Referenced by aac_decode_init().

#define IS_CODEBOOK_UNSIGNED (  )     ((x - 1) & 10)

Definition at line 117 of file aac.h.

Referenced by decode_spectrum_and_dequant().

#define MAX_CHANNELS   64

#define MAX_ELEM_ID   16

#define MAX_PREDICTORS   672

Definition at line 148 of file aac.h.

Referenced by reset_all_predictors(), and reset_predictor_group().

#define TNS_MAX_ORDER   20

Definition at line 49 of file aac.h.

Referenced by apply_tns().


Enumeration Type Documentation

Enumerator:
AOT_NULL 
AOT_AAC_MAIN  Y Main.
AOT_AAC_LC  Y Low Complexity.
AOT_AAC_SSR  N (code in SoC repo) Scalable Sample Rate.
AOT_AAC_LTP  N (code in SoC repo) Long Term Prediction.
AOT_SBR  N (in progress) Spectral Band Replication.
AOT_AAC_SCALABLE  N Scalable.
AOT_TWINVQ  N Twin Vector Quantizer.
AOT_CELP  N Code Excited Linear Prediction.
AOT_HVXC  N Harmonic Vector eXcitation Coding.
AOT_TTSI  N Text-To-Speech Interface.
AOT_MAINSYNTH  N Main Synthesis.
AOT_WAVESYNTH  N Wavetable Synthesis.
AOT_MIDI  N General MIDI.
AOT_SAFX  N Algorithmic Synthesis and Audio Effects.
AOT_ER_AAC_LC  N Error Resilient Low Complexity.
AOT_ER_AAC_LTP  N Error Resilient Long Term Prediction.
AOT_ER_AAC_SCALABLE  N Error Resilient Scalable.
AOT_ER_TWINVQ  N Error Resilient Twin Vector Quantizer.
AOT_ER_BSAC  N Error Resilient Bit-Sliced Arithmetic Coding.
AOT_ER_AAC_LD  N Error Resilient Low Delay.
AOT_ER_CELP  N Error Resilient Code Excited Linear Prediction.
AOT_ER_HVXC  N Error Resilient Harmonic Vector eXcitation Coding.
AOT_ER_HILN  N Error Resilient Harmonic and Individual Lines plus Noise.
AOT_ER_PARAM  N Error Resilient Parametric.
AOT_SSC  N SinuSoidal Coding.

Definition at line 51 of file aac.h.

enum BandType

Enumerator:
ZERO_BT  Scalefactors and spectral data are all zero.
FIRST_PAIR_BT  This and later band types encode two values (rather than four) with one code word.
ESC_BT  Spectral data are coded with an escape sequence.
NOISE_BT  Spectral data are scaled white noise not coded in the bitstream.
INTENSITY_BT2  Scalefactor data are intensity stereo positions.
INTENSITY_BT  Scalefactor data are intensity stereo positions.

Definition at line 108 of file aac.h.

Enumerator:
AAC_CHANNEL_FRONT 
AAC_CHANNEL_SIDE 
AAC_CHANNEL_BACK 
AAC_CHANNEL_LFE 
AAC_CHANNEL_CC 

Definition at line 119 of file aac.h.

The point during decoding at which channel coupling is applied.

Enumerator:
BEFORE_TNS 
BETWEEN_TNS_AND_IMDCT 
AFTER_IMDCT 

Definition at line 130 of file aac.h.

Enumerator:
EXT_FILL 
EXT_FILL_DATA 
EXT_DATA_ELEMENT 
EXT_DYNAMIC_RANGE 
EXT_SBR_DATA 
EXT_SBR_DATA_CRC 

Definition at line 92 of file aac.h.

Enumerator:
TYPE_SCE 
TYPE_CPE 
TYPE_CCE 
TYPE_LFE 
TYPE_DSE 
TYPE_PCE 
TYPE_FIL 
TYPE_END 

Definition at line 81 of file aac.h.

Enumerator:
ONLY_LONG_SEQUENCE 
LONG_START_SEQUENCE 
EIGHT_SHORT_SEQUENCE 
LONG_STOP_SEQUENCE 

Definition at line 101 of file aac.h.


Generated on Fri Oct 26 02:35:42 2012 for FFmpeg by  doxygen 1.5.8