diff options
Diffstat (limited to 'vp8/common')
-rw-r--r-- | vp8/common/blockd.h | 4 | ||||
-rw-r--r-- | vp8/common/loopfilter.h | 10 | ||||
-rw-r--r-- | vp8/common/rtcd_defs.sh | 67 |
3 files changed, 56 insertions, 25 deletions
diff --git a/vp8/common/blockd.h b/vp8/common/blockd.h index 5d919f1a9..3a3efabed 100644 --- a/vp8/common/blockd.h +++ b/vp8/common/blockd.h @@ -253,7 +253,7 @@ typedef struct { union b_mode_info bmi[16]; } MODE_INFO; -typedef struct { +typedef struct blockd { short *qcoeff; short *dqcoeff; unsigned char *predictor; @@ -275,7 +275,7 @@ typedef struct { union b_mode_info bmi; } BLOCKD; -typedef struct MacroBlockD { +typedef struct macroblockd { DECLARE_ALIGNED(16, short, diff[400]); /* from idct diff */ DECLARE_ALIGNED(16, unsigned char, predictor[384]); DECLARE_ALIGNED(16, short, qcoeff[400]); diff --git a/vp8/common/loopfilter.h b/vp8/common/loopfilter.h index df78b8c12..c9f4fb5a4 100644 --- a/vp8/common/loopfilter.h +++ b/vp8/common/loopfilter.h @@ -81,22 +81,22 @@ typedef void loop_filter_uvfunction /* assorted loopfilter functions which get used elsewhere */ struct VP8Common; -struct MacroBlockD; +struct macroblockd; void vp8_loop_filter_init(struct VP8Common *cm); void vp8_loop_filter_frame_init(struct VP8Common *cm, - struct MacroBlockD *mbd, + struct macroblockd *mbd, int default_filt_lvl); -void vp8_loop_filter_frame(struct VP8Common *cm, struct MacroBlockD *mbd); +void vp8_loop_filter_frame(struct VP8Common *cm, struct macroblockd *mbd); void vp8_loop_filter_partial_frame(struct VP8Common *cm, - struct MacroBlockD *mbd, + struct macroblockd *mbd, int default_filt_lvl); void vp8_loop_filter_frame_yonly(struct VP8Common *cm, - struct MacroBlockD *mbd, + struct macroblockd *mbd, int default_filt_lvl); void vp8_loop_filter_update_sharpness(loop_filter_info_n *lfi, diff --git a/vp8/common/rtcd_defs.sh b/vp8/common/rtcd_defs.sh index e45028284..5e7a0e5d8 100644 --- a/vp8/common/rtcd_defs.sh +++ b/vp8/common/rtcd_defs.sh @@ -1,8 +1,15 @@ common_forward_decls() { cat <<EOF -#include "vp8/common/blockd.h" struct loop_filter_info; +struct blockd; +struct macroblockd; +struct loop_filter_info; + +/* Encoder forward decls */ +struct block; +struct macroblock; +struct variance_vtable; /* Encoder forward decls */ struct variance_vtable; @@ -70,55 +77,55 @@ specialize vp8_recon2b sse2 prototype void vp8_recon4b "unsigned char *pred_ptr, short *diff_ptr, unsigned char *dst_ptr, int stride" specialize vp8_recon4b sse2 -prototype void vp8_recon_mb "MACROBLOCKD *x" +prototype void vp8_recon_mb "struct macroblockd *x" specialize vp8_recon_mb -prototype void vp8_recon_mby "MACROBLOCKD *x" +prototype void vp8_recon_mby "struct macroblockd *x" specialize vp8_recon_mby -prototype void vp8_build_intra_predictors_mby_s "MACROBLOCKD *x" +prototype void vp8_build_intra_predictors_mby_s "struct macroblockd *x" specialize vp8_build_intra_predictors_mby_s -prototype void vp8_build_intra_predictors_sby_s "MACROBLOCKD *x" +prototype void vp8_build_intra_predictors_sby_s "struct macroblockd *x" specialize vp8_build_intra_predictors_sby_s; -prototype void vp8_build_intra_predictors_sbuv_s "MACROBLOCKD *x" +prototype void vp8_build_intra_predictors_sbuv_s "struct macroblockd *x" specialize vp8_build_intra_predictors_sbuv_s; -prototype void vp8_build_intra_predictors_mby "MACROBLOCKD *x" +prototype void vp8_build_intra_predictors_mby "struct macroblockd *x" specialize vp8_build_intra_predictors_mby; -prototype void vp8_build_comp_intra_predictors_mby "MACROBLOCKD *x" +prototype void vp8_build_comp_intra_predictors_mby "struct macroblockd *x" specialize vp8_build_comp_intra_predictors_mby; -prototype void vp8_build_intra_predictors_mby_s "MACROBLOCKD *x" +prototype void vp8_build_intra_predictors_mby_s "struct macroblockd *x" specialize vp8_build_intra_predictors_mby_s; -prototype void vp8_build_intra_predictors_mbuv "MACROBLOCKD *x" +prototype void vp8_build_intra_predictors_mbuv "struct macroblockd *x" specialize vp8_build_intra_predictors_mbuv; -prototype void vp8_build_intra_predictors_mbuv_s "MACROBLOCKD *x" +prototype void vp8_build_intra_predictors_mbuv_s "struct macroblockd *x" specialize vp8_build_intra_predictors_mbuv_s; -prototype void vp8_build_comp_intra_predictors_mbuv "MACROBLOCKD *x" +prototype void vp8_build_comp_intra_predictors_mbuv "struct macroblockd *x" specialize vp8_build_comp_intra_predictors_mbuv; -prototype void vp8_intra4x4_predict "BLOCKD *x, int b_mode, unsigned char *predictor" +prototype void vp8_intra4x4_predict "struct blockd *x, int b_mode, unsigned char *predictor" specialize vp8_intra4x4_predict; -prototype void vp8_comp_intra4x4_predict "BLOCKD *x, int b_mode, int second_mode, unsigned char *predictor" +prototype void vp8_comp_intra4x4_predict "struct blockd *x, int b_mode, int second_mode, unsigned char *predictor" specialize vp8_comp_intra4x4_predict; -prototype void vp8_intra8x8_predict "BLOCKD *x, int b_mode, unsigned char *predictor" +prototype void vp8_intra8x8_predict "struct blockd *x, int b_mode, unsigned char *predictor" specialize vp8_intra8x8_predict; -prototype void vp8_comp_intra8x8_predict "BLOCKD *x, int b_mode, int second_mode, unsigned char *predictor" +prototype void vp8_comp_intra8x8_predict "struct blockd *x, int b_mode, int second_mode, unsigned char *predictor" specialize vp8_comp_intra8x8_predict; -prototype void vp8_intra_uv4x4_predict "BLOCKD *x, int b_mode, unsigned char *predictor" +prototype void vp8_intra_uv4x4_predict "struct blockd *x, int b_mode, unsigned char *predictor" specialize vp8_intra_uv4x4_predict; -prototype void vp8_comp_intra_uv4x4_predict "BLOCKD *x, int b_mode, int second_mode, unsigned char *predictor" +prototype void vp8_comp_intra_uv4x4_predict "struct blockd *x, int b_mode, int second_mode, unsigned char *predictor" specialize vp8_comp_intra_uv4x4_predict; # @@ -367,6 +374,30 @@ specialize vp8_sub_pixel_mse32x32 prototype unsigned int vp8_get_mb_ss "const short *" specialize vp8_get_mb_ss mmx sse2 +# ENCODEMB INVOKE +prototype int vp8_mbblock_error "struct macroblock *mb, int dc" +specialize vp8_mbblock_error mmx sse2 +vp8_mbblock_error_sse2=vp8_mbblock_error_xmm + +prototype int vp8_block_error "short *coeff, short *dqcoeff, int block_size" +specialize vp8_block_error mmx sse2 +vp8_block_error_sse2=vp8_block_error_xmm + +prototype void vp8_subtract_b "struct block *be, struct blockd *bd, int pitch" +specialize vp8_subtract_b mmx sse2 + +prototype int vp8_mbuverror "struct macroblock *mb" +specialize vp8_mbuverror mmx sse2 +vp8_mbuverror_sse2=vp8_mbuverror_xmm + +prototype void vp8_subtract_b "struct block *be, struct blockd *bd, int pitch" +specialize vp8_subtract_b mmx sse2 + +prototype void vp8_subtract_mby "short *diff, unsigned char *src, unsigned char *pred, int stride" +specialize vp8_subtract_mby mmx sse2 + +prototype void vp8_subtract_mbuv "short *diff, unsigned char *usrc, unsigned char *vsrc, unsigned char *pred, int stride" +specialize vp8_subtract_mbuv mmx sse2 # # Structured Similarity (SSIM) |