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:
parent
6d14e32555
commit
aa751573fe
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user