CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 类型定义 | 函数
aaccoder.h 文件参考
#include "aaccommon.h"
#include "aacbitstream.h"

浏览源代码.

结构体

struct  _HuffInfo
 
struct  _PulseInfo
 
struct  _TNSInfo
 
struct  _GainControlInfo
 
struct  _ICSInfo
 
struct  _ADTSHeader
 
struct  _ADIFHeader
 
struct  _ProgConfigElement
 
struct  _PSInfoBase
 

宏定义

#define ASSERT(x)   /* do nothing */
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define NWINDOWS_LONG   1
 
#define NWINDOWS_SHORT   8
 
#define DATA_BUF_SIZE   510 /* max count = 255 + 255 */
 
#define FILL_BUF_SIZE   269 /* max count = 15 + 255 - 1*/
 
#define ADIF_COPYID_SIZE   9
 
#define MAX_COMMENT_BYTES   255
 
#define MAX_NUM_FCE   15
 
#define MAX_NUM_SCE   15
 
#define MAX_NUM_BCE   15
 
#define MAX_NUM_LCE   3
 
#define MAX_NUM_ADE   7
 
#define MAX_NUM_CCE   15
 
#define CHAN_ELEM_IS_CPE(x)   (((x) & 0x10) >> 4) /* bit 4 = SCE/CPE flag */
 
#define CHAN_ELEM_GET_TAG(x)   (((x) & 0x0f) >> 0) /* bits 3-0 = instance tag */
 
#define CHAN_ELEM_SET_CPE(x)   (((x) & 0x01) << 4) /* bit 4 = SCE/CPE flag */
 
#define CHAN_ELEM_SET_TAG(x)   (((x) & 0x0f) << 0) /* bits 3-0 = instance tag */
 
#define MAX_HUFF_BITS   20
 
#define HUFFTAB_SPEC_OFFSET   1
 
#define CLIP_2N_SHIFT(y, n)
 
#define CLIP_2N(val, n)
 
#define SF_DQ_OFFSET   15
 
#define FBITS_OUT_DQ   20
 
#define FBITS_OUT_DQ_OFF   (FBITS_OUT_DQ - SF_DQ_OFFSET) /* number of fraction bits out of dequant, including 2^15 bias */
 
#define FBITS_IN_IMDCT   FBITS_OUT_DQ_OFF /* number of fraction bits into IMDCT */
 
#define GBITS_IN_DCT4   4 /* min guard bits in for DCT4 */
 
#define FBITS_LOST_DCT4   1 /* number of fraction bits lost (>> out) in DCT-IV */
 
#define FBITS_LOST_WND   1 /* number of fraction bits lost (>> out) in synthesis window (neg = gain frac bits) */
 
#define FBITS_LOST_IMDCT   (FBITS_LOST_DCT4 + FBITS_LOST_WND)
 
#define FBITS_OUT_IMDCT   (FBITS_IN_IMDCT - FBITS_LOST_IMDCT)
 
#define NUM_IMDCT_SIZES   2
 
#define DecodeProgramConfigElement   STATNAME(DecodeProgramConfigElement)
 
#define DecodeHuffmanScalar   STATNAME(DecodeHuffmanScalar)
 
#define DecodeSpectrumLong   STATNAME(DecodeSpectrumLong)
 
#define DecodeSpectrumShort   STATNAME(DecodeSpectrumShort)
 
#define DecodeICSInfo   STATNAME(DecodeICSInfo)
 
#define DCT4   STATNAME(DCT4)
 
#define R4FFT   STATNAME(R4FFT)
 
#define DecWindowOverlapNoClip   STATNAME(DecWindowOverlapNoClip)
 
#define DecWindowOverlapLongStartNoClip   STATNAME(DecWindowOverlapLongStartNoClip)
 
#define DecWindowOverlapLongStopNoClip   STATNAME(DecWindowOverlapLongStopNoClip)
 
