aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/x86/x86inc.asm
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-02-09 00:44:20 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-02-09 01:27:12 +0100
commitf2b20b7a8b6fcbcd8cc669f5211e4e2ed7d8e9f3 (patch)
treeb21166497b8ac3b1e5f840d8b5d73bda7f77e3d5 /libavutil/x86/x86inc.asm
parentd8710228eaafbcf60aa72861de81fc849759ea0b (diff)
parent38d553322891c8e47182f05199d19888422167dc (diff)
downloadffmpeg-f2b20b7a8b6fcbcd8cc669f5211e4e2ed7d8e9f3.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: pixdesc: mark pseudopaletted formats with a special flag. avconv: switch to avcodec_encode_video2(). libx264: implement encode2(). libx264: split extradata writing out of encode_nals(). lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket cmdutils: update copyright year to 2012. swscale: sign-extend integer function argument to qword on x86-64. x86inc: support yasm -f win64 flag also. h264: manually save/restore XMM registers for functions using INIT_MMX. x86inc: allow manual use of WIN64_SPILL_XMM. aacdec: Use correct speaker order for 7.1. aacdec: Remove incorrect comment. aacdec: Simplify output configuration. Remove Sun medialib glue code. dsputil: set STRIDE_ALIGN to 16 for x86 also. pngdsp: swap argument inversion. Conflicts: cmdutils.c configure doc/APIchanges ffmpeg.c libavcodec/aacdec.c libavcodec/dsputil.h libavcodec/libx264.c libavcodec/mlib/dsputil_mlib.c libavcodec/utils.c libavfilter/vf_scale.c libavutil/avutil.h libswscale/mlib/yuv2rgb_mlib.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/x86/x86inc.asm')
-rw-r--r--libavutil/x86/x86inc.asm11
1 files changed, 7 insertions, 4 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 2921ddb62a..908e1dacc9 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -40,6 +40,8 @@
%if ARCH_X86_64
%ifidn __OUTPUT_FORMAT__,win32
%define WIN64 1
+ %elifidn __OUTPUT_FORMAT__,win64
+ %define WIN64 1
%else
%define UNIX64 1
%endif
@@ -290,7 +292,11 @@ DECLARE_REG 6, rax, eax, ax, al, [rsp + stack_offset + 56]
push r5
%assign stack_offset stack_offset+16
%endif
- WIN64_SPILL_XMM %3
+ %if mmsize == 8
+ %assign xmm_regs_used 0
+ %else
+ WIN64_SPILL_XMM %3
+ %endif
LOAD_IF_USED 4, %1
LOAD_IF_USED 5, %1
LOAD_IF_USED 6, %1
@@ -299,9 +305,6 @@ DECLARE_REG 6, rax, eax, ax, al, [rsp + stack_offset + 56]
%macro WIN64_SPILL_XMM 1
%assign xmm_regs_used %1
- %if mmsize == 8
- %assign xmm_regs_used 0
- %endif
ASSERT xmm_regs_used <= 16
%if xmm_regs_used > 6
sub rsp, (xmm_regs_used-6)*16+16