diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2010-09-17 01:56:06 +0000 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2010-09-17 01:56:06 +0000 |
commit | e2e341048efe88954d742ea94c31a2c5a777d8ed (patch) | |
tree | d73832e9af6a83f50ed8245cd4e7953e9ab8386c /libavcodec/x86/x86util.asm | |
parent | d0acc2d2e9cbc09b7f311589daf1c9c63dfce473 (diff) | |
download | ffmpeg-e2e341048efe88954d742ea94c31a2c5a777d8ed.tar.gz |
Move hadamard_diff{,16}_{mmx,mmx2,sse2,ssse3}() from inline asm to yasm,
which will hopefully solve the Win64/FATE failures caused by these functions.
Originally committed as revision 25137 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/x86/x86util.asm')
-rw-r--r-- | libavcodec/x86/x86util.asm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/libavcodec/x86/x86util.asm b/libavcodec/x86/x86util.asm index 5dd65dca5c..7cabc70b31 100644 --- a/libavcodec/x86/x86util.asm +++ b/libavcodec/x86/x86util.asm @@ -148,12 +148,30 @@ %endmacro %macro ABS1_MMX 2 ; a, tmp + pxor %2, %2 + pcmpgtw %2, %1 + pxor %1, %2 + psubw %1, %2 +%endmacro + +%macro ABS2_MMX 4 ; a, b, tmp0, tmp1 + pxor %3, %3 + pxor %4, %4 + pcmpgtw %3, %1 + pcmpgtw %4, %2 + pxor %1, %3 + pxor %2, %4 + psubw %1, %3 + psubw %2, %4 +%endmacro + +%macro ABS1_MMX2 2 ; a, tmp pxor %2, %2 psubw %2, %1 pmaxsw %1, %2 %endmacro -%macro ABS2_MMX 4 ; a, b, tmp0, tmp1 +%macro ABS2_MMX2 4 ; a, b, tmp0, tmp1 pxor %3, %3 pxor %4, %4 psubw %3, %1 |