XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
aaccommon.h File Reference
#include "ConfigHelix.h"
#include "utils/helix_pgm.h"
#include "aacdec.h"
#include "statname.h"
Include dependency graph for aaccommon.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _AACDecInfo
 

Macros

#define AAC_ENABLE_SBR
 
#define SYNCWORDH   0xff
 
#define SYNCWORDL   0xf0
 
#define MAX_NCHANS_ELEM   2 /* max number of channels in any single bitstream element (SCE,CPE,CCE,LFE) */
 
#define ADTS_HEADER_BYTES   7
 
#define NUM_SAMPLE_RATES   12
 
#define NUM_DEF_CHAN_MAPS   8
 
#define NUM_ELEMENTS   8
 
#define MAX_NUM_PCE_ADIF   16
 
#define MAX_WIN_GROUPS   8
 
#define MAX_SFB_SHORT   15
 
#define MAX_SF_BANDS   (MAX_SFB_SHORT*MAX_WIN_GROUPS) /* worst case = 15 sfb's * 8 windows for short block */
 
#define MAX_MS_MASK_BYTES   ((MAX_SF_BANDS + 7) >> 3)
 
#define MAX_PRED_SFB   41
 
#define MAX_TNS_FILTERS   8
 
#define MAX_TNS_COEFS   60
 
#define MAX_TNS_ORDER   20
 
#define MAX_PULSES   4
 
#define MAX_GAIN_BANDS   3
 
#define MAX_GAIN_WIN   8
 
#define MAX_GAIN_ADJUST   7
 
#define NSAMPS_LONG   1024
 
#define NSAMPS_SHORT   128
 
#define NUM_SYN_ID_BITS   3
 
#define NUM_INST_TAG_BITS   4
 
#define EXT_SBR_DATA   0x0d
 
#define EXT_SBR_DATA_CRC   0x0e
 
#define IS_ADIF(p)   ((p)[0] == 'A' && (p)[1] == 'D' && (p)[2] == 'I' && (p)[3] == 'F')
 
#define GET_ELE_ID(p)   ((AACElementID)(*(p) >> (8-NUM_SYN_ID_BITS)))
 

Typedefs

typedef struct _AACDecInfo AACDecInfo
 

Enumerations

enum  { AAC_FF_Unknown = 0 , AAC_FF_ADTS = 1 , AAC_FF_ADIF = 2 , AAC_FF_RAW = 3 }
 
enum  {
  AAC_ID_INVALID = -1 , AAC_ID_SCE = 0 , AAC_ID_CPE = 1 , AAC_ID_CCE = 2 ,
  AAC_ID_LFE = 3 , AAC_ID_DSE = 4 , AAC_ID_PCE = 5 , AAC_ID_FIL = 6 ,
  AAC_ID_END = 7
}
 

Functions

AACDecInfo * AllocateBuffers (void)
 
AACDecInfo * AllocateBuffersPre (void **space, int *len)
 
void FreeBuffers (AACDecInfo *aacDecInfo)
 
void ClearBuffer (void *buf, int nBytes)
 
int UnpackADTSHeader (AACDecInfo *aacDecInfo, unsigned char **buf, int *bitOffset, int *bitsAvail)
 
int GetADTSChannelMapping (AACDecInfo *aacDecInfo, unsigned char *buf, int bitOffset, int bitsAvail)
 
int UnpackADIFHeader (AACDecInfo *aacDecInfo, unsigned char **buf, int *bitOffset, int *bitsAvail)
 
int SetRawBlockParams (AACDecInfo *aacDecInfo, int copyLast, int nChans, int sampRate, int profile)
 
int PrepareRawBlock (AACDecInfo *aacDecInfo)
 
int FlushCodec (AACDecInfo *aacDecInfo)
 
int DecodeNextElement (AACDecInfo *aacDecInfo, unsigned char **buf, int *bitOffset, int *bitsAvail)
 
int DecodeNoiselessData (AACDecInfo *aacDecInfo, unsigned char **buf, int *bitOffset, int *bitsAvail, int ch)
 
int Dequantize (AACDecInfo *aacDecInfo, int ch)
 
int StereoProcess (AACDecInfo *aacDecInfo)
 
int DeinterleaveShortBlocks (AACDecInfo *aacDecInfo, int ch)
 
int PNS (AACDecInfo *aacDecInfo, int ch)
 
int TNSFilter (AACDecInfo *aacDecInfo, int ch)
 
int IMDCT (AACDecInfo *aacDecInfo, int ch, int chBase, short *outbuf)
 
int InitSBR (AACDecInfo *aacDecInfo)
 
int InitSBRPre (AACDecInfo *aacDecInfo, void **ptr, int *sz)
 
void FreeSBR (AACDecInfo *aacDecInfo)
 
int DecodeSBRBitstream (AACDecInfo *aacDecInfo, int chBase)
 
int DecodeSBRData (AACDecInfo *aacDecInfo, int chBase, short *outbuf)
 
