[FFmpeg-cvslog] fmtconvert: fix int32_to_float_fmul_scalar() for windows x86_64

Justin Ruggles git at videolan.org
Fri Nov 4 01:55:57 CET 2011


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Tue Nov  1 16:57:41 2011 -0400| [5463e83dbc9825f3962118f0d3328be82aea3308] | committer: Justin Ruggles

fmtconvert: fix int32_to_float_fmul_scalar() for windows x86_64

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

fixes Bug 64

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5463e83dbc9825f3962118f0d3328be82aea3308
---

 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..d621089 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
+    SWAP 0, 2
+%elifdef ARCH_X86_32
     movss   m0, mulm
 %endif
     SPLATD  m0



More information about the ffmpeg-cvslog mailing list