shithub: libvpx

Download patch

ref: 1e7ded69cfaff55c80de1308820031e9a0a01e1a
parent: 085fb4b737c17ffadb92749fb7dda76123e8f595
author: Ronald S. Bultje <rbultje@google.com>
date: Wed Apr 27 09:49:21 EDT 2011

Use psadbw to get the sum of bytes in a line.

Thanks Jason for pointing that out on #vp8. ;-).

Change-Id: I5330a753e752a8704b78a409597472628e0b26a5

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