coder.h File Reference

Go to the source code of this file.

Data Structures

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

Defines

#define ASSERT(x)
#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
#define IMDCT_SCALE   2
#define HUFF_PAIRTABS   32
#define BLOCK_SIZE   18
#define NBANDS   32
#define MAX_REORDER_SAMPS   ((192-126)*3)
#define VBUF_LENGTH   (17 * 2 * NBANDS)
#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 PolyphaseMono   STATNAME(PolyphaseMono)
#define PolyphaseStereo   STATNAME(PolyphaseStereo)
#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   STATNAME(huffTable)
#define huffTabOffset   STATNAME(huffTabOffset)
#define huffTabLookup   STATNAME(huffTabLookup)
#define quadTable   STATNAME(quadTable)
#define quadTabOffset   STATNAME(quadTabOffset)
#define quadTabMaxBits   STATNAME(quadTabMaxBits)

Typedefs

typedef enum _HuffTabType HuffTabType

Enumerations

enum  StereoMode { Stereo = 0x00, Joint = 0x01, Dual = 0x02, Mono = 0x03 }
enum  _HuffTabType {
  noBits, oneShot, loopNoLinbits, loopLinbits,
  quadA, quadB, invalidTab
}

Functions

void SetBitstreamPointer (BitStreamInfo *bsi, int nBytes, unsigned char *buf)
unsigned int GetBits (BitStreamInfo *bsi, int nBits)
int CalcBitsUsed (BitStreamInfo *bsi, unsigned char *startBuf, int startOffset)
int DequantChannel (int *sampleBuf, int *workBuf, int *nonZeroBound, FrameHeader *fh, SideInfoSub *sis, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi)
void MidSideProc (int x[MAX_NCHAN][MAX_NSAMP], int nSamps, int mOut[2])
void IntensityProcMPEG1 (int x[MAX_NCHAN][MAX_NSAMP], int nSamps, FrameHeader *fh, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi, int midSideFlag, int mixFlag, int mOut[2])
void 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 FDCT32 (int *x, int *d, int offset, int oddBlock, int gb)
void PolyphaseMono (short *pcm, int *vbuf, const int *coefBase)
void PolyphaseStereo (short *pcm, int *vbuf, const int *coefBase)

Variables

const HuffTabLookup huffTabLookup [HUFF_PAIRTABS]
const int huffTabOffset [HUFF_PAIRTABS]
const unsigned short huffTable []
const unsigned char quadTable [64+16]
const int quadTabOffset [2]
const int quadTabMaxBits [2]
const int imdctWin [4][36]
const int ISFMpeg1 [2][7]
const int ISFMpeg2 [2][2][16]
const int ISFIIP [2][2]
const int csa [8][2]
const int coef32 [31]
const int polyCoef [264]


Define Documentation

#define ASSERT (  ) 

Definition at line 52 of file coder.h.

Referenced by NutMsgQCreate(), NutMsgQGetMessage(), and NutMsgQStartTimer().

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

Definition at line 56 of file coder.h.

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

Definition at line 60 of file coder.h.

#define CLIP_2N ( y,
 ) 

Value:

{ \
    int sign = (y) >> 31;  \
    if (sign != (y) >> (n))  { \
        (y) = sign ^ ((1 << (n)) - 1); \
    } \
}

Definition at line 64 of file coder.h.

#define SIBYTES_MPEG1_MONO   17

Definition at line 71 of file coder.h.

#define SIBYTES_MPEG1_STEREO   32

Definition at line 72 of file coder.h.

#define SIBYTES_MPEG2_MONO   9

Definition at line 73 of file coder.h.

#define SIBYTES_MPEG2_STEREO   17

Definition at line 74 of file coder.h.

#define POW43_FRACBITS_LOW   22

Definition at line 77 of file coder.h.

#define POW43_FRACBITS_HIGH   12

Definition at line 78 of file coder.h.

#define DQ_FRACBITS_OUT   25

Definition at line 80 of file coder.h.

#define IMDCT_SCALE   2

Definition at line 81 of file coder.h.

#define HUFF_PAIRTABS   32

Definition at line 83 of file coder.h.

#define BLOCK_SIZE   18

Definition at line 84 of file coder.h.

#define NBANDS   32

Definition at line 85 of file coder.h.

#define MAX_REORDER_SAMPS   ((192-126)*3)

Definition at line 86 of file coder.h.

#define VBUF_LENGTH   (17 * 2 * NBANDS)

Definition at line 87 of file coder.h.

#define SetBitstreamPointer   STATNAME(SetBitstreamPointer)

Definition at line 90 of file coder.h.

