shithub: libvpx

Download patch

ref: 89c3269636c1c1859345a73bbd5eb8f71df29306
parent: c26bb0fe8f84d6e9b67f9304fc2b1b980e153a37
parent: f10732554b0b59115d8ab5882b8e17bc668547d3
author: John Koleszar <jkoleszar@google.com>
date: Thu Apr 28 20:05:07 EDT 2011

Merge remote branch 'origin/master' into experimental

Change-Id: I993021d0b2d7fbe44d6371464f2686eed3ccfaae

--- a/vp8/common/x86/recon_sse2.asm
+++ b/vp8/common/x86/recon_sse2.asm
@@ -251,15 +251,8 @@
     movsxd      rax,        dword ptr arg(3) ;src_stride;
     sub         rsi,        rax
     pxor        mm0,        mm0
-    movd        mm1,        [rsi]
-    movd        mm2,        [rsi+4]
-    punpcklbw   mm1,        mm0
-    punpcklbw   mm2,        mm0
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x0e
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x01
-    paddw       mm1,        mm2
+    movq        mm1,        [rsi]
+    psadbw      mm1,        mm0
 
     ; from left
     dec         rsi
@@ -331,15 +324,8 @@
     movsxd      rax,        dword ptr arg(3) ;src_stride;
     sub         rsi,        rax
     pxor        mm0,        mm0
-    movd        mm1,        [rsi]
-    movd        mm2,        [rsi+4]
-    punpcklbw   mm1,        mm0
-    punpcklbw   mm2,        mm0
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x0e
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x01
-    paddw       mm1,        mm2
+    movq        mm1,        [rsi]
+    psadbw      mm1,        mm0
 
     ; add up
     paddw       mm1,        [GLOBAL(dc_4)]
--- a/vp8/common/x86/recon_wrapper_sse2.c
+++ b/vp8/common/x86/recon_wrapper_sse2.c
@@ -27,11 +27,11 @@
 extern build_intra_predictors_mbuv_prototype(vp8_intra_pred_uv_tm_sse2);
 extern build_intra_predictors_mbuv_prototype(vp8_intra_pred_uv_tm_ssse3);
 
-static inline void vp8_build_intra_predictors_mbuv_x86(MACROBLOCKD *x,
-                                                       unsigned char *dst_u,
-                                                       unsigned char *dst_v,
-                                                       int dst_stride,
-                                                       build_intra_predictors_mbuv_fn_t tm_func)
+static void vp8_build_intra_predictors_mbuv_x86(MACROBLOCKD *x,
+                                                unsigned char *dst_u,
+                                                unsigned char *dst_v,
+                                                int dst_stride,
+                                                build_intra_predictors_mbuv_fn_t tm_func)
 {
     int mode = x->mode_info_context->mbmi.uv_mode;
     build_intra_predictors_mbuv_fn_t fn;
--- a/vpx/src/vpx_encoder.c
+++ b/vpx/src/vpx_encoder.c
@@ -16,6 +16,7 @@
 #include <limits.h>
 #include <string.h>
 #include "vpx/internal/vpx_codec_internal.h"
+#include "vpx_config.h"
 
 #define SAVE_STATUS(ctx,var) (ctx?(ctx->err = var):var)
 
--