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

Audio

开发平台:

Visual C++

  1. /*!
  2.  *************************************************************************************
  3.  * file vlc.h
  4.  *
  5.  * brief
  6.  *    Prototypes for VLC coding funtions
  7.  * author
  8.  *     Karsten Suehring
  9.  *************************************************************************************
  10.  */
  11. #ifndef _VLC_H_
  12. #define _VLC_H_
  13. #include "enc_statistics.h"
  14. Boolean u_1  (char *tracestring, int value, Bitstream *bitstream);
  15. int se_v (char *tracestring, int value, Bitstream *bitstream);
  16. int ue_v (char *tracestring, int value, Bitstream *bitstream);
  17. int u_v  (int n, char *tracestring, int value, Bitstream *bitstream);
  18. void levrun_linfo_c2x2(int level,int run,int *len,int *info);
  19. void levrun_linfo_inter(int level,int run,int *len,int *info);
  20. void writeSE_Fix                  (SyntaxElement *se, Bitstream *bitstream);
  21. void writeSE_UVLC                 (SyntaxElement *se, DataPartition *dp);
  22. void writeSE_SVLC                 (SyntaxElement *se, DataPartition *dp);
  23. void writeSE_Flag                 (SyntaxElement *se, DataPartition *dp);
  24. void writeSE_invFlag              (SyntaxElement *se, DataPartition *dp);
  25. void writeSE_Dummy                (SyntaxElement *se, DataPartition *dp);
  26. void  writeCBP_VLC                (Macroblock* currMB, SyntaxElement *se, DataPartition *dp);
  27. void  writeIntraPredMode_CAVLC    (SyntaxElement *se, DataPartition *dp);
  28. int   writeSyntaxElement2Buf_UVLC (SyntaxElement *se, Bitstream* this_streamBuffer );
  29. void  writeUVLC2buffer            (SyntaxElement *se, Bitstream *currStream);
  30. void  writeVlcByteAlign           (Bitstream* currStream, StatParameters *cur_stats);
  31. int   writeSyntaxElement2Buf_Fixed(SyntaxElement *se, Bitstream* this_streamBuffer );
  32. int   symbol2uvlc                 (SyntaxElement *se);
  33. void  ue_linfo       (int n, int dummy, int *len,int *info);
  34. void  se_linfo       (int mvd, int dummy, int *len,int *info);
  35. void  cbp_linfo_intra(int cbp, int dummy, int *len,int *info);
  36. void  cbp_linfo_inter(int cbp, int dummy, int *len,int *info);
  37. // CAVLC
  38. void  CAVLC_init(void);
  39. int   writeSyntaxElement_VLC(SyntaxElement *se, DataPartition *this_dataPart);
  40. int   writeSyntaxElement_TotalZeros(SyntaxElement *se, DataPartition *this_dataPart);
  41. int   writeSyntaxElement_TotalZerosChromaDC(SyntaxElement *se, DataPartition *this_dataPart);
  42. int   writeSyntaxElement_Run(SyntaxElement *se, DataPartition *this_dataPart);
  43. int   writeSyntaxElement_NumCoeffTrailingOnes(SyntaxElement *se, DataPartition *this_dataPart);
  44. int   writeSyntaxElement_NumCoeffTrailingOnesChromaDC(SyntaxElement *se, DataPartition *this_dataPart);
  45. int   writeSyntaxElement_Level_VLC1(SyntaxElement *se, DataPartition *this_dataPart, int profile_idc);
  46. int   writeSyntaxElement_Level_VLCN(SyntaxElement *se, int vlc, DataPartition *this_dataPart, int profile_idc);
  47. #endif