1
0
mirror of https://git.ffmpeg.org/ffmpeg.git synced 2026-10-28 15:19:38 +03:00
Files
ffmpeg/libavcodec
Bogdan Lisman f7bbcb91b7 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 <bogdan@pydevsolutions.com>
(cherry picked from commit a62d996927)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-06-17 04:08:30 +02:00
..
…
…
…
…
…
…
…
…
2025-11-05 16:31:59 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-10-08 20:40:08 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-12-13 18:45:17 -03:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-05-03 19:25:01 +02:00
…
…
…
2025-11-26 15:16:42 +01:00
…
…
…
…
…
…
…
…
…
…
2025-11-08 18:48:54 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-03-10 19:32:38 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-10-30 03:41:24 +01:00
…
…
…
…
…
…
…
…
…
…
2026-01-02 18:39:48 +01:00
2026-01-02 18:39:48 +01:00
2026-01-02 18:39:48 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-11-26 15:16:43 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-12-13 18:45:17 -03:00
…
…
…
…
…
…
…
2026-03-15 00:49:55 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-06-14 04:41:07 +02:00
2025-12-30 17:30:45 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
2026-01-02 18:39:48 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-05-03 19:24:55 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
2026-03-07 19:22:40 -03:00
…
…
…
…
…
…
…
2026-01-10 22:47:22 +01:00
2026-02-04 12:05:35 +08:00
2026-02-04 12:05:35 +08:00
…
…
…
2026-02-11 20:35:20 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-02-19 22:39:35 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-03-02 19:01:46 +01:00
2026-03-02 19:01:46 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-05-04 00:07:35 +02:00
…
…
…
…
…
…
2026-03-03 02:41:05 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-12-30 14:39:08 -05:00
2025-12-30 14:39:08 -05:00
…
…
…
…
…
…
…
…
…
…
…
…
2026-02-23 15:29:27 +00:00
2026-01-02 18:39:48 +01:00
2026-01-02 18:39:48 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2026-03-16 17:23:47 +01:00
…
…
…
…
…
…
…