rdoq_cavlc.c File Reference

Rate Distortion Optimized Quantization based on VCEG-AH21 related to CAVLC. More...

#include "contributors.h"
#include <math.h>
#include <float.h>
#include "global.h"
#include "image.h"
#include "fmo.h"
#include "macroblock.h"
#include "mb_access.h"
#include "ratectl.h"
#include "rdoq.h"
#include "block.h"

Include dependency graph for rdoq_cavlc.c:

Go to the source code of this file.

Functions

int estSyntaxElement_Level_VLC1 (SyntaxElement *se)
int estSyntaxElement_Level_VLCN (SyntaxElement *se, int vlc)
int cmp (const void *arg1, const void *arg2)
int est_CAVLC_bits (levelDataStruct *levelData, int level_to_enc[16], int sign_to_enc[16], int nnz, int block_type)
void est_RunLevel_CAVLC (levelDataStruct *levelData, int *levelTrellis, int block_type, int b8, int b4, int coeff_num, double lambda)
void init_trellis_data_4x4_CAVLC (int **tblock, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte *p_scan, Macroblock *currMB, levelDataStruct *dataLevel, int type)
void init_trellis_data_DC_CAVLC (int **tblock, int qp_per, int qp_rem, int levelscale, int leveloffset, const byte *p_scan, Macroblock *currMB, levelDataStruct *dataLevel, int type)
void init_trellis_data_8x8_CAVLC (int **tblock, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte *p_scan, Macroblock *currMB, levelDataStruct levelData[4][16])

Variables

const int estErr4x4 [6][4][4]
const int estErr8x8 [6][8][8]


Detailed Description

Rate Distortion Optimized Quantization based on VCEG-AH21 related to CAVLC.

Definition in file rdoq_cavlc.c.


Function Documentation

int est_CAVLC_bits ( levelDataStruct *  levelData,
int  level_to_enc[16],
int  sign_to_enc[16],
int  nnz,
int  block_type 
)

void est_RunLevel_CAVLC ( levelDataStruct *  levelData,
int *  levelTrellis,
int  block_type,
int  b8,
int  b4,
int  coeff_num,
double  lambda 
)

int estSyntaxElement_Level_VLC1 ( SyntaxElement *  se  ) 

estimate VLC for Coeff Level

Definition at line 33 of file rdoq_cavlc.c.

References syntaxelement::len, and syntaxelement::value1.

Referenced by est_CAVLC_bits().

int estSyntaxElement_Level_VLCN ( SyntaxElement *  se,
int  vlc 
)

estimate VLC for Coeff Level

Definition at line 65 of file rdoq_cavlc.c.

References syntaxelement::len, and syntaxelement::value1.

Referenced by est_CAVLC_bits().

void init_trellis_data_4x4_CAVLC ( int **  tblock,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte *  p_scan,
Macroblock *  currMB,
levelDataStruct *  dataLevel,
int  type 
)

Initialize levelData.

Definition at line 485 of file rdoq_cavlc.c.

Referenced by rdoq_4x4_CAVLC(), and rdoq_ac4x4_CAVLC().

void init_trellis_data_8x8_CAVLC ( int **  tblock,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte *  p_scan,
Macroblock *  currMB,
levelDataStruct  levelData[4][16] 
)

Initialize levelData.

Definition at line 645 of file rdoq_cavlc.c.

Referenced by rdoq_8x8_CAVLC().

void init_trellis_data_DC_CAVLC ( int **  tblock,
int  qp_per,
int  qp_rem,
int  levelscale,
int  leveloffset,
const byte *  p_scan,
Macroblock *  currMB,
levelDataStruct *  dataLevel,
int  type 
)

Initialize levelData for Luma DC.

Definition at line 567 of file rdoq_cavlc.c.

Referenced by rdoq_dc_CAVLC().


Documentation generated with DoxyGen