aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/x86util.asm
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-05-23 04:16:08 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-05-23 04:29:51 +0200
commit01a73d6cef70dfa90fdf79f7afd55b817b4c9342 (patch)
tree6439c123a8368d7e2830d90d7b47725c5efe5f1c /libavcodec/x86/x86util.asm
parent0753721ed1caab048b58db15ebfdf45569e83420 (diff)
parenta121754852a69b4879a39ba78863404c13c54f61 (diff)
downloadffmpeg-01a73d6cef70dfa90fdf79f7afd55b817b4c9342.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: ffmpeg: Don't trigger url_interrupt_cb on the first signal avoptions: Check the return value from av_get_number dct32_sse: eliminate some spills Fix dct32() compilation with --disable-yasm Conflicts: ffmpeg.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/x86util.asm')
-rw-r--r--libavcodec/x86/x86util.asm20
1 files changed, 20 insertions, 0 deletions
diff --git a/libavcodec/x86/x86util.asm b/libavcodec/x86/x86util.asm
index 18ba9d1ad2..b8ca348b68 100644
--- a/libavcodec/x86/x86util.asm
+++ b/libavcodec/x86/x86util.asm
@@ -41,6 +41,13 @@
SWAP %2, %4, %3
%endmacro
+%macro SBUTTERFLYPS 3
+ movaps m%3, m%1
+ unpcklps m%1, m%2
+ unpckhps m%3, m%2
+ SWAP %2, %3
+%endmacro
+
%macro TRANSPOSE4x4B 5
SBUTTERFLY bw, %1, %2, %5
SBUTTERFLY bw, %3, %4, %5
@@ -74,6 +81,19 @@
SWAP %2, %3
%endmacro
+; identical behavior to TRANSPOSE4x4D, but using SSE1 float ops
+%macro TRANSPOSE4x4PS 5
+ SBUTTERFLYPS %1, %2, %5
+ SBUTTERFLYPS %3, %4, %5
+ movaps m%5, m%1
+ movlhps m%1, m%3
+ movhlps m%3, m%5
+ movaps m%5, m%2
+ movlhps m%2, m%4
+ movhlps m%4, m%5
+ SWAP %2, %3
+%endmacro
+
%macro TRANSPOSE8x8W 9-11
%ifdef ARCH_X86_64
SBUTTERFLY wd, %1, %2, %9