#define DecWindowOverlapShortNoClip   STATNAME(DecWindowOverlapShortNoClip)
 
#define huffTabSpecInfo   STATNAME(huffTabSpecInfo)
 
#define huffTabSpec   STATNAME(huffTabSpec)
 
#define huffTabScaleFactInfo   STATNAME(huffTabScaleFactInfo)
 
#define huffTabScaleFact   STATNAME(huffTabScaleFact)
 
#define cos4sin4tab   STATNAME(cos4sin4tab)
 
#define cos4sin4tabOffset   STATNAME(cos4sin4tabOffset)
 
#define cos1sin1tab   STATNAME(cos1sin1tab)
 
#define sinWindow   STATNAME(sinWindow)
 
#define sinWindowOffset   STATNAME(sinWindowOffset)
 
#define kbdWindow   STATNAME(kbdWindow)
 
#define kbdWindowOffset   STATNAME(kbdWindowOffset)
 
#define bitrevtab   STATNAME(bitrevtab)
 
#define bitrevtabOffset   STATNAME(bitrevtabOffset)
 
#define uniqueIDTab   STATNAME(uniqueIDTab)
 
#define twidTabEven   STATNAME(twidTabEven)
 
#define twidTabOdd   STATNAME(twidTabOdd)
 

类型定义

typedef struct _HuffInfo HuffInfo
 
typedef struct _PulseInfo PulseInfo
 
typedef struct _TNSInfo TNSInfo
 
typedef struct _GainControlInfo GainControlInfo
 
typedef struct _ICSInfo ICSInfo
 
typedef struct _ADTSHeader ADTSHeader
 
typedef struct _ADIFHeader ADIFHeader
 
typedef struct _ProgConfigElement ProgConfigElement
 
typedef struct _PSInfoBase PSInfoBase
 

函数

int STATNAME() DecodeProgramConfigElement (ProgConfigElement *pce, BitStreamInfo *bsi)
 
int STATNAME() DecodeHuffmanScalar (const signed short *huffTab, const HuffInfo *huffTabInfo, unsigned int bitBuf, signed int *val)
 
void STATNAME() DecodeSpectrumLong (PSInfoBase *psi, BitStreamInfo *bsi, int ch)
 
void STATNAME() DecodeSpectrumShort (PSInfoBase *psi, BitStreamInfo *bsi, int ch)
 
void STATNAME() DecodeICSInfo (BitStreamInfo *bsi, ICSInfo *icsInfo, int sampRateIdx)
 
void STATNAME() DCT4 (int tabidx, int *coef, int gb)
 
void STATNAME() R4FFT (int tabidx, int *x)
 
void STATNAME() DecWindowOverlapNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 
void STATNAME() DecWindowOverlapLongStartNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 
void STATNAME() DecWindowOverlapLongStopNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 
void STATNAME() DecWindowOverlapShortNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 
const HuffInfo STATNAME (huffTabSpecInfo) [11]
 
const signed short STATNAME (huffTabSpec) [1241]
 
const HuffInfo STATNAME (huffTabScaleFactInfo)
 
const signed short STATNAME (huffTabScaleFact) [121]
 
const int STATNAME (cos4sin4tabOffset) [2]
 
const int STATNAME (sinWindowOffset) [2]
 
const int STATNAME (kbdWindowOffset) [2]
 
const unsigned char STATNAME (bitrevtab) [17+129]
 
const int STATNAME (bitrevtabOffset) [2]
 
const int STATNAME (cos4sin4tab) [128+1024]
 
const int STATNAME (cos1sin1tab) [514]
 
const int STATNAME (sinWindow) [128+1024]
 
const int STATNAME (kbdWindow) [128+1024]
 
const int STATNAME (twidTabEven) [4 *6+16 *6+64 *6]
 
const int STATNAME (twidTabOdd) [8 *6+32 *6+128 *6]
 

结构体说明

◆ _HuffInfo

struct _HuffInfo
成员变量
unsigned char count[20]
int maxBits
int offset

