![]() |
CI13LC SDK API手册
2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
|
#include "mp3common.h"结构体 | |
| struct | _BitStreamInfo |
| struct | _FrameHeader |
| struct | _SideInfoSub |
| struct | _SideInfo |
| struct | CriticalBandInfo |
| struct | _DequantInfo |
| struct | _HuffmanInfo |
| struct | _HuffTabLookup |
| struct | _IMDCTInfo |
| struct | _BlockCount |
| struct | _ScaleFactorInfoSub |
| struct | _ScaleFactorJS |
| struct | _ScaleFactorInfo |
| struct | _SubbandInfo |
宏定义 | |
| #define | ASSERT(x) /* do nothing */ |
| #define | MAX(a, b) ((a) > (b) ? (a) : (b)) |
| #define | MIN(a, b) ((a) < (b) ? (a) : (b)) |
| #define | CLIP_2N(y, n) |
| #define | SIBYTES_MPEG1_MONO 17 |
| #define | SIBYTES_MPEG1_STEREO 32 |
| #define | SIBYTES_MPEG2_MONO 9 |
| #define | SIBYTES_MPEG2_STEREO 17 |
| #define | POW43_FRACBITS_LOW 22 |
| #define | POW43_FRACBITS_HIGH 12 |
| #define | DQ_FRACBITS_OUT 25 /* number of fraction bits in output of dequant */ |
| #define | IMDCT_SCALE 2 /* additional scaling (by sqrt(2)) for fast IMDCT36 */ |
| #define | HUFF_PAIRTABS 32 |
| #define | BLOCK_SIZE 18 |
| #define | NBANDS 32 |
| #define | MAX_REORDER_SAMPS ((192-126)*3) /* largest critical band for short blocks (see sfBandTable) */ |
| #define | VBUF_LENGTH (17 * 2 * NBANDS) /* for double-sized vbuf FIFO */ |
| #define | SetBitstreamPointer STATNAME(SetBitstreamPointer) |
| #define | GetBits STATNAME(GetBits) |
| #define | CalcBitsUsed STATNAME(CalcBitsUsed) |
| #define | DequantChannel STATNAME(DequantChannel) |
| #define | MidSideProc STATNAME(MidSideProc) |
| #define | IntensityProcMPEG1 STATNAME(IntensityProcMPEG1) |
| #define | IntensityProcMPEG2 STATNAME(IntensityProcMPEG2) |
| #define | FDCT32 STATNAME(FDCT32) |
| #define | ISFMpeg1 STATNAME(ISFMpeg1) |
| #define | ISFMpeg2 STATNAME(ISFMpeg2) |
| #define | ISFIIP STATNAME(ISFIIP) |
| #define | uniqueIDTab STATNAME(uniqueIDTab) |
| #define | coef32 STATNAME(coef32) |
| #define | polyCoef STATNAME(polyCoef) |
| #define | csa STATNAME(csa) |
| #define | imdctWin STATNAME(imdctWin) |
| #define | huffTable_0 STATNAME(huffTable_0) |
| #define | huffTable_1 STATNAME(huffTable_1) |
| #define | huffTable_2 STATNAME(huffTable_2) |
| #define | huffTabOffset STATNAME(huffTabOffset) |
| #define | huffTabLookup STATNAME(huffTabLookup) |
| #define | quadTable STATNAME(quadTable) |
| #define | quadTabOffset STATNAME(quadTabOffset) |
| #define | quadTabMaxBits STATNAME(quadTabMaxBits) |
类型定义 | |
| typedef struct _BitStreamInfo | BitStreamInfo |
| typedef struct _FrameHeader | FrameHeader |
| typedef struct _SideInfoSub | SideInfoSub |
| typedef struct _SideInfo | SideInfo |
| typedef struct _DequantInfo | DequantInfo |
| typedef struct _HuffmanInfo | HuffmanInfo |
| typedef enum _HuffTabType | HuffTabType |
| typedef struct _HuffTabLookup | HuffTabLookup |
| typedef struct _IMDCTInfo | IMDCTInfo |
| typedef struct _BlockCount | BlockCount |
| typedef struct _ScaleFactorInfoSub | ScaleFactorInfoSub |
| typedef struct _ScaleFactorJS | ScaleFactorJS |
| typedef struct _ScaleFactorInfo | ScaleFactorInfo |
| typedef struct _SubbandInfo | SubbandInfo |
枚举 | |
| enum | StereoMode { Stereo = 0x00, Joint = 0x01, Dual = 0x02, Mono = 0x03 } |
| enum | _HuffTabType { noBits, oneShot, loopNoLinbits, loopLinbits, quadA, quadB, invalidTab } |
函数 | |
| void STATNAME() | SetBitstreamPointer (BitStreamInfo *bsi, int nBytes, unsigned char *buf) |
| unsigned int STATNAME() | GetBits (BitStreamInfo *bsi, int nBits) |
| int STATNAME() | CalcBitsUsed (BitStreamInfo *bsi, unsigned char *startBuf, int startOffset) |
| int STATNAME() | DequantChannel (int *sampleBuf, int *workBuf, int *nonZeroBound, FrameHeader *fh, SideInfoSub *sis, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi) |
| void STATNAME() | MidSideProc (int x[MAX_NCHAN][MAX_NSAMP], int nSamps, int mOut[2]) |
| void STATNAME() | IntensityProcMPEG1 (int x[MAX_NCHAN][MAX_NSAMP], int nSamps, FrameHeader *fh, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi, int midSideFlag, int mixFlag, int mOut[2]) |
| void STATNAME() | IntensityProcMPEG2 (int x[MAX_NCHAN][MAX_NSAMP], int nSamps, FrameHeader *fh, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi, ScaleFactorJS *sfjs, int midSideFlag, int mixFlag, int mOut[2]) |
| void STATNAME() | FDCT32 (int *x, int *d, int offset, int oddBlock, int gb) |
| const HuffTabLookup | STATNAME (huffTabLookup) [32] |
| const int | STATNAME (huffTabOffset) [32] |
| const unsigned short | STATNAME (huffTable_0) [] |
| const unsigned short | STATNAME (huffTable_1) [] |
| const unsigned short | STATNAME (huffTable_2) [] |
| const unsigned char | STATNAME (quadTable) [64+16] |
| const int | STATNAME (quadTabOffset) [2] |
| const int | STATNAME (quadTabMaxBits) [2] |
| void | PolyphaseMono (short *pcm, int *vbuf, const int *coefBase) |
| void | PolyphaseStereo (short *pcm, int *vbuf, const int *coefBase) |
| const int | STATNAME (imdctWin) [4][36] |
| const int | STATNAME (ISFMpeg1) [2][7] |
| const int | STATNAME (ISFMpeg2) [2][2][16] |
| const int | STATNAME (ISFIIP) [2][2] |
| const int | STATNAME (csa) [8][2] |
| const int | STATNAME (coef32) [31] |
| const int | STATNAME (polyCoef) [264] |
| struct _FrameHeader |
| 成员变量 | ||
|---|---|---|
| int | brIdx | |
| int | copyFlag | |
| int | crc | |
| int | CRCWord | |
| int | emphasis | |
| int | layer | |
| int | modeExt | |
| int | origFlag | |
| int | paddingBit | |
| int | privateBit | |
| const SFBandTable * | sfBand | |
| StereoMode | sMode | |
| int | srIdx | |
| MPEGVersion | ver | |
| struct _SideInfoSub |
| struct _SideInfo |
| 成员变量 | ||
|---|---|---|
| int | mainDataBegin | |
| int | privateBits | |
| int | scfsi[MAX_NCHAN][MAX_SCFBD] | |
| SideInfoSub | sis[MAX_NGRAN][MAX_NCHAN] | |
| struct _DequantInfo |
| 成员变量 | ||
|---|---|---|
| CriticalBandInfo | cbi[MAX_NCHAN] | |
| int | workBuf[((192-126) *3)] | |
| struct _HuffmanInfo |
| struct _HuffTabLookup |
| 成员变量 | ||
|---|---|---|
| int | linBits | |
| HuffTabType | tabType | |
| struct _IMDCTInfo |
| struct _BlockCount |
| struct _ScaleFactorInfo |
| 成员变量 | ||
|---|---|---|
| ScaleFactorInfoSub | sfis[MAX_NGRAN][MAX_NCHAN] | |
| ScaleFactorJS | sfjs | |
| struct _SubbandInfo |
| 成员变量 | ||
|---|---|---|
| int | vbuf[MAX_NCHAN *(17 *2 *32)] | |
| int | vindex | |
| #define ASSERT | ( | x | ) | /* do nothing */ |
| #define BLOCK_SIZE 18 |
| #define CalcBitsUsed STATNAME(CalcBitsUsed) |
| #define CLIP_2N | ( | y, | |
| n | |||
| ) |
| #define coef32 STATNAME(coef32) |
| #define csa STATNAME(csa) |
| #define DequantChannel STATNAME(DequantChannel) |
| #define DQ_FRACBITS_OUT 25 /* number of fraction bits in output of dequant */ |
| #define FDCT32 STATNAME(FDCT32) |
| #define GetBits STATNAME(GetBits) |
| #define HUFF_PAIRTABS 32 |
| #define huffTable_0 STATNAME(huffTable_0) |
| #define huffTable_1 STATNAME(huffTable_1) |
| #define huffTable_2 STATNAME(huffTable_2) |
| #define huffTabLookup STATNAME(huffTabLookup) |
| #define huffTabOffset STATNAME(huffTabOffset) |
| #define IMDCT_SCALE 2 /* additional scaling (by sqrt(2)) for fast IMDCT36 */ |
| #define imdctWin STATNAME(imdctWin) |
| #define IntensityProcMPEG1 STATNAME(IntensityProcMPEG1) |
| #define IntensityProcMPEG2 STATNAME(IntensityProcMPEG2) |
| #define ISFIIP STATNAME(ISFIIP) |
| #define ISFMpeg1 STATNAME(ISFMpeg1) |
| #define ISFMpeg2 STATNAME(ISFMpeg2) |
| #define MAX | ( | a, | |
| b | |||
| ) | ((a) > (b) ? (a) : (b)) |
| #define MAX_REORDER_SAMPS ((192-126)*3) /* largest critical band for short blocks (see sfBandTable) */ |
| #define MidSideProc STATNAME(MidSideProc) |
| #define MIN | ( | a, | |
| b | |||
| ) | ((a) < (b) ? (a) : (b)) |
| #define NBANDS 32 |
| #define polyCoef STATNAME(polyCoef) |
| #define POW43_FRACBITS_HIGH 12 |
| #define POW43_FRACBITS_LOW 22 |
| #define quadTable STATNAME(quadTable) |
| #define quadTabMaxBits STATNAME(quadTabMaxBits) |
| #define quadTabOffset STATNAME(quadTabOffset) |
| #define SetBitstreamPointer STATNAME(SetBitstreamPointer) |
| #define SIBYTES_MPEG1_MONO 17 |
| #define SIBYTES_MPEG1_STEREO 32 |
| #define SIBYTES_MPEG2_MONO 9 |
| #define SIBYTES_MPEG2_STEREO 17 |
| #define uniqueIDTab STATNAME(uniqueIDTab) |
| #define VBUF_LENGTH (17 * 2 * NBANDS) /* for double-sized vbuf FIFO */ |
| typedef struct _BitStreamInfo BitStreamInfo |
| typedef struct _BlockCount BlockCount |
| typedef struct _DequantInfo DequantInfo |
| typedef struct _FrameHeader FrameHeader |
| typedef struct _HuffmanInfo HuffmanInfo |
| typedef struct _HuffTabLookup HuffTabLookup |
| typedef enum _HuffTabType HuffTabType |
| typedef struct _IMDCTInfo IMDCTInfo |
| typedef struct _ScaleFactorInfo ScaleFactorInfo |
| typedef struct _ScaleFactorInfoSub ScaleFactorInfoSub |
| typedef struct _ScaleFactorJS ScaleFactorJS |
| typedef struct _SideInfoSub SideInfoSub |
| typedef struct _SubbandInfo SubbandInfo |
| int STATNAME() CalcBitsUsed | ( | BitStreamInfo * | bsi, |
| unsigned char * | startBuf, | ||
| int | startOffset | ||
| ) |
| int STATNAME() DequantChannel | ( | int * | sampleBuf, |
| int * | workBuf, | ||
| int * | nonZeroBound, | ||
| FrameHeader * | fh, | ||
| SideInfoSub * | sis, | ||
| ScaleFactorInfoSub * | sfis, | ||
| CriticalBandInfo * | cbi | ||
| ) |
| void STATNAME() FDCT32 | ( | int * | x, |
| int * | d, | ||
| int | offset, | ||
| int | oddBlock, | ||
| int | gb | ||
| ) |
| unsigned int STATNAME() GetBits | ( | BitStreamInfo * | bsi, |
| int | nBits | ||
| ) |
| void STATNAME() IntensityProcMPEG1 | ( | int | x[MAX_NCHAN][MAX_NSAMP], |
| int | nSamps, | ||
| FrameHeader * | fh, | ||
| ScaleFactorInfoSub * | sfis, | ||
| CriticalBandInfo * | cbi, | ||
| int | midSideFlag, | ||
| int | mixFlag, | ||
| int | mOut[2] | ||
| ) |
| void STATNAME() IntensityProcMPEG2 | ( | int | x[MAX_NCHAN][MAX_NSAMP], |
| int | nSamps, | ||
| FrameHeader * | fh, | ||
| ScaleFactorInfoSub * | sfis, | ||
| CriticalBandInfo * | cbi, | ||
| ScaleFactorJS * | sfjs, | ||
| int | midSideFlag, | ||
| int | mixFlag, | ||
| int | mOut[2] | ||
| ) |
| void STATNAME() MidSideProc | ( | int | x[MAX_NCHAN][MAX_NSAMP], |
| int | nSamps, | ||
| int | mOut[2] | ||
| ) |
| void PolyphaseMono | ( | short * | pcm, |
| int * | vbuf, | ||
| const int * | coefBase | ||
| ) |
| void PolyphaseStereo | ( | short * | pcm, |
| int * | vbuf, | ||
| const int * | coefBase | ||
| ) |
| void STATNAME() SetBitstreamPointer | ( | BitStreamInfo * | bsi, |
| int | nBytes, | ||
| unsigned char * | buf | ||
| ) |
| const HuffTabLookup STATNAME | ( | huffTabLookup | ) |
| const int STATNAME | ( | huffTabOffset | ) |
| const unsigned short STATNAME | ( | huffTable_0 | ) |
| const unsigned short STATNAME | ( | huffTable_1 | ) |
| const unsigned short STATNAME | ( | huffTable_2 | ) |
| const unsigned char STATNAME | ( | quadTable | ) |
| const int STATNAME | ( | quadTabOffset | ) |
| const int STATNAME | ( | quadTabMaxBits | ) |
| const int STATNAME | ( | imdctWin | ) |
| const int STATNAME | ( | ISFMpeg1 | ) |
| const int STATNAME | ( | ISFMpeg2 | ) |
| const int STATNAME | ( | ISFIIP | ) |
| const int STATNAME | ( | csa | ) |
| const int STATNAME | ( | coef32 | ) |
| const int STATNAME | ( | polyCoef | ) |
1.8.14