summaryrefslogtreecommitdiff
path: root/vp8/common
diff options
context:
space:
mode:
Diffstat (limited to 'vp8/common')
-rw-r--r--vp8/common/blockd.h4
-rw-r--r--vp8/common/loopfilter.h10
-rw-r--r--vp8/common/rtcd_defs.sh67
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)