[FFmpeg-cvslog] h264: don't use redzone in loopfilter on win64.

Ronald S. Bultje git at videolan.org
Tue Feb 21 05:29:36 CET 2012


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Sat Feb 18 18:57:22 2012 -0800| [8fb26950ed3c4cd1e175c4439726884926cba022] | committer: Ronald S. Bultje

h264: don't use redzone in loopfilter on win64.

Red zone usage is not allowed in the Win64 ABI.

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

 libavcodec/x86/h264_deblock.asm |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm
index f264edb..0f61922 100644
--- a/libavcodec/x86/h264_deblock.asm
+++ b/libavcodec/x86/h264_deblock.asm
@@ -824,9 +824,13 @@ cglobal deblock_v_chroma_8_mmxext, 5,6
 ; void ff_deblock_h_chroma( uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0 )
 ;-----------------------------------------------------------------------------
 cglobal deblock_h_chroma_8_mmxext, 5,7
-%if ARCH_X86_64
+%if UNIX64
     %define buf0 [rsp-24]
     %define buf1 [rsp-16]
+%elif WIN64
+    sub   rsp, 16
+    %define buf0 [rsp]
+    %define buf1 [rsp+8]
 %else
     %define buf0 r0m
     %define buf1 r2m
@@ -839,6 +843,9 @@ cglobal deblock_h_chroma_8_mmxext, 5,7
     movq  m0, buf0
     movq  m3, buf1
     TRANSPOSE8x4B_STORE PASS8ROWS(t5, r0, r1, t6)
+%if WIN64
+    add   rsp, 16
+%endif
     RET
 
 ALIGN 16



More information about the ffmpeg-cvslog mailing list