int FlushCodecSBR (AACDecInfo *aacDecInfo)
 

Variables

const int sampRateTab [NUM_SAMPLE_RATES]
 
const int predSFBMax [NUM_SAMPLE_RATES]
 
const int channelMapTab [NUM_DEF_CHAN_MAPS]
 
const int elementNumChans [NUM_ELEMENTS]
 
const unsigned int sfBandTotalShort [NUM_SAMPLE_RATES]
 
const unsigned int sfBandTotalLong [NUM_SAMPLE_RATES]
 
const int sfBandTabShortOffset [NUM_SAMPLE_RATES]
 
const int sfBandTabShort [76]
 
const int sfBandTabLongOffset [NUM_SAMPLE_RATES]
 
const int sfBandTabLong [325]
 
const int tnsMaxBandsShortOffset [AAC_NUM_PROFILES]
 
const unsigned int tnsMaxBandsShort [2 *NUM_SAMPLE_RATES]
 
const unsigned int tnsMaxOrderShort [AAC_NUM_PROFILES]
 
const int tnsMaxBandsLongOffset [AAC_NUM_PROFILES]
 
const unsigned int tnsMaxBandsLong [2 *NUM_SAMPLE_RATES]
 
const unsigned int tnsMaxOrderLong [AAC_NUM_PROFILES]
 

Macro Definition Documentation

◆ AAC_ENABLE_SBR

#define AAC_ENABLE_SBR

◆ ADTS_HEADER_BYTES

#define ADTS_HEADER_BYTES   7

◆ EXT_SBR_DATA

#define EXT_SBR_DATA   0x0d

◆ EXT_SBR_DATA_CRC

#define EXT_SBR_DATA_CRC   0x0e

◆ GET_ELE_ID

#define GET_ELE_ID (   p)    ((AACElementID)(*(p) >> (8-NUM_SYN_ID_BITS)))

◆ IS_ADIF

#define IS_ADIF (   p)    ((p)[0] == 'A' && (p)[1] == 'D' && (p)[2] == 'I' && (p)[3] == 'F')

◆ MAX_GAIN_ADJUST

#define MAX_GAIN_ADJUST   7

◆ MAX_GAIN_BANDS

#define MAX_GAIN_BANDS   3

◆ MAX_GAIN_WIN

#define MAX_GAIN_WIN   8

◆ MAX_MS_MASK_BYTES

#define MAX_MS_MASK_BYTES   ((MAX_SF_BANDS + 7) >> 3)

◆ MAX_NCHANS_ELEM

#define MAX_NCHANS_ELEM   2 /* max number of channels in any single bitstream element (SCE,CPE,CCE,LFE) */

◆ MAX_NUM_PCE_ADIF

#define MAX_NUM_PCE_ADIF   16

◆ MAX_PRED_SFB

#define MAX_PRED_SFB   41

◆ MAX_PULSES

#define MAX_PULSES   4

◆ MAX_SF_BANDS

#define MAX_SF_BANDS   (MAX_SFB_SHORT*MAX_WIN_GROUPS) /* worst case = 15 sfb's * 8 windows for short block */

◆ MAX_SFB_SHORT

#define MAX_SFB_SHORT   15

◆ MAX_TNS_COEFS

#define MAX_TNS_COEFS   60

◆ MAX_TNS_FILTERS

#define MAX_TNS_FILTERS   8

◆ MAX_TNS_ORDER

#define MAX_TNS_ORDER   20

◆ MAX_WIN_GROUPS

#define MAX_WIN_GROUPS   8

◆ NSAMPS_LONG

#define NSAMPS_LONG   1024

◆ NSAMPS_SHORT

#define NSAMPS_SHORT   128

◆ NUM_DEF_CHAN_MAPS

#define NUM_DEF_CHAN_MAPS   8

◆ NUM_ELEMENTS

#define NUM_ELEMENTS   8

◆ NUM_INST_TAG_BITS

#define NUM_INST_TAG_BITS   4

◆ NUM_SAMPLE_RATES

#define NUM_SAMPLE_RATES   12

◆ NUM_SYN_ID_BITS

#define NUM_SYN_ID_BITS   3

◆ SYNCWORDH

#define SYNCWORDH   0xff

◆ SYNCWORDL

#define SYNCWORDL   0xf0

Typedef Documentation

◆ AACDecInfo

typedef struct _AACDecInfo AACDecInfo

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
AAC_FF_Unknown 
AAC_FF_ADTS 
AAC_FF_ADIF 
AAC_FF_RAW 

◆ anonymous enum

anonymous enum
Enumerator
AAC_ID_INVALID 
AAC_ID_SCE 
AAC_ID_CPE 
AAC_ID_CCE 
AAC_ID_LFE 
AAC_ID_DSE 
AAC_ID_PCE 
AAC_ID_FIL 
AAC_ID_END 

Function Documentation

◆ AllocateBuffers()

AACDecInfo * AllocateBuffers ( void  )

◆ AllocateBuffersPre()

