#include "contributors.h"
#include <math.h>
#include "global.h"
#include "image.h"
#include "mb_access.h"
#include "vlc.h"
#include "transform.h"
#include "mc_prediction.h"
#include "q_offsets.h"
#include "q_matrix.h"
#include "quant4x4.h"
#include "rdoq.h"
Go to the source code of this file.
Functions | |
int | quant_4x4_trellis (Macroblock *currMB, int **tblock, struct quant_methods *q_method) |
void | rdoq_4x4_CAVLC (Macroblock *currMB, int **tblock, struct quant_methods *q_method, int levelTrellis[]) |
void | rdoq_4x4_CABAC (Macroblock *currMB, int **tblock, struct quant_methods *q_method, int levelTrellis[]) |
int | quant_ac4x4_trellis (Macroblock *currMB, int **tblock, struct quant_methods *q_method, int type) |
void | rdoq_ac4x4_CAVLC (Macroblock *currMB, int **tblock, struct quant_methods *q_method, int levelTrellis[], int type) |
void | rdoq_ac4x4_CABAC (Macroblock *currMB, int **tblock, struct quant_methods *q_method, int levelTrellis[], int type) |
int | quant_dc4x4_trellis (Macroblock *currMB, int **tblock, int qp, int *DCLevel, int *DCRun, LevelQuantParams *q_params_4x4, const byte(*pos_scan)[2]) |
void | rdoq_dc_CAVLC (Macroblock *currMB, int **tblock, int qp_per, int qp_rem, LevelQuantParams *q_params_4x4, const byte(*pos_scan)[2], int levelTrellis[], int type) |
void | rdoq_dc_CABAC (Macroblock *currMB, int **tblock, int qp_per, int qp_rem, LevelQuantParams *q_params_4x4, const byte(*pos_scan)[2], int levelTrellis[], int type) |
Definition in file quant4x4_trellis.c.
int quant_4x4_trellis | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
struct quant_methods * | q_method | |||
) |
Quantization process for All coefficients for a 4x4 block.
Definition at line 41 of file quant4x4_trellis.c.
References MAX_VALUE, macroblock::p_Img, and macroblock::p_slice.
Referenced by init_quant_4x4().
int quant_ac4x4_trellis | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
struct quant_methods * | q_method, | |||
int | type | |||
) |
Quantization process for All coefficients for a 4x4 block (LUMA_16AC or CHROMA_AC).
Definition at line 208 of file quant4x4_trellis.c.
References MAX_VALUE, macroblock::p_Img, and macroblock::p_slice.
Referenced by init_quant_4x4(), and init_quant_Chroma().
int quant_dc4x4_trellis | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
int | qp, | |||
int * | DCLevel, | |||
int * | DCRun, | |||
LevelQuantParams * | q_params_4x4, | |||
const byte(*) | pos_scan[2] | |||
) |
Quantization process for All coefficients for a 4x4 DC block.
Definition at line 374 of file quant4x4_trellis.c.
References macroblock::p_Img, and macroblock::p_slice.
Referenced by init_quant_4x4().
void rdoq_4x4_CABAC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
struct quant_methods * | q_method, | |||
int | levelTrellis[] | |||
) |
Rate distortion optimized Quantization process for all coefficients in a 4x4 block (CABAC).
Definition at line 169 of file quant4x4_trellis.c.
References est_write_and_store_CBP_block_bit(), est_writeRunLevel_CABAC(), init_trellis_data_4x4_CABAC(), img_par::lambda_md, img_par::masterQP, and macroblock::p_Img.
Referenced by init_quant_4x4().
void rdoq_4x4_CAVLC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
struct quant_methods * | q_method, | |||
int | levelTrellis[] | |||
) |
Rate distortion optimized Quantization process for all coefficients in a 4x4 block (CAVLC).
Definition at line 127 of file quant4x4_trellis.c.
References est_RunLevel_CAVLC(), init_trellis_data_4x4_CAVLC(), img_par::lambda_md, img_par::masterQP, and macroblock::p_Img.
Referenced by init_quant_4x4().
void rdoq_ac4x4_CABAC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
struct quant_methods * | q_method, | |||
int | levelTrellis[], | |||
int | type | |||
) |
Rate distortion optimized Quantization process for all coefficients in a 4x4 block (LUMA_16AC or CHROMA_AC) - CABAC.
Definition at line 337 of file quant4x4_trellis.c.
References est_write_and_store_CBP_block_bit(), est_writeRunLevel_CABAC(), init_trellis_data_4x4_CABAC(), img_par::lambda_md, img_par::masterQP, and macroblock::p_Img.
Referenced by init_quant_4x4().
void rdoq_ac4x4_CAVLC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
struct quant_methods * | q_method, | |||
int | levelTrellis[], | |||
int | type | |||
) |
Rate distortion optimized Quantization process for all coefficients in a 4x4 block (CAVLC).
Definition at line 295 of file quant4x4_trellis.c.
References est_RunLevel_CAVLC(), init_trellis_data_4x4_CAVLC(), img_par::lambda_md, img_par::masterQP, and macroblock::p_Img.
Referenced by init_quant_4x4().
void rdoq_dc_CABAC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
int | qp_per, | |||
int | qp_rem, | |||
LevelQuantParams * | q_params_4x4, | |||
const byte(*) | pos_scan[2], | |||
int | levelTrellis[], | |||
int | type | |||
) |
Rate distortion optimized Quantization process for all coefficients in a luma DC block.
Definition at line 476 of file quant4x4_trellis.c.
References est_write_and_store_CBP_block_bit(), est_writeRunLevel_CABAC(), init_trellis_data_DC_CABAC(), img_par::lambda_md, img_par::masterQP, and macroblock::p_Img.
Referenced by init_quant_4x4().
void rdoq_dc_CAVLC | ( | Macroblock * | currMB, | |
int ** | tblock, | |||
int | qp_per, | |||
int | qp_rem, | |||
LevelQuantParams * | q_params_4x4, | |||
const byte(*) | pos_scan[2], | |||
int | levelTrellis[], | |||
int | type | |||
) |
Rate distortion optimized Quantization process for all coefficients in a luma DC block.
Definition at line 446 of file quant4x4_trellis.c.
References est_RunLevel_CAVLC(), init_trellis_data_DC_CAVLC(), img_par::lambda_md, img_par::masterQP, and macroblock::p_Img.
Referenced by init_quant_4x4().