The calling convention only allows 4 non-stack parameter, with each
float or int register being skipped if not used.

fixes Bug 64
---
 libavcodec/x86/fmtconvert.asm |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/libavcodec/x86/fmtconvert.asm b/libavcodec/x86/fmtconvert.asm
index 8549548..d6dc711 100644
--- a/libavcodec/x86/fmtconvert.asm
+++ b/libavcodec/x86/fmtconvert.asm
@@ -28,10 +28,14 @@ SECTION_TEXT
 ; void int32_to_float_fmul_scalar(float *dst, const int *src, float mul, int 
len);
 
;---------------------------------------------------------------------------------
 %macro INT32_TO_FLOAT_FMUL_SCALAR 2
-%ifdef ARCH_X86_64
+%ifdef UNIX64
 cglobal int32_to_float_fmul_scalar_%1, 3,3,%2, dst, src, len
 %else
 cglobal int32_to_float_fmul_scalar_%1, 4,4,%2, dst, src, mul, len
+%endif
+%ifdef WIN64
+    movss   m0, m2
+%elifdef ARCH_X86_32
     movss   m0, mulm
 %endif
     SPLATD  m0
-- 
1.7.1

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

Reply via email to