---
This should fix the failures on wine/win64.  I'm guessing it worked
on real win64 because the memcpy there doesn't use sse.

Can someone please test this?
---
 libavcodec/x86/fft_mmx.asm |   16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/libavcodec/x86/fft_mmx.asm b/libavcodec/x86/fft_mmx.asm
index 1cacfb7..5143611 100644
--- a/libavcodec/x86/fft_mmx.asm
+++ b/libavcodec/x86/fft_mmx.asm
@@ -640,19 +640,21 @@ cglobal fft_permute, 2,7,1
 %if ARCH_X86_64
     mov     r0, r1
     mov     r1, r5
+%endif
+%if WIN64
+    sub     rsp, 8
+    call    memcpy
+    add     rsp, 8
+    RET
+%elif ARCH_X86_64
+    jmp     memcpy
 %else
     push    r2
     push    r5
     push    r1
-%endif
-%if ARCH_X86_64 && WIN64 == 0
-    jmp     memcpy
-%else
     call    memcpy
-%if ARCH_X86_32
     add     esp, 12
-%endif
-    REP_RET
+    RET
 %endif
 
 cglobal imdct_calc, 3,5,3
-- 
1.7.10.2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to