libavcodec/aac.h File Reference

AAC definitions and structures. More...

#include "avcodec.h"
#include "dsputil.h"
#include "fft.h"
#include "mpeg4audio.h"
#include "sbr.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 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
#define SCALE_DIV_512   36
 scalefactor difference that corresponds to scale difference in 512 times
#define SCALE_ONE_POS   140
 scalefactor index that corresponds to scale=1.0
#define SCALE_MAX_POS   255
 scalefactor index maximum value
#define SCALE_MAX_DIFF   60
 maximum scalefactor difference allowed by standard
#define SCALE_DIFF_ZERO   60
 codebook index corresponding to zero scalefactor indices difference

Enumerations

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...
enum  OCStatus {
  OC_NONE, OC_TRIAL_PCE, OC_TRIAL_FRAME, OC_GLOBAL_HDR,
  OC_LOCKED
}
 Output configuration status. 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 IS_CODEBOOK_UNSIGNED (  )     ((x - 1) & 10)

Definition at line 82 of file aac.h.

Referenced by quantize_and_encode_band_cost().

#define MAX_CHANNELS   64

#define MAX_ELEM_ID   16

#define MAX_PREDICTORS   672

Definition at line 124 of file aac.h.

Referenced by reset_all_predictors(), and reset_predictor_group().

#define SCALE_DIFF_ZERO   60

codebook index corresponding to zero scalefactor indices difference

Definition at line 130 of file aac.h.

Referenced by encode_scale_factors(), search_for_quantizers_anmr(), and search_for_quantizers_twoloop().

#define SCALE_DIV_512   36

scalefactor difference that corresponds to scale difference in 512 times

Definition at line 126 of file aac.h.

Referenced by quantize_and_encode_band_cost(), search_for_quantizers_anmr(), search_for_quantizers_faac(), and search_for_quantizers_fast().

#define SCALE_MAX_DIFF   60

maximum scalefactor difference allowed by standard

Definition at line 129 of file aac.h.

Referenced by search_for_quantizers_anmr(), search_for_quantizers_faac(), and search_for_quantizers_twoloop().

#define SCALE_MAX_POS   255

scalefactor index maximum value

Definition at line 128 of file aac.h.

Referenced by search_for_quantizers_faac().

#define SCALE_ONE_POS   140

scalefactor index that corresponds to scale=1.0

Definition at line 127 of file aac.h.

Referenced by quantize_and_encode_band_cost(), search_for_quantizers_anmr(), search_for_quantizers_faac(), search_for_quantizers_fast(), and search_for_quantizers_twoloop().

#define TNS_MAX_ORDER   20

Definition at line 44 of file aac.h.

Referenced by apply_tns().


Enumeration Type Documentation

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 73 of file aac.h.

Enumerator:
AAC_CHANNEL_FRONT 
AAC_CHANNEL_SIDE 
AAC_CHANNEL_BACK 
AAC_CHANNEL_LFE 
AAC_CHANNEL_CC 

Definition at line 84 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 95 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 57 of file aac.h.

enum OCStatus

Output configuration status.

Enumerator:
OC_NONE 
OC_TRIAL_PCE 
OC_TRIAL_FRAME 
OC_GLOBAL_HDR 
OC_LOCKED 

Definition at line 104 of file aac.h.

Enumerator:
TYPE_SCE 
TYPE_CPE 
TYPE_CCE 
TYPE_LFE 
TYPE_DSE 
TYPE_PCE 
TYPE_FIL 
TYPE_END 

Definition at line 46 of file aac.h.

Enumerator:
ONLY_LONG_SEQUENCE 
LONG_START_SEQUENCE 
EIGHT_SHORT_SEQUENCE 
LONG_STOP_SEQUENCE 

Definition at line 66 of file aac.h.


Generated on Fri Oct 26 02:36:50 2012 for FFmpeg by  doxygen 1.5.8