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 (int **tblock, int block_y, int block_x, int qp, int *ACLevel, int *ACRun, int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset, int *coeff_cost, const byte(*pos_scan)[2], const byte *c_cost, int is_cavlc)
void rdoq_4x4_CAVLC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte(*pos_scan)[2], int levelTrellis[])
void rdoq_4x4_CABAC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte(*pos_scan)[2], int levelTrellis[])
int quant_ac4x4_trellis (int **tblock, int block_y, int block_x, int qp, int *ACLevel, int *ACRun, int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset, int *coeff_cost, const byte(*pos_scan)[2], const byte *c_cost, int type, int is_calvc)
void rdoq_ac4x4_CAVLC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte(*pos_scan)[2], int levelTrellis[], int type)
void rdoq_ac4x4_CABAC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte(*pos_scan)[2], int levelTrellis[], int type)
int quant_dc4x4_trellis (int **tblock, int qp, int *DCLevel, int *DCRun, int levelscale, int invlevelscale, int leveloffset, const byte(*pos_scan)[2], int is_calvc)
void rdoq_dc_CAVLC (int **tblock, int qp_per, int qp_rem, int levelscale, int leveloffset, const byte(*pos_scan)[2], int levelTrellis[], int type)
void rdoq_dc_CABAC (int **tblock, int qp_per, int qp_rem, int levelscale, int leveloffset, 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 ( int **  tblock,
int  block_y,
int  block_x,
int  qp,
int *  ACLevel,
int *  ACRun,
int **  fadjust4x4,
int **  levelscale,
int **  invlevelscale,
int **  leveloffset,
int *  coeff_cost,
const byte(*)  pos_scan[2],
const byte *  c_cost,
int  is_cavlc 
)

Quantization process for All coefficients for a 4x4 block.

Input:
Output:

Definition at line 45 of file quant4x4_trellis.c.

References MAX_VALUE.

Referenced by init_quant_4x4().

int quant_ac4x4_trellis ( int **  tblock,
int  block_y,
int  block_x,
int  qp,
int *  ACLevel,
int *  ACRun,
int **  fadjust4x4,
int **  levelscale,
int **  invlevelscale,
int **  leveloffset,
int *  coeff_cost,
const byte(*)  pos_scan[2],
const byte *  c_cost,
int  type,
int  is_calvc 
)

Quantization process for All coefficients for a 4x4 block (LUMA_16AC or CHROMA_AC).

Input:
Output:

Definition at line 190 of file quant4x4_trellis.c.

References MAX_VALUE.

Referenced by init_quant_4x4(), and init_quant_Chroma().

int quant_dc4x4_trellis ( int **  tblock,
int  qp,
int *  DCLevel,
int *  DCRun,
int  levelscale,
int  invlevelscale,
int  leveloffset,
const byte(*)  pos_scan[2],
int  is_calvc 
)

Quantization process for All coefficients for a 4x4 DC block.

Input:
Output:

Definition at line 335 of file quant4x4_trellis.c.

Referenced by init_quant_4x4().

void rdoq_4x4_CABAC ( int **  tblock,
int  block_y,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte(*)  pos_scan[2],
int  levelTrellis[] 
)

Rate distortion optimized Quantization process for all coefficients in a 4x4 block (CABAC).

Definition at line 155 of file quant4x4_trellis.c.

References ImageParameters::current_mb_nr, est_write_and_store_CBP_block_bit(), est_writeRunLevel_CABAC(), init_trellis_data_4x4_CABAC(), ImageParameters::lambda_md, ImageParameters::masterQP, ImageParameters::mb_data, ImageParameters::nal_reference_idc, and ImageParameters::type.

Referenced by init_quant_4x4().

Here is the call graph for this function:

void rdoq_4x4_CAVLC ( int **  tblock,
int  block_y,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte(*)  pos_scan[2],
int  levelTrellis[] 
)

Rate distortion optimized Quantization process for all coefficients in a 4x4 block (CAVLC).

Definition at line 122 of file quant4x4_trellis.c.

References ImageParameters::current_mb_nr, est_RunLevel_CAVLC(), init_trellis_data_4x4_CAVLC(), ImageParameters::lambda_md, ImageParameters::masterQP, ImageParameters::mb_data, ImageParameters::nal_reference_idc, and ImageParameters::type.

Referenced by init_quant_4x4().

Here is the call graph for this function:

void rdoq_ac4x4_CABAC ( int **  tblock,
int  block_y,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte(*)  pos_scan[2],
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 301 of file quant4x4_trellis.c.

References ImageParameters::current_mb_nr, est_write_and_store_CBP_block_bit(), est_writeRunLevel_CABAC(), init_trellis_data_4x4_CABAC(), ImageParameters::lambda_md, ImageParameters::masterQP, ImageParameters::mb_data, ImageParameters::nal_reference_idc, and ImageParameters::type.

Referenced by init_quant_4x4().

Here is the call graph for this function:

void rdoq_ac4x4_CAVLC ( int **  tblock,
int  block_y,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte(*)  pos_scan[2],
int  levelTrellis[],
int  type 
)

Rate distortion optimized Quantization process for all coefficients in a 4x4 block (CAVLC).

Definition at line 268 of file quant4x4_trellis.c.

References ImageParameters::current_mb_nr, est_RunLevel_CAVLC(), init_trellis_data_4x4_CAVLC(), ImageParameters::lambda_md, ImageParameters::masterQP, ImageParameters::mb_data, ImageParameters::nal_reference_idc, and ImageParameters::type.

Referenced by init_quant_4x4().

Here is the call graph for this function:

void rdoq_dc_CABAC ( int **  tblock,
int  qp_per,
int  qp_rem,
int  levelscale,
int  leveloffset,
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 433 of file quant4x4_trellis.c.

References ImageParameters::current_mb_nr, est_write_and_store_CBP_block_bit(), est_writeRunLevel_CABAC(), init_trellis_data_DC_CABAC(), ImageParameters::lambda_md, ImageParameters::masterQP, ImageParameters::mb_data, ImageParameters::nal_reference_idc, and ImageParameters::type.

Referenced by init_quant_4x4().

Here is the call graph for this function:

void rdoq_dc_CAVLC ( int **  tblock,
int  qp_per,
int  qp_rem,
int  levelscale,
int  leveloffset,
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 404 of file quant4x4_trellis.c.

References ImageParameters::current_mb_nr, est_RunLevel_CAVLC(), init_trellis_data_DC_CAVLC(), ImageParameters::lambda_md, ImageParameters::masterQP, ImageParameters::mb_data, ImageParameters::nal_reference_idc, and ImageParameters::type.

Referenced by init_quant_4x4().

Here is the call graph for this function:


Documentation generated with DoxyGen