Files
ffmpeg/libavcodec
Bogdan LismanandMichael Niedermayer 99cc2164b8 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 03:41:48 +02:00
..
2025-12-03 20:26:49 +01:00
2025-12-03 20:26:49 +01:00
2021-04-19 14:34:10 +02:00
2023-11-10 00:25:38 +01:00
2022-03-15 09:42:39 -03:00
2022-07-07 21:52:52 +02:00
2022-03-15 09:42:39 -03:00
2025-08-04 16:35:29 +02:00
2022-02-07 00:31:23 +01:00
2022-03-18 19:56:50 +01:00
2022-03-18 19:56:50 +01:00
2022-06-24 15:37:23 +08:00
2022-06-24 15:37:23 +08:00
2026-05-05 15:21:03 +02:00
2022-05-08 10:38:54 +08:00
2025-12-03 20:26:49 +01:00
2022-01-04 13:16:49 +01:00
2022-01-04 13:16:49 +01:00
2026-05-05 16:03:30 +02:00
2025-12-03 20:26:49 +01:00
2022-07-09 20:06:47 +02:00
2022-02-24 12:56:49 +01:00
2021-08-05 19:46:33 +02:00
2025-12-03 20:26:49 +01:00
2025-08-14 00:20:30 +02:00
2025-12-03 20:26:49 +01:00
2025-08-04 16:44:27 +02:00
2022-03-15 09:42:41 -03:00
2022-03-15 09:42:41 -03:00
2024-06-13 11:22:10 +02:00
2025-11-23 04:32:17 +01:00
2025-08-14 00:20:33 +02:00
2025-08-04 16:36:05 +02:00
2025-12-03 20:26:49 +01:00
2022-07-12 21:55:22 +02:00
2022-01-26 15:30:28 +01:00
2021-10-09 11:42:16 +02:00
2023-02-22 00:32:19 +01:00
2025-08-04 16:35:47 +02:00
2025-12-03 20:26:49 +01:00
2022-06-25 09:05:58 +08:00
2024-07-21 22:12:44 +02:00
2025-08-04 16:44:26 +02:00
2025-12-03 20:26:49 +01:00
2024-07-21 22:14:11 +02:00
2026-05-05 15:21:06 +02:00
2025-08-04 16:36:12 +02:00
2026-05-05 15:21:10 +02:00
2025-08-04 16:44:26 +02:00
2022-06-16 10:23:30 +02:00
2022-07-03 15:16:31 +02:00
2022-03-15 09:42:43 -03:00
2022-03-15 09:42:43 -03:00
2022-02-18 20:11:06 +01:00
2022-02-18 20:11:06 +01:00
2025-08-13 22:05:48 +02:00
2025-12-03 20:26:49 +01:00
2026-05-05 15:21:17 +02:00
2022-02-07 00:31:23 +01:00
2021-07-22 14:47:57 +02:00
2022-03-16 14:04:35 +02:00
2023-10-30 00:39:00 +01:00
2022-07-03 15:16:31 +02:00
2022-07-03 15:16:31 +02:00
2025-11-23 04:32:14 +01:00
2025-08-14 00:20:32 +02:00
2023-02-22 00:10:15 +01:00
2025-08-04 16:35:28 +02:00
2021-07-22 14:47:57 +02:00
2025-12-03 20:26:49 +01:00
2025-08-04 16:36:07 +02:00
2021-10-10 17:44:41 +02:00
2023-02-21 23:53:32 +01:00
2023-10-30 00:38:57 +01:00
2022-04-10 20:12:23 +02:00
2022-04-13 00:37:06 +02:00
2021-04-12 18:29:11 +02:00
2022-06-25 09:05:58 +08:00
2022-07-13 00:27:37 +02:00
2026-05-05 15:21:07 +02:00
2024-06-13 19:44:50 +02:00
2025-08-04 16:35:44 +02:00
2022-03-15 09:42:45 -03:00
2021-09-12 22:23:35 +02:00
2022-07-12 21:55:22 +02:00
2025-08-04 16:35:35 +02:00
2026-05-05 15:21:12 +02:00