[FFmpeg-cvslog] imdct36: mark SSE functions as using all 16 XMM registers.
Ronald S. Bultje
git at videolan.org
Mon Jan 30 05:29:43 CET 2012
ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Sun Jan 29 08:14:05 2012 -0800| [331e7c4cb34eb77451fbf84c604d717ed49abf15] | committer: Ronald S. Bultje
imdct36: mark SSE functions as using all 16 XMM registers.
On x86-64, it indeed uses all 16 registers (and on x86-32, this gets
clipped to 8). Not marking it properly causes callers of this function
to fail randomly because of XMM register clobbering.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=331e7c4cb34eb77451fbf84c604d717ed49abf15
---
libavcodec/x86/imdct36_sse.asm | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/libavcodec/x86/imdct36_sse.asm b/libavcodec/x86/imdct36_sse.asm
index abdd3af..937a2cc 100644
--- a/libavcodec/x86/imdct36_sse.asm
+++ b/libavcodec/x86/imdct36_sse.asm
@@ -391,7 +391,7 @@ INIT_XMM sse
%endif
%macro DEFINE_FOUR_IMDCT 0
-cglobal four_imdct36_float, 5,5,8, out, buf, in, win, tmp
+cglobal four_imdct36_float, 5,5,16, out, buf, in, win, tmp
movlps m0, [inq+64]
movhps m0, [inq+64 + 72]
movlps m3, [inq+64 + 2*72]
More information about the ffmpeg-cvslog
mailing list