FFmpeg
Data Structures | Macros | Enumerations
aac.h File Reference
#include "aac_defines.h"

Go to the source code of this file.

Data Structures

struct  PredictorState
 Predictor State. More...
 
struct  Pulse
 

Macros

#define MAX_CHANNELS   64
 
#define MAX_ELEM_ID   16
 
#define TNS_MAX_ORDER   20
 
#define MAX_LTP_LONG_SFB   40
 
#define MAX_PREDICTORS   672
 
#define SCALE_DIV_512   36
 scalefactor difference that corresponds to scale difference in 512 times More...
 
#define SCALE_ONE_POS   140
 scalefactor index that corresponds to scale=1.0 More...
 
#define SCALE_MAX_POS   255
 scalefactor index maximum value More...
 
#define SCALE_MAX_DIFF   60
 maximum scalefactor difference allowed by standard More...
 
#define SCALE_DIFF_ZERO   60
 codebook index corresponding to zero scalefactor indices difference More...
 
#define POW_SF2_ZERO   200
 ff_aac_pow2sf_tab index corresponding to pow(2, 0); More...
 
#define NOISE_PRE   256
 preamble for NOISE_BT, put in bitstream with the first noise band More...
 
#define NOISE_PRE_BITS   9
 length of preamble More...
 
#define NOISE_OFFSET   90
 subtracted from global gain, used as offset for the preamble More...
 

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, RESERVED_BT = 12,
  NOISE_BT = 13, INTENSITY_BT2 = 14, INTENSITY_BT = 15
}
 
enum  ChannelPosition {
  AAC_CHANNEL_OFF = 0, AAC_CHANNEL_FRONT = 1, AAC_CHANNEL_SIDE = 2, AAC_CHANNEL_BACK = 3,
  AAC_CHANNEL_LFE = 4, AAC_CHANNEL_CC = 5
}
 

Detailed Description

AAC definitions and structures

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

Definition in file aac.h.

Macro Definition Documentation

◆ MAX_CHANNELS

#define MAX_CHANNELS   64

Definition at line 36 of file aac.h.

◆ MAX_ELEM_ID

#define MAX_ELEM_ID   16

Definition at line 37 of file aac.h.

◆ TNS_MAX_ORDER

#define TNS_MAX_ORDER   20

Definition at line 39 of file aac.h.

◆ MAX_LTP_LONG_SFB

#define MAX_LTP_LONG_SFB   40

Definition at line 40 of file aac.h.

◆ MAX_PREDICTORS

#define MAX_PREDICTORS   672

Definition at line 102 of file aac.h.

◆ SCALE_DIV_512

#define SCALE_DIV_512   36

scalefactor difference that corresponds to scale difference in 512 times

Definition at line 104 of file aac.h.

◆ SCALE_ONE_POS

#define SCALE_ONE_POS   140

scalefactor index that corresponds to scale=1.0

Definition at line 105 of file aac.h.

◆ SCALE_MAX_POS

#define SCALE_MAX_POS   255

scalefactor index maximum value

Definition at line 106 of file aac.h.

◆ SCALE_MAX_DIFF

#define SCALE_MAX_DIFF   60

maximum scalefactor difference allowed by standard

Definition at line 107 of file aac.h.

◆ SCALE_DIFF_ZERO

#define SCALE_DIFF_ZERO   60

codebook index corresponding to zero scalefactor indices difference

Definition at line 108 of file aac.h.

◆ POW_SF2_ZERO

#define POW_SF2_ZERO   200

ff_aac_pow2sf_tab index corresponding to pow(2, 0);

Definition at line 110 of file aac.h.

◆ NOISE_PRE

#define NOISE_PRE   256

preamble for NOISE_BT, put in bitstream with the first noise band

Definition at line 112 of file aac.h.

◆ NOISE_PRE_BITS

#define NOISE_PRE_BITS   9

length of preamble

Definition at line 113 of file aac.h.

◆ NOISE_OFFSET

#define NOISE_OFFSET   90

subtracted from global gain, used as offset for the preamble

Definition at line 114 of file aac.h.

Enumeration Type Documentation

◆ RawDataBlockType

Enumerator
TYPE_SCE 
TYPE_CPE 
TYPE_CCE 
TYPE_LFE 
TYPE_DSE 
TYPE_PCE 
TYPE_FIL 
TYPE_END 

Definition at line 42 of file aac.h.

◆ ExtensionPayloadID

Enumerator
EXT_FILL 
EXT_FILL_DATA 
EXT_DATA_ELEMENT 
EXT_DYNAMIC_RANGE 
EXT_SBR_DATA 
EXT_SBR_DATA_CRC 

Definition at line 53 of file aac.h.

◆ WindowSequence

Enumerator
ONLY_LONG_SEQUENCE 
LONG_START_SEQUENCE 
EIGHT_SHORT_SEQUENCE 
LONG_STOP_SEQUENCE 

Definition at line 62 of file aac.h.

◆ BandType

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.

RESERVED_BT 

Band types following are encoded differently from others.

NOISE_BT 

Spectral data are scaled white noise not coded in the bitstream.

INTENSITY_BT2 

Scalefactor data are intensity stereo positions (out of phase).

INTENSITY_BT 

Scalefactor data are intensity stereo positions (in phase).

Definition at line 69 of file aac.h.

◆ ChannelPosition

Enumerator
AAC_CHANNEL_OFF 
AAC_CHANNEL_FRONT 
AAC_CHANNEL_SIDE 
AAC_CHANNEL_BACK 
AAC_CHANNEL_LFE 
AAC_CHANNEL_CC 

Definition at line 79 of file aac.h.