00001
00015 #ifndef _VLC_H_
00016 #define _VLC_H_
00017
00018 int se_v (char *tracestring, Bitstream *bitstream);
00019 int ue_v (char *tracestring, Bitstream *bitstream);
00020 Boolean u_1 (char *tracestring, Bitstream *bitstream);
00021 int u_v (int LenInBits, char *tracestring, Bitstream *bitstream);
00022 int i_v (int LenInBits, char *tracestring, Bitstream *bitstream);
00023
00024
00025 void linfo_ue(int len, int info, int *value1, int *dummy);
00026 void linfo_se(int len, int info, int *value1, int *dummy);
00027
00028 void linfo_cbp_intra(int len,int info,int *cbp, int *dummy);
00029 void linfo_cbp_inter(int len,int info,int *cbp, int *dummy);
00030 void linfo_levrun_inter(int len,int info,int *level,int *irun);
00031 void linfo_levrun_c2x2(int len,int info,int *level,int *irun);
00032
00033 int uvlc_startcode_follows(Slice *currSlice, int dummy);
00034
00035 int readSyntaxElement_VLC (SyntaxElement *sym, Bitstream *currStream);
00036 int readSyntaxElement_UVLC(SyntaxElement *sym, ImageParameters *img, struct datapartition *dp);
00037 int readSyntaxElement_Intra4x4PredictionMode(SyntaxElement *sym, ImageParameters *img, Bitstream *currStream);
00038
00039 int GetVLCSymbol (byte buffer[],int totbitoffset,int *info, int bytecount);
00040 int GetVLCSymbol_IntraMode (byte buffer[],int totbitoffset,int *info, int bytecount);
00041
00042 int readSyntaxElement_FLC (SyntaxElement *sym, Bitstream *currStream);
00043 int readSyntaxElement_NumCoeffTrailingOnes(SyntaxElement *sym, Bitstream *currStream,
00044 char *type);
00045 int readSyntaxElement_NumCoeffTrailingOnesChromaDC(SyntaxElement *sym, Bitstream *currStream);
00046 int readSyntaxElement_Level_VLC0 (SyntaxElement *sym, Bitstream *currStream);
00047 int readSyntaxElement_Level_VLCN (SyntaxElement *sym, int vlc, Bitstream *currStream);
00048 int readSyntaxElement_TotalZeros (SyntaxElement *sym, Bitstream *currStream);
00049 int readSyntaxElement_TotalZerosChromaDC (SyntaxElement *sym, Bitstream *currStream);
00050 int readSyntaxElement_Run (SyntaxElement *sym, Bitstream *currStream);
00051 int GetBits (byte buffer[],int totbitoffset,int *info, int bitcount,
00052 int numbits);
00053 int ShowBits (byte buffer[],int totbitoffset,int bitcount, int numbits);
00054
00055 int more_rbsp_data (byte buffer[],int totbitoffset,int bytecount);
00056
00057
00058 #endif
00059