◆ _PulseInfo

struct _PulseInfo
成员变量
unsigned char amp[MAX_PULSES]
unsigned char numPulse
unsigned char offset[MAX_PULSES]
unsigned char pulseDataPresent
unsigned char startSFB

◆ _TNSInfo

struct _TNSInfo
成员变量
signed char coef[MAX_TNS_COEFS]
unsigned char coefRes[MAX_TNS_FILTERS]
unsigned char dir[MAX_TNS_FILTERS]
unsigned char length[MAX_TNS_FILTERS]
unsigned char numFilt[MAX_TNS_FILTERS]
unsigned char order[MAX_TNS_FILTERS]
unsigned char tnsDataPresent

◆ _GainControlInfo

struct _GainControlInfo
成员变量
unsigned char adjNum[MAX_GAIN_BANDS][MAX_GAIN_WIN]
unsigned char alevCode[MAX_GAIN_BANDS][MAX_GAIN_WIN][MAX_GAIN_ADJUST]
unsigned char alocCode[MAX_GAIN_BANDS][MAX_GAIN_WIN][MAX_GAIN_ADJUST]
unsigned char gainControlDataPresent
unsigned char maxBand

◆ _ICSInfo

struct _ICSInfo
成员变量
unsigned char icsResBit
unsigned char maxSFB
unsigned char numWinGroup
unsigned char predictionUsed[MAX_PRED_SFB]
unsigned char predictorDataPresent
unsigned char predictorReset
unsigned char predictorResetGroupNum
unsigned char sfGroup
unsigned char winGroupLen[MAX_WIN_GROUPS]
unsigned char winSequence
unsigned char winShape

◆ _ADTSHeader

struct _ADTSHeader
成员变量
int bufferFull
unsigned char channelConfig
unsigned char copyBit
unsigned char copyStart
int crcCheckWord
int frameLength
unsigned char home
unsigned char id
unsigned char layer
unsigned char numRawDataBlocks
unsigned char origCopy
unsigned char privateBit
unsigned char profile
unsigned char protectBit
unsigned char sampRateIdx

◆ _ADIFHeader

struct _ADIFHeader
成员变量
int bitRate
unsigned char bsType
int bufferFull
unsigned char copyBit
unsigned char copyID[9]
unsigned char home
unsigned char numPCE
unsigned char origCopy

◆ _ProgConfigElement

struct _ProgConfigElement
成员变量
unsigned char ade[7]
unsigned char bce[15]
unsigned char cce[15]
unsigned char elemInstTag
unsigned char fce[15]
unsigned char lce[3]
unsigned char matrixMixdown
unsigned char monoMixdown
unsigned char numADE
unsigned char numBCE
unsigned char numCCE
unsigned char numFCE
unsigned char numLCE
unsigned char numSCE
unsigned char profile
unsigned char sampRateIdx
unsigned char sce[15]
unsigned char stereoMixdown

◆ _PSInfoBase

struct _PSInfoBase
成员变量
int coef[MAX_NCHANS_ELEM][AAC_MAX_NSAMPS]
int commonWin
unsigned char dataBuf[510]
int dataCount
ADIFHeader fhADIF
ADTSHeader fhADTS
unsigned char fillBuf[269]
int fillCount
GainControlInfo gainControlInfo[MAX_NCHANS_ELEM]
int gbCurrent[MAX_NCHANS_ELEM]
ICSInfo icsInfo[MAX_NCHANS_ELEM]
int intensityUsed[MAX_NCHANS_ELEM]
unsigned char msMaskBits[MAX_MS_MASK_BYTES]
int msMaskPresent
int nChans
int overlap[AAC_MAX_NCHANS][AAC_MAX_NSAMPS]
ProgConfigElement pce[MAX_NUM_PCE_ADIF]
int pnsLastVal
int pnsUsed[MAX_NCHANS_ELEM]
int prevWinShape[AAC_MAX_NCHANS]
PulseInfo pulseInfo[MAX_NCHANS_ELEM]
int sampRateIdx
short scaleFactors[MAX_NCHANS_ELEM][MAX_SF_BANDS]
unsigned char sfbCodeBook[MAX_NCHANS_ELEM][MAX_SF_BANDS]
TNSInfo tnsInfo[MAX_NCHANS_ELEM]
int tnsLPCBuf[MAX_TNS_ORDER]
int tnsWorkBuf[MAX_TNS_ORDER]
int useImpChanMap

