blob: ef04df62dc9aa77d53bb155d3cf2809ea0f810a2 [file] [log] [blame]
/*!
*************************************************************************************
* \file vlc.h
*
* \brief
* Prototypes for VLC coding funtions
* \author
* Karsten Suehring
*************************************************************************************
*/
#ifndef _VLC_H_
#define _VLC_H_
Boolean u_1 (char *tracestring, int value, Bitstream *bitstream);
int se_v (char *tracestring, int value, Bitstream *bitstream);
int ue_v (char *tracestring, int value, Bitstream *bitstream);
int u_v (int n, char *tracestring, int value, Bitstream *bitstream);
void levrun_linfo_c2x2(int level,int run,int *len,int *info);
void levrun_linfo_inter(int level,int run,int *len,int *info);
void writeSE_UVLC (SyntaxElement *se, DataPartition *dp);
void writeSE_SVLC (SyntaxElement *se, DataPartition *dp);
void writeSE_Fix (SyntaxElement *se, DataPartition *dp);
void writeSE_Flag (SyntaxElement *se, DataPartition *dp);
void writeSE_invFlag(SyntaxElement *se, DataPartition *dp);
void writeSE_Dummy (SyntaxElement *se, DataPartition *dp);
void writeCBP_VLC (SyntaxElement *se, DataPartition *dp);
void writeIntraPredMode_CAVLC(SyntaxElement *se, DataPartition *dp);
int writeSyntaxElement2Buf_UVLC(SyntaxElement *se, Bitstream* this_streamBuffer );
void writeUVLC2buffer(SyntaxElement *se, Bitstream *currStream);
int writeSyntaxElement2Buf_Fixed(SyntaxElement *se, Bitstream* this_streamBuffer );
int symbol2uvlc(SyntaxElement *se);
void ue_linfo(int n, int dummy, int *len,int *info);
void se_linfo(int mvd, int dummy, int *len,int *info);
void cbp_linfo_intra(int cbp, int dummy, int *len,int *info);
void cbp_linfo_inter(int cbp, int dummy, int *len,int *info);
// CAVLC
void CAVLC_init(void);
int writeSyntaxElement_VLC(SyntaxElement *se, DataPartition *this_dataPart);
int writeSyntaxElement_TotalZeros(SyntaxElement *se, DataPartition *this_dataPart);
int writeSyntaxElement_TotalZerosChromaDC(SyntaxElement *se, DataPartition *this_dataPart);
int writeSyntaxElement_Run(SyntaxElement *se, DataPartition *this_dataPart);
int writeSyntaxElement_NumCoeffTrailingOnes(SyntaxElement *se, DataPartition *this_dataPart);
int writeSyntaxElement_NumCoeffTrailingOnesChromaDC(SyntaxElement *se, DataPartition *this_dataPart);
int writeSyntaxElement_Level_VLC1(SyntaxElement *se, DataPartition *this_dataPart, int profile_idc);
int writeSyntaxElement_Level_VLCN(SyntaxElement *se, int vlc, DataPartition *this_dataPart, int profile_idc);
#endif