#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 "rdoq.h"
#include "block.h"
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 (ImageParameters *p_Img, int level_to_enc[16], int sign_to_enc[16], int nnz, int block_type) |
void | est_RunLevel_CAVLC (Macroblock *currMB, levelDataStruct *levelData, int *levelTrellis, int block_type, int b8, int b4, int coeff_num, double lambda) |
void | init_trellis_data_4x4_CAVLC (Macroblock *currMB, int **tblock, int block_x, int qp_per, int qp_rem, LevelQuantParams **q_params_4x4, const byte *p_scan, levelDataStruct *dataLevel, int type) |
void | init_trellis_data_DC_CAVLC (Macroblock *currMB, int **tblock, int qp_per, int qp_rem, LevelQuantParams *q_params_4x4, const byte *p_scan, levelDataStruct *dataLevel) |
void | init_trellis_data_8x8_CAVLC (Macroblock *currMB, int **tblock, int block_x, int qp_per, int qp_rem, LevelQuantParams **q_params_8x8, const byte *p_scan, levelDataStruct levelData[4][16]) |
Definition in file rdoq_cavlc.c.
int est_CAVLC_bits | ( | ImageParameters * | p_Img, | |
int | level_to_enc[16], | |||
int | sign_to_enc[16], | |||
int | nnz, | |||
int | block_type | |||
) |
estimate CAVLC bits
Definition at line 92 of file rdoq_cavlc.c.
References estSyntaxElement_Level_VLC1(), estSyntaxElement_Level_VLCN(), syntaxelement::len, syntaxelement::value1, and syntaxelement::value2.
Referenced by est_RunLevel_CAVLC().
void est_RunLevel_CAVLC | ( | Macroblock * | currMB, | |
levelDataStruct * | levelData, | |||
int * | levelTrellis, | |||
int | block_type, | |||
int | b8, | |||
int | b4, | |||
int | coeff_num, | |||
double | lambda | |||
) |
estimate run and level for CAVLC
Definition at line 385 of file rdoq_cavlc.c.
References est_CAVLC_bits(), img_par::nz_coeff, macroblock::p_Img, predict_nnz(), predict_nnz_chroma(), macroblock::subblock_x, and macroblock::subblock_y.
Referenced by rdoq_4x4_CAVLC(), rdoq_8x8_CAVLC(), rdoq_ac4x4_CAVLC(), rdoq_dc_CAVLC(), and rdoq_dc_cr_CAVLC().
int estSyntaxElement_Level_VLC1 | ( | SyntaxElement * | se | ) |
estimate VLC for Coeff Level
Definition at line 29 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 61 of file rdoq_cavlc.c.
References syntaxelement::len, and syntaxelement::value1.
Referenced by est_CAVLC_bits().
void init_trellis_data_4x4_CAVLC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
int | block_x, | |||
int | qp_per, | |||
int | qp_rem, | |||
LevelQuantParams ** | q_params_4x4, | |||
const byte * | p_scan, | |||
levelDataStruct * | dataLevel, | |||
int | type | |||
) |
Initialize levelData.
Definition at line 482 of file rdoq_cavlc.c.
References macroblock::p_slice.
Referenced by rdoq_4x4_CAVLC(), and rdoq_ac4x4_CAVLC().
void init_trellis_data_8x8_CAVLC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
int | block_x, | |||
int | qp_per, | |||
int | qp_rem, | |||
LevelQuantParams ** | q_params_8x8, | |||
const byte * | p_scan, | |||
levelDataStruct | levelData[4][16] | |||
) |
Initialize levelData.
Definition at line 644 of file rdoq_cavlc.c.
References macroblock::p_slice.
Referenced by rdoq_8x8_CAVLC().
void init_trellis_data_DC_CAVLC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
int | qp_per, | |||
int | qp_rem, | |||
LevelQuantParams * | q_params_4x4, | |||
const byte * | p_scan, | |||
levelDataStruct * | dataLevel | |||
) |
Initialize levelData for Luma DC.
Definition at line 565 of file rdoq_cavlc.c.
References macroblock::p_slice.
Referenced by rdoq_dc_CAVLC().