宏定义说明

◆ ADIF_COPYID_SIZE

#define ADIF_COPYID_SIZE   9

◆ ASSERT

#define ASSERT (   x)    /* do nothing */

◆ bitrevtab

#define bitrevtab   STATNAME(bitrevtab)

◆ bitrevtabOffset

#define bitrevtabOffset   STATNAME(bitrevtabOffset)

◆ CHAN_ELEM_GET_TAG

#define CHAN_ELEM_GET_TAG (   x)    (((x) & 0x0f) >> 0) /* bits 3-0 = instance tag */

◆ CHAN_ELEM_IS_CPE

#define CHAN_ELEM_IS_CPE (   x)    (((x) & 0x10) >> 4) /* bit 4 = SCE/CPE flag */

◆ CHAN_ELEM_SET_CPE

#define CHAN_ELEM_SET_CPE (   x)    (((x) & 0x01) << 4) /* bit 4 = SCE/CPE flag */

◆ CHAN_ELEM_SET_TAG

#define CHAN_ELEM_SET_TAG (   x)    (((x) & 0x0f) << 0) /* bits 3-0 = instance tag */

◆ CLIP_2N

#define CLIP_2N (   val,
 
)
值:
{ \
if ((val) >> 31 != (val) >> (n)) \
(val) = ((val) >> 31) ^ ((1 << (n)) - 1); \
}

◆ CLIP_2N_SHIFT

#define CLIP_2N_SHIFT (   y,
 
)
值:
{ \
int sign = (y) >> 31; \
if (sign != (y) >> (30 - (n))) { \
(y) = sign ^ (0x3fffffff); \
} else { \
(y) = (y) << (n); \
} \
}

◆ cos1sin1tab

#define cos1sin1tab   STATNAME(cos1sin1tab)

◆ cos4sin4tab

#define cos4sin4tab   STATNAME(cos4sin4tab)

◆ cos4sin4tabOffset

#define cos4sin4tabOffset   STATNAME(cos4sin4tabOffset)

◆ DATA_BUF_SIZE

#define DATA_BUF_SIZE   510 /* max count = 255 + 255 */

◆ DCT4

#define DCT4   STATNAME(DCT4)

◆ DecodeHuffmanScalar

#define DecodeHuffmanScalar   STATNAME(DecodeHuffmanScalar)

◆ DecodeICSInfo

#define DecodeICSInfo   STATNAME(DecodeICSInfo)

◆ DecodeProgramConfigElement

#define DecodeProgramConfigElement   STATNAME(DecodeProgramConfigElement)

◆ DecodeSpectrumLong

#define DecodeSpectrumLong   STATNAME(DecodeSpectrumLong)

◆ DecodeSpectrumShort

#define DecodeSpectrumShort   STATNAME(DecodeSpectrumShort)

◆ DecWindowOverlapLongStartNoClip

#define DecWindowOverlapLongStartNoClip   STATNAME(DecWindowOverlapLongStartNoClip)

◆ DecWindowOverlapLongStopNoClip

#define DecWindowOverlapLongStopNoClip   STATNAME(DecWindowOverlapLongStopNoClip)

◆ DecWindowOverlapNoClip

#define DecWindowOverlapNoClip   STATNAME(DecWindowOverlapNoClip)

◆ DecWindowOverlapShortNoClip

#define DecWindowOverlapShortNoClip   STATNAME(DecWindowOverlapShortNoClip)