AACDecInfo * AllocateBuffersPre ( void **  space,
int *  len 
)

◆ ClearBuffer()

void ClearBuffer ( void *  buf,
int  nBytes 
)

◆ DecodeNextElement()

int DecodeNextElement ( AACDecInfo *  aacDecInfo,
unsigned char **  buf,
int *  bitOffset,
int *  bitsAvail 
)

◆ DecodeNoiselessData()

int DecodeNoiselessData ( AACDecInfo *  aacDecInfo,
unsigned char **  buf,
int *  bitOffset,
int *  bitsAvail,
int  ch 
)

◆ DecodeSBRBitstream()

int DecodeSBRBitstream ( AACDecInfo *  aacDecInfo,
int  chBase 
)

◆ DecodeSBRData()

int DecodeSBRData ( AACDecInfo *  aacDecInfo,
int  chBase,
short *  outbuf 
)

◆ DeinterleaveShortBlocks()

int DeinterleaveShortBlocks ( AACDecInfo *  aacDecInfo,
int  ch 
)

◆ Dequantize()

int Dequantize ( AACDecInfo *  aacDecInfo,
int  ch 
)

◆ FlushCodec()

int FlushCodec ( AACDecInfo *  aacDecInfo)

◆ FlushCodecSBR()

int FlushCodecSBR ( AACDecInfo *  aacDecInfo)

◆ FreeBuffers()

void FreeBuffers ( AACDecInfo *  aacDecInfo)

◆ FreeSBR()

void FreeSBR ( AACDecInfo *  aacDecInfo)

◆ GetADTSChannelMapping()

int GetADTSChannelMapping ( AACDecInfo *  aacDecInfo,
unsigned char *  buf,
int  bitOffset,
int  bitsAvail 
)

◆ IMDCT()

int IMDCT ( AACDecInfo *  aacDecInfo,
int  ch,
int  chBase,
short *  outbuf 
)

◆ InitSBR()

int InitSBR ( AACDecInfo *  aacDecInfo)

◆ InitSBRPre()

int InitSBRPre ( AACDecInfo *  aacDecInfo,
void **  ptr,
int *  sz 
)

◆ PNS()

int PNS ( AACDecInfo *  aacDecInfo,
int  ch 
)

◆ PrepareRawBlock()

int PrepareRawBlock ( AACDecInfo *  aacDecInfo)

◆ SetRawBlockParams()

int SetRawBlockParams ( AACDecInfo *  aacDecInfo,
int  copyLast,
int  nChans,
int  sampRate,
int  profile 
)

◆ StereoProcess()

int StereoProcess ( AACDecInfo *  aacDecInfo)

◆ TNSFilter()

int TNSFilter ( AACDecInfo *  aacDecInfo,
int  ch 
)

◆ UnpackADIFHeader()

int UnpackADIFHeader ( AACDecInfo *  aacDecInfo,
unsigned char **  buf,
int *  bitOffset,
int *  bitsAvail 
)

◆ UnpackADTSHeader()

int UnpackADTSHeader ( AACDecInfo *  aacDecInfo,
unsigned char **  buf,
int *  bitOffset,
int *  bitsAvail 
)

Variable Documentation

◆ channelMapTab

const int channelMapTab[NUM_DEF_CHAN_MAPS]
extern

◆ elementNumChans

const int elementNumChans[NUM_ELEMENTS]
extern

◆ predSFBMax

const int predSFBMax[NUM_SAMPLE_RATES]
extern

◆ sampRateTab

const int sampRateTab[NUM_SAMPLE_RATES]
extern

◆ sfBandTabLong

const int sfBandTabLong[325]
extern

◆ sfBandTabLongOffset

const int sfBandTabLongOffset[NUM_SAMPLE_RATES]
extern

◆ sfBandTabShort

const int sfBandTabShort[76]
extern

◆ sfBandTabShortOffset

const int sfBandTabShortOffset[NUM_SAMPLE_RATES]
extern

◆ sfBandTotalLong

const unsigned int sfBandTotalLong[NUM_SAMPLE_RATES]
extern

◆ sfBandTotalShort

const unsigned int sfBandTotalShort[NUM_SAMPLE_RATES]
extern

◆ tnsMaxBandsLong

const unsigned int tnsMaxBandsLong[2 *NUM_SAMPLE_RATES]
extern

◆ tnsMaxBandsLongOffset

const int tnsMaxBandsLongOffset[AAC_NUM_PROFILES]
extern

◆ tnsMaxBandsShort

const unsigned int tnsMaxBandsShort[2 *NUM_SAMPLE_RATES]
extern

◆ tnsMaxBandsShortOffset

const int tnsMaxBandsShortOffset[AAC_NUM_PROFILES]
extern

◆ tnsMaxOrderLong

const unsigned int tnsMaxOrderLong[AAC_NUM_PROFILES]
extern

◆ tnsMaxOrderShort

const unsigned int tnsMaxOrderShort[AAC_NUM_PROFILES]
extern