summaryrefslogtreecommitdiff
path: root/libavcodec/x86/hevc_deblock.asm
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-07-28 21:11:49 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-07-29 03:42:29 +0200
commit4f91bb0ff0bd8732baeeba4c9f3a96780151a6da (patch)
treee2ee0de2dadc7a8114ae4cad234570d936643f41 /libavcodec/x86/hevc_deblock.asm
parent983109bbd99939c0c3a35c96b1c36e823bf30f6b (diff)
x86/hevc_deblock: use psignw instead of pmullw where possible
It's slightly faster Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/hevc_deblock.asm')
-rw-r--r--libavcodec/x86/hevc_deblock.asm8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/x86/hevc_deblock.asm b/libavcodec/x86/hevc_deblock.asm
index ecebd3634a..e38181db43 100644
--- a/libavcodec/x86/hevc_deblock.asm
+++ b/libavcodec/x86/hevc_deblock.asm
@@ -324,7 +324,11 @@ ALIGN 16
movd m4, [tcq+4]; tc1
punpcklwd m4, m4
shufps m6, m4, 0; tc0, tc1
+%if cpuflag(ssse3)
+ psignw m4, m6, [pw_m1]; -tc0, -tc1
+%else
pmullw m4, m6, [pw_m1]; -tc0, -tc1
+%endif
;end tc calculations
paddw m5, [pw_4]; +4
@@ -609,7 +613,11 @@ ALIGN 16
pminsw m12, m9; av_clip(delta0, -tc, tc)
psraw m9, 1; tc -> tc / 2
+%if cpuflag(ssse3)
+ psignw m14, m9, [pw_m1]; -tc / 2
+%else
pmullw m14, m9, [pw_m1]; -tc / 2
+%endif
pavgw m15, m1, m3; (p2 + p0 + 1) >> 1
psubw m15, m2; ((p2 + p0 + 1) >> 1) - p1