Fix a decoding mismatch in sub-pixel filters
authorYunqing Wang <yunqingwang@google.com>
Thu, 22 May 2014 22:42:13 +0000 (15:42 -0700)
committerYunqing Wang <yunqingwang@google.com>
Thu, 22 May 2014 22:42:13 +0000 (15:42 -0700)
This did the same correction as the one in commit "Correct ssse3
8/16-pixel wide sub-pixel filter calculation" to avoid saturation
during filtering.

Change-Id: Ife9aa3f62daf9114eb24fe38f7baa3c3f361b2d6

vp9/common/x86/vp9_subpixel_8t_ssse3.asm

index 634fa77..fd781d4 100644 (file)
     punpcklbw   xmm2, xmm3                  ;C D
     punpcklbw   xmm4, xmm5                  ;E F
 
-
     movq        xmm6, [rsi + rbx + 8]       ;G
     movq        xmm7, [rax + rbx + 8]       ;H
     punpcklbw   xmm6, xmm7                  ;G H
 
-
     pmaddubsw   xmm0, k0k1
     pmaddubsw   xmm2, k2k3
     pmaddubsw   xmm4, k4k5
     pmaddubsw   xmm6, k6k7
 
     paddsw      xmm0, xmm6
-    paddsw      xmm0, xmm2
+    movdqa      xmm1, xmm2
+    pmaxsw      xmm2, xmm4
+    pminsw      xmm4, xmm1
     paddsw      xmm0, xmm4
-    paddsw      xmm0, krd
+    paddsw      xmm0, xmm2
 
+    paddsw      xmm0, krd
     psraw       xmm0, 7
     packuswb    xmm0, xmm0