XenevaOS
Loading...
Searching...
No Matches
Macros | Functions
huffman.c File Reference
#include "coder.h"
Include dependency graph for huffman.c:

Macros

#define APPLY_SIGN(v, s)   {(v) ^= ((signed int)(s) >> 31); (v) -= ((signed int)(s) >> 31);}
 
#define GET_QUAD_SIGNBITS(v)   (((unsigned int)(v) << 17) >> 29) /* bits 14-12, unsigned */
 
#define GET_QUAD_W(v)   (((signed int)(v) << 20) >> 29) /* bits 11-9, sign-extend */
 
#define GET_QUAD_X(v)   (((signed int)(v) << 23) >> 29) /* bits 8-6, sign-extend */
 
#define GET_QUAD_Y(v)   (((signed int)(v) << 26) >> 29) /* bits 5-3, sign-extend */
 
#define GET_QUAD_Z(v)   (((signed int)(v) << 29) >> 29) /* bits 2-0, sign-extend */
 
#define GET_PAIR_SIGNBITS(v)   (((unsigned int)(v) << 20) >> 30) /* bits 11-10, unsigned */
 
#define GET_PAIR_Y(v)   (((signed int)(v) << 22) >> 27) /* bits 9-5, sign-extend */
 
#define GET_PAIR_Z(v)   (((signed int)(v) << 27) >> 27) /* bits 4-0, sign-extend */
 
#define GET_ESC_SIGNBITS(v)   (((unsigned int)(v) << 18) >> 30) /* bits 13-12, unsigned */
 
#define GET_ESC_Y(v)   (((signed int)(v) << 20) >> 26) /* bits 11-6, sign-extend */
 
#define GET_ESC_Z(v)   (((signed int)(v) << 26) >> 26) /* bits 5-0, sign-extend */
 

Functions

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)
 

Macro Definition Documentation

◆ APPLY_SIGN

#define APPLY_SIGN (   v,
  s 
)    {(v) ^= ((signed int)(s) >> 31); (v) -= ((signed int)(s) >> 31);}

◆ GET_ESC_SIGNBITS

#define GET_ESC_SIGNBITS (   v)    (((unsigned int)(v) << 18) >> 30) /* bits 13-12, unsigned */

◆ GET_ESC_Y

#define GET_ESC_Y (   v)    (((signed int)(v) << 20) >> 26) /* bits 11-6, sign-extend */

◆ GET_ESC_Z

#define GET_ESC_Z (   v)    (((signed int)(v) << 26) >> 26) /* bits 5-0, sign-extend */

◆ GET_PAIR_SIGNBITS

#define GET_PAIR_SIGNBITS (   v)    (((unsigned int)(v) << 20) >> 30) /* bits 11-10, unsigned */

◆ GET_PAIR_Y

#define GET_PAIR_Y (   v)    (((signed int)(v) << 22) >> 27) /* bits 9-5, sign-extend */

◆ GET_PAIR_Z

#define GET_PAIR_Z (   v)    (((signed int)(v) << 27) >> 27) /* bits 4-0, sign-extend */

◆ GET_QUAD_SIGNBITS

#define GET_QUAD_SIGNBITS (   v)    (((unsigned int)(v) << 17) >> 29) /* bits 14-12, unsigned */

◆ GET_QUAD_W

#define GET_QUAD_W (   v)    (((signed int)(v) << 20) >> 29) /* bits 11-9, sign-extend */

◆ GET_QUAD_X

#define GET_QUAD_X (   v)    (((signed int)(v) << 23) >> 29) /* bits 8-6, sign-extend */

◆ GET_QUAD_Y

#define GET_QUAD_Y (   v)    (((signed int)(v) << 26) >> 29) /* bits 5-3, sign-extend */

◆ GET_QUAD_Z

#define GET_QUAD_Z (   v)    (((signed int)(v) << 29) >> 29) /* bits 2-0, sign-extend */

Function Documentation

◆ DecodeHuffmanScalar()

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

◆ DecodeSpectrumLong()

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

◆ DecodeSpectrumShort()

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