quant4x4_trellis.c File Reference

Quantization process for a 4x4 block using trellis based quantization. More...

#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"

Include dependency graph for quant4x4_trellis.c:

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)


Detailed Description

Quantization process for a 4x4 block using trellis based quantization.

Author:
Main contributors (see contributors.h for copyright, address and affiliation details)

Definition in file quant4x4_trellis.c.


Function Documentation

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:


Documentation generated with DoxyGen