diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-13 15:23:48 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-13 15:23:48 +0400 |
commit | 7897919a88cd4be607497a367203e55fe11df9f0 (patch) | |
tree | 56727965b7a38e52c63962a1a794b575d991437b /libavutil | |
parent | 2e5e2bf935ae91b3113f480086c0652f17935b0c (diff) | |
parent | 6d5b0092678b2a95dfe209a207550bd2fe9ef646 (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')
-rw-r--r-- | libavutil/x86/x86inc.asm | 10 |
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) |