transform8x8.h File Reference

prototypes of 8x8 transform functions More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int Mode_Decision_for_Intra8x8Macroblock (Macroblock *currMB, double lambda, double *min_cost)
int Mode_Decision_for_8x8IntraBlocks_JM_Low (Macroblock *currMB, int b8, double lambda, double *min_cost)
int Mode_Decision_for_8x8IntraBlocks_JM_High (Macroblock *currMB, int b8, double lambda, double *min_cost)
int Mode_Decision_for_8x8IntraBlocks_JM_Low444 (Macroblock *currMB, int b8, double lambda, double *min_cost)
int Mode_Decision_for_8x8IntraBlocks_JM_High444 (Macroblock *currMB, int b8, double lambda, double *min_cost)
double rdcost_for_8x8_intra_blocks (Macroblock *currMB, int *c_nz, int b8, int ipmode, double lambda, double min_rdcost, int mostProbableMode)
double rdcost_for_8x8_intra_blocks_444 (Macroblock *currMB, int *c_nz, int b8, int ipmode, double lambda, double min_rdcost, int mostProbableMode)
void compute_satd8x8_cost (ImageParameters *p_Img, imgpel **cur_img, imgpel **mpr8x8, int pic_opix_x, int *cost, int min_cost)
void compute_sse8x8_cost (ImageParameters *p_Img, imgpel **cur_img, imgpel **mpr8x8, int pic_opix_x, int *cost, int min_cost)
void compute_sad8x8_cost (ImageParameters *p_Img, imgpel **cur_img, imgpel **mpr8x8, int pic_opix_x, int *cost, int min_cost)
void compute_comp8x8_cost (ImageParameters *p_Img, imgpel **cur_img, imgpel **mpr8x8, int pic_opix_x, int *cost, int min_cost)
int dct_8x8 (Macroblock *currMB, ColorPlane pl, int b8, int *coeff_cost, int intra)
int dct_8x8_cavlc (Macroblock *currMB, ColorPlane pl, int b8, int *coeff_cost, int intra)
int dct_8x8_ls (Macroblock *currMB, ColorPlane pl, int b8, int *coeff_cost, int intra)


Detailed Description

prototypes of 8x8 transform functions

Date:
9. October 2003
Author:
Main contributors (see contributors.h for copyright, address and affiliation details) Yuri Vatis

Definition in file transform8x8.h.


Function Documentation

void compute_comp8x8_cost ( ImageParameters p_Img,
imgpel **  cur_img,
imgpel **  mpr8x8,
int  pic_opix_x,
int *  cost,
int  min_cost 
)

distortion for an 8x8 Intra block

Definition at line 780 of file transform8x8.c.

void compute_sad8x8_cost ( ImageParameters p_Img,
imgpel **  cur_img,
imgpel **  mpr8x8,
int  pic_opix_x,
int *  cost,
int  min_cost 
)

SAD distortion for an 8x8 Intra block.

Definition at line 810 of file transform8x8.c.

void compute_satd8x8_cost ( ImageParameters p_Img,
imgpel **  cur_img,
imgpel **  mpr8x8,
int  pic_opix_x,
int *  cost,
int  min_cost 
)

SATD distortion for an 8x8 Intra block.

Definition at line 862 of file transform8x8.c.

References HadamardSAD8x8().

Here is the call graph for this function:

void compute_sse8x8_cost ( ImageParameters p_Img,
imgpel **  cur_img,
imgpel **  mpr8x8,
int  pic_opix_x,
int *  cost,
int  min_cost 
)

SSE distortion for an 8x8 Intra block.

Definition at line 836 of file transform8x8.c.

int dct_8x8 ( Macroblock currMB,
ColorPlane  pl,
int  b8,
int *  coeff_cost,
int  intra 
)

The routine performs transform,quantization,inverse transform, adds the diff. to the prediction and writes the result to the decoded luma frame. Includes the RD constrained quantization also.

Input:
b8: Block position inside a macro block (0,1,2,3).
Output:
nonzero: 0 if no levels are nonzero. 1 if there are nonzero levels. coeff_cost: Counter for nonzero coefficients, used to discard expensive levels.

Definition at line 519 of file transform8x8.c.

References img_par::AdaptiveRounding, macroblock::ar_mode, img_par::ARCofAdj8x8, COEFF_COST8x8, copy_image_data_8x8(), FIELD_SCAN8x8, img_par::max_imgpel_value, storable_picture::p_curr_img, macroblock::p_Img, macroblock::p_slice, macroblock::pix_x, macroblock::pix_y, macroblock::qp_scaled, and SNGL_SCAN8x8.

Here is the call graph for this function:

int dct_8x8_cavlc ( Macroblock currMB,
ColorPlane  pl,
int  b8,
int *  coeff_cost,
int  intra 
)

The routine performs transform,quantization,inverse transform, adds the diff. to the prediction and writes the result to the decoded luma frame. Includes the RD constrained quantization also. Used for CAVLC.

Input:
b8: Block position inside a macro block (0,1,2,3).
Output:
nonzero: 0 if no levels are nonzero. 1 if there are nonzero levels. coeff_cost: Counter for nonzero coefficients, used to discard expensive levels.

Definition at line 601 of file transform8x8.c.

References img_par::AdaptiveRounding, macroblock::ar_mode, img_par::ARCofAdj8x8, COEFF_COST8x8, slice::cofAC, copy_image_data_8x8(), FIELD_SCAN8x8, img_par::max_imgpel_value, slice::mb_ores, slice::mb_pred, slice::mb_rres, storable_picture::p_curr_img, macroblock::p_Img, macroblock::p_slice, macroblock::pix_x, macroblock::pix_y, macroblock::qp_scaled, and SNGL_SCAN8x8.

Here is the call graph for this function:

int Mode_Decision_for_8x8IntraBlocks_JM_High ( Macroblock currMB,
int  b8,
double  lambda,
double *  min_cost 
)

int Mode_Decision_for_8x8IntraBlocks_JM_High444 ( Macroblock currMB,
int  b8,
double  lambda,
double *  min_cost 
)

int Mode_Decision_for_8x8IntraBlocks_JM_Low ( Macroblock currMB,
int  b8,
double  lambda,
double *  min_cost 
)

int Mode_Decision_for_8x8IntraBlocks_JM_Low444 ( Macroblock currMB,
int  b8,
double  lambda,
double *  min_cost 
)

int Mode_Decision_for_Intra8x8Macroblock ( Macroblock currMB,
double  lambda,
double *  min_cost 
)

8x8 Intra mode decision for a macroblock

Definition at line 228 of file transform8x8.c.

References macroblock::p_slice.

Referenced by encode_one_macroblock_low(), and RDCost_for_macroblocks().

double rdcost_for_8x8_intra_blocks ( Macroblock currMB,
int *  c_nz,
int  b8,
int  ipmode,
double  lambda,
double  min_rdcost,
int  mostProbableMode 
)

double rdcost_for_8x8_intra_blocks_444 ( Macroblock currMB,
int *  c_nz,
int  b8,
int  ipmode,
double  lambda,
double  min_rdcost,
int  mostProbableMode 
)


Documentation generated with DoxyGen