www.pudn.com > wm2.5.zip > vlc.h


/*! 
 *************************************************************************** 
 * \file 
 *     vlc.h 
 * 
 * \brief 
 *    
 *     
 * 
 * \date 
 *    01. Apr 2005 
 *************************************************************************** 
 */ 
 
 
#ifndef _VLC_H_ 
#define _VLC_H_ 
 
// dongjie 
extern const char VLC_INTRA[7][16][16]; 
extern const char VLC_INTER[7][16][14];  
extern const char VLC_CHROMA[4][16][13]; 
extern const char VLC_GC_Order_INTRA[7][2]; 
extern const char VLC_GC_Order_INTER[7][2];  
extern const char VLC_GC_Order_CHROMA[4][2]; 
extern char       VLC_INTRA_dec[7][40][2]; 
extern char       VLC_INTER_dec[7][40][2];  
extern char       VLC_CHROMA_dec[4][40][2]; 
// end 
int se_v (char *tracestring); 
int ue_v (char *tracestring); 
int u_1 (char *tracestring); 
int u_v (int LenInBits, char *tracestring); 
int search_ue_code (int totbitoffset);//WJP FOR SLICE_HEADER 050320 
 
// UVLC mapping 
void mapping_ue(int len, int info, int *value1); 
void mapping_se(int len, int info, int *value1); 
 
void read_cbp_intra(int len,int info,int *cbp); 
void read_cbp_inter(int len,int info,int *cbp); 
void readChromaCoeff_4x4_UVLC(int b8, int b4);    //qwang 2004-4-27 
void readLumaCoeff_4x4_UVLC(int b8, int b4);   //qwang 2004-4-27 
 
int  read_VLC (SyntaxElement *sym); 
int  read_UVLC(SyntaxElement *sym); 
 
int  GetVLCSymbol (int *info); 
int  GetIntraMode (byte buffer[],int totbitoffset,int *info, int bytecount); 
int  GetVLCSymbol_refidx (int *info); 
 
int read_FLC(SyntaxElement *sym); 
int GetBits (byte buffer[],int totbitoffset,int *info, int bytecount,  
             int numbits); 
int ShowBits (byte buffer[],int totbitoffset,int bytecount, int numbits); 
void symbol2D_levrun(int *level, int *run, int intra, int tableindex, int symbol2D);    //qwang 2004-4-25 
void symbol2D_levrun_chroma(int *level, int *run, int symbol2D, int tableindex/*dongjie*/);    //qwang 2004-4-25 
int read_Intra4x4PredictionMode(SyntaxElement *sym);   //qwang 2004-3-9 
unsigned int decode_golomb_word(const unsigned char **buffer,unsigned int *bitoff,unsigned int grad0,unsigned int max_levels); 
unsigned int decode_multilayer_golomb_word(const unsigned char **buffer,unsigned int *bitoff,const unsigned int *grad0,const unsigned int *max_levels); 
int  read_GOLOMB(SyntaxElement *sym); 
 
#endif