]> granicus.if.org Git - libvpx/commitdiff
fix and enable vp9_dc_128_predictor_16x16
authorJames Zern <jzern@google.com>
Tue, 5 May 2015 18:40:13 +0000 (11:40 -0700)
committerJames Zern <jzern@google.com>
Tue, 5 May 2015 18:40:13 +0000 (11:40 -0700)
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
vp9/common/x86/vp9_intrapred_sse2.asm

index 7ac904824dde8a860bf2cb7afba37079b0889696..7365d4a3a631c5a97b34615a020dbcde15f9e100 100644 (file)
@@ -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";
index f8c8f621a2422f454a9b7c2c7efd732733477a78..92ac491007214e097f86bded28249a4cb175c467 100644 (file)
@@ -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