00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _QUANT4x4_H_
00017 #define _QUANT4x4_H_
00018
00019 void init_quant_4x4(InputParameters *params, ImageParameters *img, Slice *currSlice);
00020
00021 int quant_4x4_normal (int **tblock, int block_y, int block_x, int qp,
00022 int* ACLevel, int* ACRun,
00023 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00024 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int is_calvc);
00025
00026 int quant_4x4_around (int **tblock, int block_y, int block_x, int qp,
00027 int* ACLevel, int* ACRun,
00028 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00029 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int is_calvc);
00030
00031 int quant_4x4_trellis(int **tblock, int block_y, int block_x, int qp,
00032 int* ACLevel, int* ACRun,
00033 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00034 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int is_calvc);
00035
00036 int (*quant_4x4) (int **tblock, int block_y, int block_x, int qp,
00037 int* ACLevel, int* ACRun,
00038 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00039 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int is_calvc);
00040
00041 int quant_dc4x4_normal (int **tblock, int qp, int* DCLevel, int* DCRun,
00042 int levelscale, int invlevelscale, int leveloffset, const byte (*pos_scan)[2], int is_calvc);
00043
00044 int quant_dc4x4_around (int **tblock, int qp, int* DCLevel, int* DCRun,
00045 int levelscale, int invlevelscale, int leveloffset, const byte (*pos_scan)[2], int is_calvc);
00046
00047 int quant_dc4x4_trellis(int **tblock, int qp, int* DCLevel, int* DCRun,
00048 int levelscale, int invlevelscale, int leveloffset, const byte (*pos_scan)[2], int is_calvc);
00049
00050 int (*quant_dc4x4) (int **tblock, int qp, int* DCLevel, int* DCRun,
00051 int levelscale, int invlevelscale, int leveloffset, const byte (*pos_scan)[2], int is_calvc);
00052
00053 int quant_ac4x4_normal (int **tblock, int block_y, int block_x, int qp,
00054 int* ACLevel, int* ACRun,
00055 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00056 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int type, int is_calvc);
00057
00058 int quant_ac4x4_around (int **tblock, int block_y, int block_x, int qp,
00059 int* ACLevel, int* ACRun,
00060 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00061 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int type, int is_calvc);
00062
00063 int quant_ac4x4_trellis(int **tblock, int block_y, int block_x, int qp,
00064 int* ACLevel, int* ACRun,
00065 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00066 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int type, int is_calvc);
00067
00068 int (*quant_ac4x4) (int **tblock, int block_y, int block_x, int qp,
00069 int* ACLevel, int* ACRun,
00070 int **fadjust4x4, int **levelscale, int **invlevelscale, int **leveloffset,
00071 int *coeff_cost, const byte (*pos_scan)[2], const byte *c_cost, int type, int is_calvc);
00072
00073 void rdoq_4x4_CAVLC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem,
00074 int **levelscale, int **leveloffset, const byte (*pos_scan)[2], int levelTrellis[16]);
00075
00076 void rdoq_4x4_CABAC (int **tblock, int block_y, int block_x, int qp_per, int qp_rem,
00077 int **levelscale, int **leveloffset, const byte (*pos_scan)[2], int levelTrellis[16]);
00078
00079 void (*rdoq_4x4) (int **tblock, int block_y, int block_x, int qp_per, int qp_rem,
00080 int **levelscale, int **leveloffset, const byte (*pos_scan)[2], int levelTrellis[16]);
00081
00082 void rdoq_dc_CAVLC (int **tblock, int qp_per, int qp_rem, int levelscale, int leveloffset,
00083 const byte (*pos_scan)[2], int levelTrellis[16], int type);
00084
00085 void rdoq_dc_CABAC (int **tblock, int qp_per, int qp_rem, int levelscale, int leveloffset,
00086 const byte (*pos_scan)[2], int levelTrellis[16], int type);
00087
00088 void (*rdoq_dc) (int **tblock, int qp_per, int qp_rem, int levelscale, int leveloffset,
00089 const byte (*pos_scan)[2], int levelTrellis[16], int type);
00090
00091 void rdoq_ac4x4_CAVLC (int **tblock , int block_y, int block_x, int qp_per, int qp_rem,
00092 int **levelscale, int **leveloffset, const byte (*pos_scan)[2], int levelTrellis[16], int type);
00093
00094 void rdoq_ac4x4_CABAC (int **tblock , int block_y, int block_x, int qp_per, int qp_rem,
00095 int **levelscale, int **leveloffset, const byte (*pos_scan)[2], int levelTrellis[16], int type);
00096
00097 void (*rdoq_ac4x4) (int **tblock , int block_y, int block_x, int qp_per, int qp_rem,
00098 int **levelscale, int **leveloffset, const byte (*pos_scan)[2], int levelTrellis[16], int type);
00099
00100 #endif
00101