From ccae5d99d24a74f60a07a48ef98149d893fb15aa Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 5 May 2015 11:40:13 -0700 Subject: [PATCH] fix and enable vp9_dc_128_predictor_16x16 widen the loads and stores to 128-bit. this was added, but not enabled in: 493a857 Add some sse2 code for intra prediction. Change-Id: I277d7db608a7db7d75cc0bde86f48fa66ad487e4 --- vp9/common/vp9_rtcd_defs.pl | 2 +- vp9/common/x86/vp9_intrapred_sse2.asm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vp9/common/vp9_rtcd_defs.pl b/vp9/common/vp9_rtcd_defs.pl index 7ac9048..7365d4a 100644 --- a/vp9/common/vp9_rtcd_defs.pl +++ b/vp9/common/vp9_rtcd_defs.pl @@ -171,7 +171,7 @@ add_proto qw/void vp9_dc_left_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_strid specialize qw/vp9_dc_left_predictor_16x16/; add_proto qw/void vp9_dc_128_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"; -specialize qw/vp9_dc_128_predictor_16x16/; +specialize qw/vp9_dc_128_predictor_16x16/, "$sse2_x86inc"; add_proto qw/void vp9_d207_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"; specialize qw/vp9_d207_predictor_32x32/, "$ssse3_x86inc"; diff --git a/vp9/common/x86/vp9_intrapred_sse2.asm b/vp9/common/x86/vp9_intrapred_sse2.asm index f8c8f62..92ac491 100644 --- a/vp9/common/x86/vp9_intrapred_sse2.asm +++ b/vp9/common/x86/vp9_intrapred_sse2.asm @@ -263,14 +263,14 @@ cglobal dc_top_predictor_16x16, 4, 5, 3, dst, stride, above, left, goffset REP_RET -INIT_MMX sse +INIT_XMM sse2 cglobal dc_128_predictor_16x16, 4, 5, 3, dst, stride, above, left, goffset GET_GOT goffsetq DEFINE_ARGS dst, stride, stride3, lines4 lea stride3q, [strideq*3] mov lines4d, 4 - movq m0, [GLOBAL(dc_128)] + mova m0, [GLOBAL(dc_128)] .loop: mova [dstq ], m0 mova [dstq+strideq ], m0 -- 2.7.4