quant8x8_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 "quant8x8.h"
#include "rdoq.h"

Include dependency graph for quant8x8_trellis.c:

Go to the source code of this file.

Functions

void rdoq_8x8_CABAC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte *p_scan, int levelTrellis[64])
void rdoq_8x8_CAVLC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem, int **levelscale, int **leveloffset, const byte *p_scan, int levelTrellis[4][16])
int quant_8x8_trellis (int **tblock, int block_y, int block_x, int qp, int *ACLevel, int *ACRun, int **fadjust8x8, int **levelscale, int **invlevelscale, int **leveloffset, int *coeff_cost, const byte(*pos_scan)[2], const byte *c_cost)
int quant_8x8cavlc_trellis (int **tblock, int block_y, int block_x, int qp, int ***cofAC, int **fadjust8x8, int **levelscale, int **invlevelscale, int **leveloffset, int *coeff_cost, const byte(*pos_scan)[2], const byte *c_cost)


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 quant8x8_trellis.c.


Function Documentation

int quant_8x8_trellis ( int **  tblock,
int  block_y,
int  block_x,
int  qp,
int *  ACLevel,
int *  ACRun,
int **  fadjust8x8,
int **  levelscale,
int **  invlevelscale,
int **  leveloffset,
int *  coeff_cost,
const byte(*)  pos_scan[2],
const byte *  c_cost 
)

Quantization process for All coefficients for a 8x8 block.

Input:
Output:

Definition at line 48 of file quant8x8_trellis.c.

References MAX_VALUE, and rdoq_8x8_CABAC().

Referenced by init_quant_8x8().

Here is the call graph for this function:

int quant_8x8cavlc_trellis ( int **  tblock,
int  block_y,
int  block_x,
int  qp,
int ***  cofAC,
int **  fadjust8x8,
int **  levelscale,
int **  invlevelscale,
int **  leveloffset,
int *  coeff_cost,
const byte(*)  pos_scan[2],
const byte *  c_cost 
)

Quantization process for All coefficients for a 8x8 block CAVLC version.

Input:
Output:

Definition at line 122 of file quant8x8_trellis.c.

References MAX_VALUE, and rdoq_8x8_CAVLC().

Referenced by init_quant_8x8().

Here is the call graph for this function:

void rdoq_8x8_CABAC ( int **  tblock,
int  block_y,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte *  p_scan,
int  levelTrellis[64] 
)

Rate distortion optimized Quantization process for all coefficients in a 8x8 block.

Definition at line 202 of file quant8x8_trellis.c.

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

Referenced by quant_8x8_trellis().

Here is the call graph for this function:

void rdoq_8x8_CAVLC ( int **  tblock,
int  block_y,
int  block_x,
int  qp_per,
int  qp_rem,
int **  levelscale,
int **  leveloffset,
const byte *  p_scan,
int  levelTrellis[4][16] 
)

Rate distortion optimized Quantization process for all coefficients in a 8x8 block.

Definition at line 231 of file quant8x8_trellis.c.

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

Referenced by quant_8x8cavlc_trellis().

Here is the call graph for this function:


Documentation generated with DoxyGen