Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-13 15:23:48 +0400
committerMichael Niedermayer <michaelni@gmx.at>2012-12-13 15:23:48 +0400
commit7897919a88cd4be607497a367203e55fe11df9f0 (patch)
tree56727965b7a38e52c63962a1a794b575d991437b /libavutil/x86
parent2e5e2bf935ae91b3113f480086c0652f17935b0c (diff)
parent6d5b0092678b2a95dfe209a207550bd2fe9ef646 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN. x86inc: fix stack alignment on win64 rtpproto: Remove unused defines Conflicts: libavcodec/aacdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/x86')
-rw-r--r--libavutil/x86/x86inc.asm10
1 files changed, 6 insertions, 4 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 55bbbca267..1f1e4b1cd7 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -447,7 +447,7 @@ DECLARE_REG 14, R15, 120
%assign %%i xmm_regs_used
%rep (xmm_regs_used-6)
%assign %%i %%i-1
- movdqa [rsp + (%%i-6)*16 + stack_size], xmm %+ %%i
+ movdqa [rsp + (%%i-6)*16 + stack_size + (~stack_offset&8)], xmm %+ %%i
%endrep
%endmacro
@@ -455,8 +455,7 @@ DECLARE_REG 14, R15, 120
%assign xmm_regs_used %1
ASSERT xmm_regs_used <= 16
%if xmm_regs_used > 6
- %assign stack_size_padded (xmm_regs_used-6)*16+16-gprsize-(stack_offset&15)
- SUB rsp, stack_size_padded
+ SUB rsp, (xmm_regs_used-6)*16+16
WIN64_PUSH_XMM
%endif
%endmacro
@@ -466,8 +465,11 @@ DECLARE_REG 14, R15, 120
%assign %%i xmm_regs_used
%rep (xmm_regs_used-6)
%assign %%i %%i-1
- movdqa xmm %+ %%i, [%1 + (%%i-6)*16+stack_size]
+ movdqa xmm %+ %%i, [%1 + (%%i-6)*16+stack_size+(~stack_offset&8)]
%endrep
+ %if stack_size_padded == 0
+ add %1, (xmm_regs_used-6)*16+16
+ %endif
%endif
%if stack_size_padded > 0
%if stack_size > 0 && (mmsize == 32 || HAVE_ALIGNED_STACK == 0)