vlc.h
上传用户:hjq518
上传日期:2021-12-09
资源大小:5084k
文件大小:3k
源码类别:

Audio

开发平台:

Visual C++

  1. /*!
  2.  ************************************************************************
  3.  * file vlc.h
  4.  *
  5.  * brief
  6.  *    header for (CA)VLC coding functions
  7.  *
  8.  * author
  9.  *    Karsten Suehring
  10.  *
  11.  ************************************************************************
  12.  */
  13. #ifndef _VLC_H_
  14. #define _VLC_H_
  15. int se_v (char *tracestring, Bitstream *bitstream);
  16. int ue_v (char *tracestring, Bitstream *bitstream);
  17. Boolean u_1 (char *tracestring, Bitstream *bitstream);
  18. int u_v (int LenInBits, char *tracestring, Bitstream *bitstream);
  19. int i_v (int LenInBits, char *tracestring, Bitstream *bitstream);
  20. // UVLC mapping
  21. void linfo_ue(int len, int info, int *value1, int *dummy);
  22. void linfo_se(int len, int info, int *value1, int *dummy);
  23. void linfo_cbp_intra(int len,int info,int *cbp, int *dummy);
  24. void linfo_cbp_inter(int len,int info,int *cbp, int *dummy);
  25. void linfo_levrun_inter(int len,int info,int *level,int *irun);
  26. void linfo_levrun_c2x2(int len,int info,int *level,int *irun);
  27. int  readSyntaxElement_VLC (SyntaxElement *sym, Bitstream *currStream);
  28. int  readSyntaxElement_UVLC(SyntaxElement *sym, ImageParameters *img, struct datapartition *dp);
  29. int  readSyntaxElement_Intra4x4PredictionMode(SyntaxElement *sym, ImageParameters *img, Bitstream   *currStream);
  30. int  GetVLCSymbol (byte buffer[],int totbitoffset,int *info, int bytecount);
  31. int  GetVLCSymbol_IntraMode (byte buffer[],int totbitoffset,int *info, int bytecount);
  32. int readSyntaxElement_FLC                         (SyntaxElement *sym, Bitstream *currStream);
  33. int readSyntaxElement_NumCoeffTrailingOnes(SyntaxElement *sym,  Bitstream *currStream,
  34.                                            char *type);
  35. int readSyntaxElement_NumCoeffTrailingOnesChromaDC(SyntaxElement *sym, Bitstream *currStream);
  36. int readSyntaxElement_Level_VLC0                  (SyntaxElement *sym, Bitstream *currStream);
  37. int readSyntaxElement_Level_VLCN                  (SyntaxElement *sym, int vlc, Bitstream *currStream);
  38. int readSyntaxElement_TotalZeros                  (SyntaxElement *sym, Bitstream *currStream);
  39. int readSyntaxElement_TotalZerosChromaDC          (SyntaxElement *sym, Bitstream *currStream);
  40. int readSyntaxElement_Run                         (SyntaxElement *sym, Bitstream *currStream);
  41. int GetBits (byte buffer[],int totbitoffset,int *info, int bytecount,
  42.              int numbits);
  43. int ShowBits (byte buffer[],int totbitoffset,int bytecount, int numbits);
  44. int ShowBitsThres (byte *curbyte,int totbitoffset,int bytecount, int numbits, int code);
  45. int more_rbsp_data (byte buffer[],int totbitoffset,int bytecount);
  46. #endif