shithub: libvpx

Download patch

ref: 57afffbcbb67ad563a9cf3745b80ad7a4b99572a
parent: 3dfafccac89505eb9932cd290425804984202c36
parent: f10732554b0b59115d8ab5882b8e17bc668547d3
author: John Koleszar <jkoleszar@google.com>
date: Thu Apr 28 20:05:07 EDT 2011

Merge remote branch 'internal/upstream' into HEAD

--- 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)
 
--