◆ FBITS_IN_IMDCT

#define FBITS_IN_IMDCT   FBITS_OUT_DQ_OFF /* number of fraction bits into IMDCT */

◆ FBITS_LOST_DCT4

#define FBITS_LOST_DCT4   1 /* number of fraction bits lost (>> out) in DCT-IV */

◆ FBITS_LOST_IMDCT

#define FBITS_LOST_IMDCT   (FBITS_LOST_DCT4 + FBITS_LOST_WND)

◆ FBITS_LOST_WND

#define FBITS_LOST_WND   1 /* number of fraction bits lost (>> out) in synthesis window (neg = gain frac bits) */

◆ FBITS_OUT_DQ

#define FBITS_OUT_DQ   20

◆ FBITS_OUT_DQ_OFF

#define FBITS_OUT_DQ_OFF   (FBITS_OUT_DQ - SF_DQ_OFFSET) /* number of fraction bits out of dequant, including 2^15 bias */

◆ FBITS_OUT_IMDCT

#define FBITS_OUT_IMDCT   (FBITS_IN_IMDCT - FBITS_LOST_IMDCT)

◆ FILL_BUF_SIZE

#define FILL_BUF_SIZE   269 /* max count = 15 + 255 - 1*/

◆ GBITS_IN_DCT4

#define GBITS_IN_DCT4   4 /* min guard bits in for DCT4 */

◆ HUFFTAB_SPEC_OFFSET

#define HUFFTAB_SPEC_OFFSET   1

◆ huffTabScaleFact

#define huffTabScaleFact   STATNAME(huffTabScaleFact)

◆ huffTabScaleFactInfo

#define huffTabScaleFactInfo   STATNAME(huffTabScaleFactInfo)

◆ huffTabSpec

#define huffTabSpec   STATNAME(huffTabSpec)

◆ huffTabSpecInfo

#define huffTabSpecInfo   STATNAME(huffTabSpecInfo)

◆ kbdWindow

#define kbdWindow   STATNAME(kbdWindow)

◆ kbdWindowOffset

#define kbdWindowOffset   STATNAME(kbdWindowOffset)

◆ MAX

#define MAX (   a,
 
)    ((a) > (b) ? (a) : (b))

◆ MAX_COMMENT_BYTES

#define MAX_COMMENT_BYTES   255

◆ MAX_HUFF_BITS

#define MAX_HUFF_BITS   20

◆ MAX_NUM_ADE

#define MAX_NUM_ADE   7

◆ MAX_NUM_BCE

#define MAX_NUM_BCE   15

◆ MAX_NUM_CCE

#define MAX_NUM_CCE   15

◆ MAX_NUM_FCE

#define MAX_NUM_FCE   15

◆ MAX_NUM_LCE

#define MAX_NUM_LCE   3

◆ MAX_NUM_SCE

#define MAX_NUM_SCE   15

◆ MIN

#define MIN (   a,
 
)    ((a) < (b) ? (a) : (b))

◆ NUM_IMDCT_SIZES

#define NUM_IMDCT_SIZES   2

◆ NWINDOWS_LONG

#define NWINDOWS_LONG   1

◆ NWINDOWS_SHORT

#define NWINDOWS_SHORT   8

◆ R4FFT

#define R4FFT   STATNAME(R4FFT)

◆ SF_DQ_OFFSET

#define SF_DQ_OFFSET   15

◆ sinWindow

#define sinWindow   STATNAME(sinWindow)

◆ sinWindowOffset

#define sinWindowOffset   STATNAME(sinWindowOffset)

◆ twidTabEven

#define twidTabEven   STATNAME(twidTabEven)

◆ twidTabOdd

#define twidTabOdd   STATNAME(twidTabOdd)

◆ uniqueIDTab

#define uniqueIDTab   STATNAME(uniqueIDTab)

类型定义说明

◆ ADIFHeader

typedef struct _ADIFHeader ADIFHeader

