shithub: libvpx

Download patch

ref: ccae5d99d24a74f60a07a48ef98149d893fb15aa
parent: e47811ef8f045352dfad6c00add79e57e04fc96b
author: James Zern <[email protected]>
date: Tue May 5 07:40:13 EDT 2015

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

--- a/vp9/common/vp9_rtcd_defs.pl
+++ b/vp9/common/vp9_rtcd_defs.pl
@@ -171,7 +171,7 @@
 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";
--- a/vp9/common/x86/vp9_intrapred_sse2.asm
+++ b/vp9/common/x86/vp9_intrapred_sse2.asm
@@ -263,7 +263,7 @@
   REP_RET
 
 
-INIT_MMX sse
+INIT_XMM sse2
 cglobal dc_128_predictor_16x16, 4, 5, 3, dst, stride, above, left, goffset
   GET_GOT     goffsetq
 
@@ -270,7 +270,7 @@
   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