[FFmpeg-devel] [PATCH] avcodec/h264: Fix segfault in 4:2:2 chroma deblock with 32-bit msvc

James Darnley james.darnley at gmail.com
Fri Feb 5 21:31:07 CET 2016


On 2016-02-05 21:20, Henrik Gramner wrote:
> 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.
> ---
>  libavcodec/x86/h264_deblock.asm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm
> index 8f80863..4aabbc0 100644
> --- a/libavcodec/x86/h264_deblock.asm
> +++ b/libavcodec/x86/h264_deblock.asm
> @@ -867,7 +867,8 @@ ff_chroma_inter_body_mmxext:
>  %define t5 r4
>  %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
>          %define buf0 [rsp+16]
>          %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 m3, buf1
>      TRANSPOSE8x4B_STORE PASS8ROWS(t5, r0, r1, t6)
> +    ADD rsp, (1+ARCH_X86_64*2)*mmsize
>  RET
>  
>  ; in: %1=p0 %2=p1 %3=q1
> 

Looks good to me but then I thought the old one did too so you probably
want to wait for someone else to sign off too.

Sorry everyone.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: OpenPGP digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160205/6a48b1a0/attachment.sig>


More information about the ffmpeg-devel mailing list