◆ ADTSHeader

typedef struct _ADTSHeader ADTSHeader

◆ GainControlInfo

◆ HuffInfo

typedef struct _HuffInfo HuffInfo

◆ ICSInfo

typedef struct _ICSInfo ICSInfo

◆ ProgConfigElement

◆ PSInfoBase

typedef struct _PSInfoBase PSInfoBase

◆ PulseInfo

typedef struct _PulseInfo PulseInfo

◆ TNSInfo

typedef struct _TNSInfo TNSInfo

函数说明

◆ DCT4()

void STATNAME() DCT4 ( int  tabidx,
int *  coef,
int  gb 
)

◆ DecodeHuffmanScalar()

int STATNAME() DecodeHuffmanScalar ( const signed short *  huffTab,
const HuffInfo huffTabInfo,
unsigned int  bitBuf,
signed int *  val 
)

◆ DecodeICSInfo()

void STATNAME() DecodeICSInfo ( BitStreamInfo bsi,
ICSInfo icsInfo,
int  sampRateIdx 
)

◆ DecodeProgramConfigElement()

int STATNAME() DecodeProgramConfigElement ( ProgConfigElement pce,
BitStreamInfo bsi 
)

◆ DecodeSpectrumLong()

void STATNAME() DecodeSpectrumLong ( PSInfoBase psi,
BitStreamInfo bsi,
int  ch 
)

◆ DecodeSpectrumShort()

void STATNAME() DecodeSpectrumShort ( PSInfoBase psi,
BitStreamInfo bsi,
int  ch 
)

◆ DecWindowOverlapLongStartNoClip()

void STATNAME() DecWindowOverlapLongStartNoClip ( int *  buf0,
int *  over0,
int *  out0,
int  winTypeCurr,
int  winTypePrev 
)

◆ DecWindowOverlapLongStopNoClip()

void STATNAME() DecWindowOverlapLongStopNoClip ( int *  buf0,
int *  over0,
int *  out0,
int  winTypeCurr,
int  winTypePrev 
)

◆ DecWindowOverlapNoClip()

void STATNAME() DecWindowOverlapNoClip ( int *  buf0,
int *  over0,
int *  out0,
int  winTypeCurr,
int  winTypePrev 
)

◆ DecWindowOverlapShortNoClip()

void STATNAME() DecWindowOverlapShortNoClip ( int *  buf0,
int *  over0,
int *  out0,
int  winTypeCurr,
int  winTypePrev 
)

◆ R4FFT()

void STATNAME() R4FFT ( int  tabidx,
int *  x 
)

◆ STATNAME() [1/15]

const HuffInfo STATNAME ( huffTabSpecInfo  )

◆ STATNAME() [2/15]

const signed short STATNAME ( huffTabSpec  )

◆ STATNAME() [3/15]

const HuffInfo STATNAME ( huffTabScaleFactInfo  )

◆ STATNAME() [4/15]

const signed short STATNAME ( huffTabScaleFact  )

◆ STATNAME() [5/15]

const int STATNAME ( cos4sin4tabOffset  )

◆ STATNAME() [6/15]

const int STATNAME ( sinWindowOffset  )

◆ STATNAME() [7/15]

const int STATNAME ( kbdWindowOffset  )

◆ STATNAME() [8/15]

const unsigned char STATNAME ( bitrevtab  )

◆ STATNAME() [9/15]

const int STATNAME ( bitrevtabOffset  )

◆ STATNAME() [10/15]

const int STATNAME ( cos4sin4tab  )

◆ STATNAME() [11/15]

const int STATNAME ( cos1sin1tab  )

◆ STATNAME() [12/15]

const int STATNAME ( sinWindow  )

◆ STATNAME() [13/15]

const int STATNAME ( kbdWindow  )

◆ STATNAME() [14/15]

const int STATNAME ( twidTabEven  )

◆ STATNAME() [15/15]

const int STATNAME ( twidTabOdd  )