[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