#define GetBits   STATNAME(GetBits)

Definition at line 91 of file coder.h.

#define CalcBitsUsed   STATNAME(CalcBitsUsed)

Definition at line 92 of file coder.h.

#define DequantChannel   STATNAME(DequantChannel)

Definition at line 93 of file coder.h.

#define MidSideProc   STATNAME(MidSideProc)

Definition at line 94 of file coder.h.

#define IntensityProcMPEG1   STATNAME(IntensityProcMPEG1)

Definition at line 95 of file coder.h.

#define IntensityProcMPEG2   STATNAME(IntensityProcMPEG2)

Definition at line 96 of file coder.h.

#define PolyphaseMono   STATNAME(PolyphaseMono)

Definition at line 97 of file coder.h.

#define PolyphaseStereo   STATNAME(PolyphaseStereo)

Definition at line 98 of file coder.h.

#define FDCT32   STATNAME(FDCT32)

Definition at line 99 of file coder.h.

#define ISFMpeg1   STATNAME(ISFMpeg1)

Definition at line 101 of file coder.h.

#define ISFMpeg2   STATNAME(ISFMpeg2)

Definition at line 102 of file coder.h.

#define ISFIIP   STATNAME(ISFIIP)

Definition at line 103 of file coder.h.

#define uniqueIDTab   STATNAME(uniqueIDTab)

Definition at line 104 of file coder.h.

#define coef32   STATNAME(coef32)

Definition at line 105 of file coder.h.

#define polyCoef   STATNAME(polyCoef)

Definition at line 106 of file coder.h.

#define csa   STATNAME(csa)

Definition at line 107 of file coder.h.

#define imdctWin   STATNAME(imdctWin)

Definition at line 108 of file coder.h.

#define huffTable   STATNAME(huffTable)

Definition at line 110 of file coder.h.

#define huffTabOffset   STATNAME(huffTabOffset)

Definition at line 111 of file coder.h.

#define huffTabLookup   STATNAME(huffTabLookup)

Definition at line 112 of file coder.h.

#define quadTable   STATNAME(quadTable)

Definition at line 113 of file coder.h.

#define quadTabOffset   STATNAME(quadTabOffset)

Definition at line 114 of file coder.h.

#define quadTabMaxBits   STATNAME(quadTabMaxBits)

Definition at line 115 of file coder.h.


Typedef Documentation

typedef enum _HuffTabType HuffTabType


Enumeration Type Documentation

enum StereoMode

Enumerator:
Stereo 
Joint 
Dual 
Mono 

Definition at line 118 of file coder.h.

enum _HuffTabType

Enumerator:
noBits 
oneShot 
loopNoLinbits 
loopLinbits 
quadA 
quadB 
invalidTab 

Definition at line 193 of file coder.h.


Function Documentation

void SetBitstreamPointer ( BitStreamInfo bsi,
int  nBytes,
unsigned char *  buf 
)

unsigned int GetBits ( BitStreamInfo bsi,
int  nBits 
)

int CalcBitsUsed ( BitStreamInfo bsi,
unsigned char *  startBuf,
int  startOffset 
)

int DequantChannel ( int *  sampleBuf,
int *  workBuf,
int *  nonZeroBound,
FrameHeader fh,
SideInfoSub sis,
ScaleFactorInfoSub sfis,
CriticalBandInfo cbi 
)

void MidSideProc ( int  x[MAX_NCHAN][MAX_NSAMP],
int  nSamps,
int  mOut[2] 
)

void IntensityProcMPEG1 ( int  x[MAX_NCHAN][MAX_NSAMP],
int  nSamps,
FrameHeader fh,
ScaleFactorInfoSub sfis,
CriticalBandInfo cbi,
int  midSideFlag,
int  mixFlag,
int  mOut[2] 
)

void 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 FDCT32 ( int *  x,
int *  d,
int  offset,
int  oddBlock,
int  gb 
)

void PolyphaseMono ( short *  pcm,
int *  vbuf,
const int *  coefBase 
)

void PolyphaseStereo ( short *  pcm,
int *  vbuf,
const int *  coefBase 
)


Variable Documentation

const HuffTabLookup huffTabLookup[HUFF_PAIRTABS]

const int huffTabOffset[HUFF_PAIRTABS]

const unsigned short huffTable[]

const unsigned char quadTable[64+16]

const int quadTabOffset[2]

const int quadTabMaxBits[2]

const int imdctWin[4][36]

const int ISFMpeg1[2][7]

const int ISFMpeg2[2][2][16]

const int ISFIIP[2][2]

const int csa[8][2]

const int coef32[31]

const int polyCoef[264]


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/