1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-02-04 06:08:26 +02:00

avcodec/h264: Fix segfault in 4:2:2 chroma deblock with 32-bit msvc

Using rNm and x86inc's stack allocation with a negative value at the same
time isn't supported, and caused the original stack pointer to be clobbered
when using a compiler that doesn't support stack alignment.
This commit is contained in:
Henrik Gramner 2016-02-05 21:01:49 +01:00
parent 6d14e32555
commit aa751573fe

View File

@ -867,7 +867,8 @@ ff_chroma_inter_body_mmxext:
%define t5 r4 %define t5 r4
%define t6 r5 %define t6 r5
cglobal deblock_h_chroma422_8, 5, 6, 0, 0-(1+ARCH_X86_64*2)*mmsize cglobal deblock_h_chroma422_8, 5, 6
SUB rsp, (1+ARCH_X86_64*2)*mmsize
%if ARCH_X86_64 %if ARCH_X86_64
%define buf0 [rsp+16] %define buf0 [rsp+16]
%define buf1 [rsp+8] %define buf1 [rsp+8]
@ -907,6 +908,7 @@ cglobal deblock_h_chroma422_8, 5, 6, 0, 0-(1+ARCH_X86_64*2)*mmsize
movq m0, buf0 movq m0, buf0
movq m3, buf1 movq m3, buf1
TRANSPOSE8x4B_STORE PASS8ROWS(t5, r0, r1, t6) TRANSPOSE8x4B_STORE PASS8ROWS(t5, r0, r1, t6)
ADD rsp, (1+ARCH_X86_64*2)*mmsize
RET RET
; in: %1=p0 %2=p1 %3=q1 ; in: %1=p0 %2=p1 %3=q1