This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch release/8.0 in repository ffmpeg.
commit 11b24e9b93820b1952d35612d2f17388784f860c Author: Bogdan Lisman <[email protected]> AuthorDate: Mon Jun 15 03:24:14 2026 +0300 Commit: Michael Niedermayer <[email protected]> CommitDate: Thu Jun 18 04:03:05 2026 +0200 avcodec/snowenc: fix SIGFPE in get_dc() when a block lies outside the plane get_dc() divides the accumulated, OBMC-weighted DC by aa, the sum of the squared OBMC weights taken over the in-plane pixels. When an OBMC block falls entirely outside the plane - e.g. a tiny chroma plane after mcdeint splits a frame into fields - no pixel contributes, aa stays 0 and the ROUNDED_DIV() divides by zero (SIGFPE). ab is 0 in exactly the same case, so the result degenerates to 0; return it directly. Reproducible with the GPL mcdeint filter in slow/extra_slow mode, e.g. ffmpeg -f lavfi -i testsrc=s=128x2 -vf mcdeint=mode=slow -f null - Add a self-contained lavfi-based FATE regression test for the slow mode, which previously crashed and is therefore not covered by the existing sample-based fast/medium tests. Fixes trac ticket #7779. Signed-off-by: Bogdan Lisman <[email protected]> (cherry picked from commit a62d99692780431aeb8cc96665434d5ec3210985) Signed-off-by: Michael Niedermayer <[email protected]> --- libavcodec/snowenc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index 65363e20dd..bb387abe1c 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -720,6 +720,9 @@ static int get_dc(SnowEncContext *enc, int mb_x, int mb_y, int plane_index) } *b= backup; + if (!aa) + return 0; + return av_clip_uint8( ROUNDED_DIV((int64_t)ab<<LOG2_OBMC_MAX, aa) ); //FIXME we should not need clipping } _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
