XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
coder.h File Reference
#include "aaccommon.h"
#include "bitstream.h"
Include dependency graph for coder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Macros

#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 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)
 

Typedefs

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
 

Functions

int DecodeProgramConfigElement (ProgConfigElement *pce, BitStreamInfo *bsi)
 
int DecodeHuffmanScalar (const signed short *huffTab, const HuffInfo *huffTabInfo, unsigned int bitBuf, signed int *val)
 
void DecodeSpectrumLong (PSInfoBase *psi, BitStreamInfo *bsi, int ch)
 
void DecodeSpectrumShort (PSInfoBase *psi, BitStreamInfo *bsi, int ch)
 
void DecodeICSInfo (BitStreamInfo *bsi, ICSInfo *icsInfo, int sampRateIdx)
 
void DCT4 (int tabidx, int *coef, int gb)
 
void R4FFT (int tabidx, int *x)
 
void DecWindowOverlapNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 
void DecWindowOverlapLongStartNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 
void DecWindowOverlapLongStopNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 
void DecWindowOverlapShortNoClip (int *buf0, int *over0, int *out0, int winTypeCurr, int winTypePrev)
 

Variables

const HuffInfo huffTabSpecInfo [11]
 
const signed short huffTabSpec [1241]
 
const HuffInfo huffTabScaleFactInfo
 
const signed short huffTabScaleFact [121]
 
const int cos4sin4tabOffset [NUM_IMDCT_SIZES]
 
const int sinWindowOffset [NUM_IMDCT_SIZES]
 
const int kbdWindowOffset [NUM_IMDCT_SIZES]
 
const unsigned char bitrevtab [17+129]
 
const int bitrevtabOffset [NUM_IMDCT_SIZES]
 
const int cos4sin4tab [128+1024]
 
const int cos1sin1tab [514]
 
const int sinWindow [128+1024]
 
const int kbdWindow [128+1024]
 
const int twidTabEven [4 *6+16 *6+64 *6]
 
const int twidTabOdd [8 *6+32 *6+128 *6]
 

Macro Definition Documentation

◆ ADIF_COPYID_SIZE

#define ADIF_COPYID_SIZE   9

◆ ASSERT

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

◆ bitrevtab

const unsigned char bitrevtab   STATNAME(bitrevtab)

◆ bitrevtabOffset

const int 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 */

◆ cos1sin1tab

const int cos1sin1tab   STATNAME(cos1sin1tab)

◆ cos4sin4tab

const int 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

const signed short huffTabScaleFact   STATNAME(huffTabScaleFact)

◆ huffTabScaleFactInfo

#define huffTabScaleFactInfo   STATNAME(huffTabScaleFactInfo)

◆ huffTabSpec

const signed short huffTabSpec   STATNAME(huffTabSpec)

◆ huffTabSpecInfo

#define huffTabSpecInfo   STATNAME(huffTabSpecInfo)

◆ kbdWindow

const int kbdWindow   STATNAME(kbdWindow)

◆ kbdWindowOffset

const int kbdWindowOffset   STATNAME(kbdWindowOffset)

◆ MAX

#define MAX (   a,
  b 
)    ((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,
  b 
)    ((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

const int sinWindow   STATNAME(sinWindow)

◆ sinWindowOffset

const int sinWindowOffset   STATNAME(sinWindowOffset)

◆ twidTabEven

const int twidTabEven   STATNAME(twidTabEven)

◆ twidTabOdd

const int twidTabOdd   STATNAME(twidTabOdd)

◆ uniqueIDTab

#define uniqueIDTab   STATNAME(uniqueIDTab)

Typedef Documentation

◆ 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

Function Documentation

◆ DCT4()

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

◆ DecodeHuffmanScalar()

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

◆ DecodeICSInfo()

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

◆ DecodeProgramConfigElement()

int DecodeProgramConfigElement ( ProgConfigElement *  pce,
BitStreamInfo *  bsi 
)

◆ DecodeSpectrumLong()

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

◆ DecodeSpectrumShort()

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

◆ DecWindowOverlapLongStartNoClip()

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

◆ DecWindowOverlapLongStopNoClip()

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

◆ DecWindowOverlapNoClip()

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

◆ DecWindowOverlapShortNoClip()

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

◆ R4FFT()

void R4FFT ( int  tabidx,
int *  x 
)

Variable Documentation

◆ bitrevtab

const unsigned char bitrevtab[17+129]
extern

◆ bitrevtabOffset

const int bitrevtabOffset[NUM_IMDCT_SIZES]
extern

◆ cos1sin1tab

const int cos1sin1tab[514]
extern

◆ cos4sin4tab

const int cos4sin4tab[128+1024]
extern

◆ cos4sin4tabOffset

const int cos4sin4tabOffset[NUM_IMDCT_SIZES]
extern

◆ huffTabScaleFact

const signed short huffTabScaleFact[121]
extern

◆ huffTabScaleFactInfo

const HuffInfo huffTabScaleFactInfo
extern

◆ huffTabSpec

const signed short huffTabSpec[1241]
extern

◆ huffTabSpecInfo

const HuffInfo huffTabSpecInfo[11]
extern

◆ kbdWindow

const int kbdWindow[128+1024]
extern

◆ kbdWindowOffset

const int kbdWindowOffset[NUM_IMDCT_SIZES]
extern

◆ sinWindow

const int sinWindow[128+1024]
extern

◆ sinWindowOffset

const int sinWindowOffset[NUM_IMDCT_SIZES]
extern

◆ twidTabEven

const int twidTabEven[4 *6+16 *6+64 *6]
extern

◆ twidTabOdd

const int twidTabOdd[8 *6+32 *6+128 *6]
extern