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