diff options
author | Diego Biurrun <diego@biurrun.de> | 2012-07-15 18:11:36 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2013-01-06 13:57:01 +0100 |
commit | 5b4dfbffc258f90a7d2540d21209ac23afcf7cd0 (patch) | |
tree | d4c35c183425b1b126efad13acf6f6232e2e5bad | |
parent | de16f08e48a2e0dbd7311882d97fe379535c5a48 (diff) | |
download | ffmpeg-5b4dfbffc258f90a7d2540d21209ac23afcf7cd0.tar.gz |
x86: ABS1: port to cpuflags
-rw-r--r-- | libavcodec/x86/dsputilenc.asm | 2 | ||||
-rw-r--r-- | libavutil/x86/x86util.asm | 21 |
2 files changed, 9 insertions, 14 deletions
diff --git a/libavcodec/x86/dsputilenc.asm b/libavcodec/x86/dsputilenc.asm index 104ec585e8..3bb1f2f4ed 100644 --- a/libavcodec/x86/dsputilenc.asm +++ b/libavcodec/x86/dsputilenc.asm @@ -257,11 +257,9 @@ hadamard8_16_wrapper 0, 14 %endmacro INIT_MMX mmx -%define ABS1 ABS1_MMX HADAMARD8_DIFF INIT_MMX mmxext -%define ABS1 ABS1_MMXEXT HADAMARD8_DIFF INIT_XMM sse2 diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm index 16ee6cfe94..e24acdd940 100644 --- a/libavutil/x86/x86util.asm +++ b/libavutil/x86/x86util.asm @@ -172,11 +172,19 @@ psignw %1, %2 %endmacro -%macro ABS1_MMX 2 ; a, tmp +%macro ABS1 2 +%if cpuflag(ssse3) + pabsw %1, %1 +%elif cpuflag(mmxext) ; a, tmp + pxor %2, %2 + psubw %2, %1 + pmaxsw %1, %2 +%else ; a, tmp pxor %2, %2 pcmpgtw %2, %1 pxor %1, %2 psubw %1, %2 +%endif %endmacro %macro ABS2_MMX 4 ; a, b, tmp0, tmp1 @@ -190,12 +198,6 @@ psubw %2, %4 %endmacro -%macro ABS1_MMXEXT 2 ; a, tmp - pxor %2, %2 - psubw %2, %1 - pmaxsw %1, %2 -%endmacro - %macro ABS2_MMXEXT 4 ; a, b, tmp0, tmp1 pxor %3, %3 pxor %4, %4 @@ -205,10 +207,6 @@ pmaxsw %2, %4 %endmacro -%macro ABS1_SSSE3 2 - pabsw %1, %1 -%endmacro - %macro ABS2_SSSE3 4 pabsw %1, %1 pabsw %2, %2 @@ -254,7 +252,6 @@ ABS2 %3, %4, %5, %6 %endmacro -%define ABS1 ABS1_MMX %define ABS2 ABS2_MMX %define ABSB ABSB_MMX %define ABSB2 ABSB2_MMX |