summaryrefslogtreecommitdiff
path: root/libavcodec/x86/x86util.asm
diff options
context:
space:
mode:
authorJason Garrett-Glaser <jason@x264.com>2011-05-10 07:08:24 -0700
committerJason Garrett-Glaser <jason@x264.com>2011-05-10 20:01:58 -0700
commit8ad77b65b548a6b2f4707265ebd7e97f956acf0b (patch)
treee0d9053df2b4130023fc4b8960dc8c3e3d139fdc /libavcodec/x86/x86util.asm
parentb66752790a94820c23b0ac994d6190dd9048582d (diff)
Update x86 H.264 deblock asm
Includes AVX versions from x264.
Diffstat (limited to 'libavcodec/x86/x86util.asm')
-rw-r--r--libavcodec/x86/x86util.asm19
1 files changed, 16 insertions, 3 deletions
diff --git a/libavcodec/x86/x86util.asm b/libavcodec/x86/x86util.asm
index f731616270..28baf7a96a 100644
--- a/libavcodec/x86/x86util.asm
+++ b/libavcodec/x86/x86util.asm
@@ -24,16 +24,20 @@
;******************************************************************************
%macro SBUTTERFLY 4
+%if avx_enabled == 0
mova m%4, m%2
punpckl%1 m%2, m%3
punpckh%1 m%4, m%3
+%else
+ punpckh%1 m%4, m%2, m%3
+ punpckl%1 m%2, m%3
+%endif
SWAP %3, %4
%endmacro
%macro SBUTTERFLY2 4
- mova m%4, m%2
- punpckh%1 m%2, m%3
- punpckl%1 m%4, m%3
+ punpckl%1 m%4, m%2, m%3
+ punpckh%1 m%2, m%2, m%3
SWAP %2, %4, %3
%endmacro
@@ -444,3 +448,12 @@
%macro PMINUB_MMXEXT 3 ; dst, src, ignored
pminub %1, %2
%endmacro
+
+%macro SPLATW 2-3 0
+%if mmsize == 16
+ pshuflw %1, %2, (%3)*0x55
+ punpcklqdq %1, %1
+%else
+ pshufw %1, %2, (%3)*0x55
+%endif
+%endmacro