PR #22806 opened by i-Amogh
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22806
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22806.patch

Added portable FATE tests for two video sink/filter components in libavfilter. 

For vsink_nullsink.c, a single test has been added that uses a split 
filtergraph to verify that the nullsink sink filter correctly accepts and 
discards video frames without disrupting the rest of the pipeline. 

For vf_noise.c, eleven tests have been added that exercise all code paths in 
the noise filter: individual and combined flag tests cover every noise 
generation branch; fate-filter-noise-seed validates deterministic LCG seeding; 
fate-filter-noise-strength0 exercises the av_image_copy_plane pass through 
path; and fate-filter-noise-slice uses a tall image exceeding MAX_RES to 
trigger the slice threading disable fallback.

Coverage:

1. 0% -> 100% Line, 100% Function for vsink_nullsink.c.
2. 0% -> 96.8% Line, 100% Function for vf_noise.c


>From 83825cb1c7e22c6059b2b7f859d08314b05ecc5d Mon Sep 17 00:00:00 2001
From: i-Amogh <[email protected]>
Date: Mon, 13 Apr 2026 02:22:52 +0530
Subject: [PATCH 1/2] tests/fate/filter-video: Add FATE tests for
 libavfilter/vf_noise.c

Added 11 FATE tests for the vf_noise filter covering all code paths in the 
filter's initialization and execution. The tests exercise each flag 
individually, seeded noise for reproducibility, combined flag combinations, 
zero strength with a on-writable input frame to trigger the copy path, and a 
tall image exceeding MAX_RES to exercise the slice threading disable path.

Signed-off-by: i-Amogh <[email protected]>
---
 tests/fate/filter-video.mak                   | 33 +++++++++++
 tests/ref/fate/filter-noise                   | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-averaged          | 55 +++++++++++++++++++
 .../filter-noise-averaged-pattern-uniform     | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-averaged-uniform  | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-pattern           | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-pattern-uniform   | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-seed              | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-slice             |  6 ++
 tests/ref/fate/filter-noise-strength0         | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-temporal          | 55 +++++++++++++++++++
 tests/ref/fate/filter-noise-uniform           | 55 +++++++++++++++++++
 12 files changed, 589 insertions(+)
 create mode 100644 tests/ref/fate/filter-noise
 create mode 100644 tests/ref/fate/filter-noise-averaged
 create mode 100644 tests/ref/fate/filter-noise-averaged-pattern-uniform
 create mode 100644 tests/ref/fate/filter-noise-averaged-uniform
 create mode 100644 tests/ref/fate/filter-noise-pattern
 create mode 100644 tests/ref/fate/filter-noise-pattern-uniform
 create mode 100644 tests/ref/fate/filter-noise-seed
 create mode 100644 tests/ref/fate/filter-noise-slice
 create mode 100644 tests/ref/fate/filter-noise-strength0
 create mode 100644 tests/ref/fate/filter-noise-temporal
 create mode 100644 tests/ref/fate/filter-noise-uniform

diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index 5016ea9d4d..add2e14eb5 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -272,6 +272,39 @@ FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_VSTACK_FILTER) += 
fate-filter-vstack
 fate-filter-vstack: tests/data/filtergraphs/vstack
 fate-filter-vstack: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) 
-/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/vstack
 
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += fate-filter-noise
+fate-filter-noise: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_strength=20
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += fate-filter-noise-averaged
+fate-filter-noise-averaged: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_strength=20:all_flags=a
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += fate-filter-noise-uniform
+fate-filter-noise-uniform: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_strength=20:all_flags=u
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += fate-filter-noise-temporal
+fate-filter-noise-temporal: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_strength=20:all_flags=t
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += fate-filter-noise-pattern
+fate-filter-noise-pattern: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_strength=20:all_flags=p
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += fate-filter-noise-seed
+fate-filter-noise-seed: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_seed=1234:all_strength=50
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += 
fate-filter-noise-averaged-uniform
+fate-filter-noise-averaged-uniform: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_strength=20:all_flags=u+a
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += 
fate-filter-noise-pattern-uniform
+fate-filter-noise-pattern-uniform: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf 
noise=all_strength=20:all_flags=u+p
+
+FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_NOISE_FILTER) += 
fate-filter-noise-averaged-pattern-uniform
+fate-filter-noise-averaged-pattern-uniform: CMD = framecrc -c:v pgmyuv -i 
$(SRC) -vf noise=all_strength=20:all_flags=u+a+p
+
+FATE_FILTER-$(CONFIG_NOISE_FILTER) += fate-filter-noise-strength0
+fate-filter-noise-strength0: CMD = framecrc -f lavfi -i 
"color=c=0x808080:s=352x288:d=2:r=25,format=yuv420p" -vf noise=all_strength=0
+
+FATE_FILTER-$(CONFIG_NOISE_FILTER) += fate-filter-noise-slice
+fate-filter-noise-slice: CMD = framecrc -f lavfi -i 
"color=c=0x808080:s=352x4100:d=0.04:r=25,format=yuv420p" -vf 
noise=all_strength=20:all_flags=a
+
 FATE_FILTER_OVERLAY-$(call FILTERDEMDEC, SCALE OVERLAY, IMAGE2, PGMYUV) += 
fate-filter-overlay
 fate-filter-overlay: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i 
$(SRC) -/filter_complex $(FILTERGRAPH)
 
diff --git a/tests/ref/fate/filter-noise b/tests/ref/fate/filter-noise
new file mode 100644
index 0000000000..80f3c401b0
--- /dev/null
+++ b/tests/ref/fate/filter-noise
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0x892a0c1e
+0,          1,          1,        1,   152064, 0x9245e778
+0,          2,          2,        1,   152064, 0xaa5d7844
+0,          3,          3,        1,   152064, 0x4de2025a
+0,          4,          4,        1,   152064, 0x2130380d
+0,          5,          5,        1,   152064, 0x0bdb2b36
+0,          6,          6,        1,   152064, 0xe73cfe65
+0,          7,          7,        1,   152064, 0x68cd0cee
+0,          8,          8,        1,   152064, 0xd372023b
+0,          9,          9,        1,   152064, 0x4f2bbac4
+0,         10,         10,        1,   152064, 0x3d90c9ac
+0,         11,         11,        1,   152064, 0x34677f2a
+0,         12,         12,        1,   152064, 0x4e762f82
+0,         13,         13,        1,   152064, 0x2b9c23cc
+0,         14,         14,        1,   152064, 0x23971006
+0,         15,         15,        1,   152064, 0x28f5911e
+0,         16,         16,        1,   152064, 0x393cd0c7
+0,         17,         17,        1,   152064, 0x5274bb41
+0,         18,         18,        1,   152064, 0x4f3ced26
+0,         19,         19,        1,   152064, 0xa4fc5ddb
+0,         20,         20,        1,   152064, 0x850e779c
+0,         21,         21,        1,   152064, 0x72c8a68b
+0,         22,         22,        1,   152064, 0xc31f9f9a
+0,         23,         23,        1,   152064, 0xb5b7eb7c
+0,         24,         24,        1,   152064, 0xd33d7bcd
+0,         25,         25,        1,   152064, 0x552f1b32
+0,         26,         26,        1,   152064, 0x55041902
+0,         27,         27,        1,   152064, 0x5de65afd
+0,         28,         28,        1,   152064, 0x378c26c4
+0,         29,         29,        1,   152064, 0xf4a6e70a
+0,         30,         30,        1,   152064, 0xa94aecd7
+0,         31,         31,        1,   152064, 0x9e8b4776
+0,         32,         32,        1,   152064, 0x82847f13
+0,         33,         33,        1,   152064, 0x097ffccd
+0,         34,         34,        1,   152064, 0xfdadc555
+0,         35,         35,        1,   152064, 0xa2cb1776
+0,         36,         36,        1,   152064, 0xc66db986
+0,         37,         37,        1,   152064, 0x6d1a841d
+0,         38,         38,        1,   152064, 0xba12db47
+0,         39,         39,        1,   152064, 0x66e9d146
+0,         40,         40,        1,   152064, 0xc577db0e
+0,         41,         41,        1,   152064, 0x8c332083
+0,         42,         42,        1,   152064, 0x6ba7418b
+0,         43,         43,        1,   152064, 0x078da319
+0,         44,         44,        1,   152064, 0xbd808671
+0,         45,         45,        1,   152064, 0xae210117
+0,         46,         46,        1,   152064, 0xa90bd668
+0,         47,         47,        1,   152064, 0x10ec47b5
+0,         48,         48,        1,   152064, 0xbcde369e
+0,         49,         49,        1,   152064, 0xfa8f5af9
diff --git a/tests/ref/fate/filter-noise-averaged 
b/tests/ref/fate/filter-noise-averaged
new file mode 100644
index 0000000000..ff3575f59e
--- /dev/null
+++ b/tests/ref/fate/filter-noise-averaged
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0x7bbe71b4
+0,          1,          1,        1,   152064, 0xa3af4d9d
+0,          2,          2,        1,   152064, 0xbeaada6e
+0,          3,          3,        1,   152064, 0xc95f65ef
+0,          4,          4,        1,   152064, 0x1a619735
+0,          5,          5,        1,   152064, 0xdbad8777
+0,          6,          6,        1,   152064, 0xaa1c63ac
+0,          7,          7,        1,   152064, 0x25977e4b
+0,          8,          8,        1,   152064, 0x94bf5f50
+0,          9,          9,        1,   152064, 0x2d231ba1
+0,         10,         10,        1,   152064, 0xf6803ab8
+0,         11,         11,        1,   152064, 0x9b3fe399
+0,         12,         12,        1,   152064, 0x160a91fb
+0,         13,         13,        1,   152064, 0x666e8fd3
+0,         14,         14,        1,   152064, 0xb66277f8
+0,         15,         15,        1,   152064, 0xf512f3d2
+0,         16,         16,        1,   152064, 0xa4df2b28
+0,         17,         17,        1,   152064, 0xd3d91f44
+0,         18,         18,        1,   152064, 0x7f67595d
+0,         19,         19,        1,   152064, 0x5052c909
+0,         20,         20,        1,   152064, 0xff8de37a
+0,         21,         21,        1,   152064, 0x15500eb6
+0,         22,         22,        1,   152064, 0x6a1c0663
+0,         23,         23,        1,   152064, 0x8eaa51d5
+0,         24,         24,        1,   152064, 0xb20fe7b5
+0,         25,         25,        1,   152064, 0x2aa291e4
+0,         26,         26,        1,   152064, 0xc53d8430
+0,         27,         27,        1,   152064, 0x768dc862
+0,         28,         28,        1,   152064, 0x038790f0
+0,         29,         29,        1,   152064, 0xa4df4e9d
+0,         30,         30,        1,   152064, 0x55045358
+0,         31,         31,        1,   152064, 0x63f4a552
+0,         32,         32,        1,   152064, 0xdcedec38
+0,         33,         33,        1,   152064, 0x1b3762fe
+0,         34,         34,        1,   152064, 0x1fa81dc6
+0,         35,         35,        1,   152064, 0x768d8420
+0,         36,         36,        1,   152064, 0xc16d24d1
+0,         37,         37,        1,   152064, 0x8872eb80
+0,         38,         38,        1,   152064, 0x737f3f80
+0,         39,         39,        1,   152064, 0x5b804314
+0,         40,         40,        1,   152064, 0x465e546e
+0,         41,         41,        1,   152064, 0x1c9e81e5
+0,         42,         42,        1,   152064, 0x22e0ac85
+0,         43,         43,        1,   152064, 0xddee0712
+0,         44,         44,        1,   152064, 0x9acdf28a
+0,         45,         45,        1,   152064, 0x607072ec
+0,         46,         46,        1,   152064, 0x018a466f
+0,         47,         47,        1,   152064, 0x29f8b5fc
+0,         48,         48,        1,   152064, 0xc6a2a1d6
+0,         49,         49,        1,   152064, 0x7c2cc967
diff --git a/tests/ref/fate/filter-noise-averaged-pattern-uniform 
b/tests/ref/fate/filter-noise-averaged-pattern-uniform
new file mode 100644
index 0000000000..e4412f7d1f
--- /dev/null
+++ b/tests/ref/fate/filter-noise-averaged-pattern-uniform
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0xd4a4a4f1
+0,          1,          1,        1,   152064, 0x65f67db6
+0,          2,          2,        1,   152064, 0xd2080f0a
+0,          3,          3,        1,   152064, 0xe51a9a48
+0,          4,          4,        1,   152064, 0xb22dcfee
+0,          5,          5,        1,   152064, 0xd495bf18
+0,          6,          6,        1,   152064, 0x6934965e
+0,          7,          7,        1,   152064, 0xdd25a6c3
+0,          8,          8,        1,   152064, 0xcb609977
+0,          9,          9,        1,   152064, 0x7b9453b7
+0,         10,         10,        1,   152064, 0xdd915f35
+0,         11,         11,        1,   152064, 0xb7a3172b
+0,         12,         12,        1,   152064, 0x8c99c715
+0,         13,         13,        1,   152064, 0x4a96b950
+0,         14,         14,        1,   152064, 0x71c1a713
+0,         15,         15,        1,   152064, 0x7c1a2ab5
+0,         16,         16,        1,   152064, 0xd70b68ac
+0,         17,         17,        1,   152064, 0x4f0a51c9
+0,         18,         18,        1,   152064, 0x9ad1880c
+0,         19,         19,        1,   152064, 0xf531f8f9
+0,         20,         20,        1,   152064, 0xcf5f11a8
+0,         21,         21,        1,   152064, 0x04904110
+0,         22,         22,        1,   152064, 0xbf283a85
+0,         23,         23,        1,   152064, 0x0d738401
+0,         24,         24,        1,   152064, 0x1d301544
+0,         25,         25,        1,   152064, 0x99cdb4c1
+0,         26,         26,        1,   152064, 0x27d8b0ae
+0,         27,         27,        1,   152064, 0x7e5befe9
+0,         28,         28,        1,   152064, 0x426fbd53
+0,         29,         29,        1,   152064, 0x11587ed2
+0,         30,         30,        1,   152064, 0x9dc58795
+0,         31,         31,        1,   152064, 0xadf3e1ad
+0,         32,         32,        1,   152064, 0x062e1619
+0,         33,         33,        1,   152064, 0x3c579301
+0,         34,         34,        1,   152064, 0xf4725e7c
+0,         35,         35,        1,   152064, 0xe1a1af4a
+0,         36,         36,        1,   152064, 0x1659515b
+0,         37,         37,        1,   152064, 0x1a7b1c73
+0,         38,         38,        1,   152064, 0x3e8f750e
+0,         39,         39,        1,   152064, 0x41aa6861
+0,         40,         40,        1,   152064, 0x753c7390
+0,         41,         41,        1,   152064, 0x102eb90e
+0,         42,         42,        1,   152064, 0xdf5fdb48
+0,         43,         43,        1,   152064, 0x14d63cf3
+0,         44,         44,        1,   152064, 0xcfed1fb7
+0,         45,         45,        1,   152064, 0x78b0960e
+0,         46,         46,        1,   152064, 0x62e96c3b
+0,         47,         47,        1,   152064, 0xd1ffded9
+0,         48,         48,        1,   152064, 0x2e78cf46
+0,         49,         49,        1,   152064, 0x2b5df3e7
diff --git a/tests/ref/fate/filter-noise-averaged-uniform 
b/tests/ref/fate/filter-noise-averaged-uniform
new file mode 100644
index 0000000000..21bc630aaf
--- /dev/null
+++ b/tests/ref/fate/filter-noise-averaged-uniform
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0x69fa852e
+0,          1,          1,        1,   152064, 0x1e8c5826
+0,          2,          2,        1,   152064, 0x26b1ec71
+0,          3,          3,        1,   152064, 0xc9627916
+0,          4,          4,        1,   152064, 0xd5e6a956
+0,          5,          5,        1,   152064, 0x823f9a60
+0,          6,          6,        1,   152064, 0xe6c27205
+0,          7,          7,        1,   152064, 0x6fec87cb
+0,          8,          8,        1,   152064, 0x3a05755d
+0,          9,          9,        1,   152064, 0x2e9b2e7d
+0,         10,         10,        1,   152064, 0xf03b3c99
+0,         11,         11,        1,   152064, 0x34f5f7bf
+0,         12,         12,        1,   152064, 0xff64a110
+0,         13,         13,        1,   152064, 0xa27d90ab
+0,         14,         14,        1,   152064, 0x8ae785a4
+0,         15,         15,        1,   152064, 0xaa5f0897
+0,         16,         16,        1,   152064, 0x6fb545fe
+0,         17,         17,        1,   152064, 0xa4872ccf
+0,         18,         18,        1,   152064, 0xb3166856
+0,         19,         19,        1,   152064, 0x9a7cde9c
+0,         20,         20,        1,   152064, 0xf80df41b
+0,         21,         21,        1,   152064, 0xc67025e5
+0,         22,         22,        1,   152064, 0xf5481c43
+0,         23,         23,        1,   152064, 0x3e4d6495
+0,         24,         24,        1,   152064, 0x2d2df77e
+0,         25,         25,        1,   152064, 0x3d0b9642
+0,         26,         26,        1,   152064, 0x5c2390b0
+0,         27,         27,        1,   152064, 0x3231ce71
+0,         28,         28,        1,   152064, 0x58569a9d
+0,         29,         29,        1,   152064, 0xca8c59cb
+0,         30,         30,        1,   152064, 0x6fa267f4
+0,         31,         31,        1,   152064, 0xf038c043
+0,         32,         32,        1,   152064, 0xeac3f37f
+0,         33,         33,        1,   152064, 0x60266c23
+0,         34,         34,        1,   152064, 0x8af63cda
+0,         35,         35,        1,   152064, 0xebf99071
+0,         36,         36,        1,   152064, 0x7d212a1c
+0,         37,         37,        1,   152064, 0xc7faf880
+0,         38,         38,        1,   152064, 0x79485882
+0,         39,         39,        1,   152064, 0x743e4769
+0,         40,         40,        1,   152064, 0xca684e11
+0,         41,         41,        1,   152064, 0x86a4964c
+0,         42,         42,        1,   152064, 0x5752ba03
+0,         43,         43,        1,   152064, 0x186c1e43
+0,         44,         44,        1,   152064, 0x6d89fdf9
+0,         45,         45,        1,   152064, 0xf70272f2
+0,         46,         46,        1,   152064, 0x8d0d482d
+0,         47,         47,        1,   152064, 0xebcebcc1
+0,         48,         48,        1,   152064, 0xe31baecf
+0,         49,         49,        1,   152064, 0xeddad226
diff --git a/tests/ref/fate/filter-noise-pattern 
b/tests/ref/fate/filter-noise-pattern
new file mode 100644
index 0000000000..37a7f916c6
--- /dev/null
+++ b/tests/ref/fate/filter-noise-pattern
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0x150a3bb5
+0,          1,          1,        1,   152064, 0x52661709
+0,          2,          2,        1,   152064, 0xbc6ea801
+0,          3,          3,        1,   152064, 0x731b3282
+0,          4,          4,        1,   152064, 0x2e3767fc
+0,          5,          5,        1,   152064, 0xe7e25a91
+0,          6,          6,        1,   152064, 0x73a92dd8
+0,          7,          7,        1,   152064, 0x722b3d50
+0,          8,          8,        1,   152064, 0x317d31da
+0,          9,          9,        1,   152064, 0x9e91eab9
+0,         10,         10,        1,   152064, 0x17c8f8ec
+0,         11,         11,        1,   152064, 0x63e0ae94
+0,         12,         12,        1,   152064, 0x56e15f12
+0,         13,         13,        1,   152064, 0x667a53ce
+0,         14,         14,        1,   152064, 0xcec83fa8
+0,         15,         15,        1,   152064, 0x622ac075
+0,         16,         16,        1,   152064, 0x3dbeffdc
+0,         17,         17,        1,   152064, 0x79a1ea62
+0,         18,         18,        1,   152064, 0x82fb1c9a
+0,         19,         19,        1,   152064, 0x314b8db6
+0,         20,         20,        1,   152064, 0x4570a72c
+0,         21,         21,        1,   152064, 0x4ab4d5c6
+0,         22,         22,        1,   152064, 0x1d12cf07
+0,         23,         23,        1,   152064, 0xfae41ac1
+0,         24,         24,        1,   152064, 0xcee2ab78
+0,         25,         25,        1,   152064, 0x48d84ae3
+0,         26,         26,        1,   152064, 0xdca8488d
+0,         27,         27,        1,   152064, 0x03388a4d
+0,         28,         28,        1,   152064, 0xd45e5616
+0,         29,         29,        1,   152064, 0x748116ca
+0,         30,         30,        1,   152064, 0xe9951c93
+0,         31,         31,        1,   152064, 0x6d457715
+0,         32,         32,        1,   152064, 0x6468ae54
+0,         33,         33,        1,   152064, 0x12bb2bdb
+0,         34,         34,        1,   152064, 0xfea0f515
+0,         35,         35,        1,   152064, 0xf3e846cb
+0,         36,         36,        1,   152064, 0x62bae933
+0,         37,         37,        1,   152064, 0x3f30b39f
+0,         38,         38,        1,   152064, 0xe2ca0b05
+0,         39,         39,        1,   152064, 0xee7f00bf
+0,         40,         40,        1,   152064, 0x60b60aec
+0,         41,         41,        1,   152064, 0x9ece4fe1
+0,         42,         42,        1,   152064, 0x27767178
+0,         43,         43,        1,   152064, 0x0d51d283
+0,         44,         44,        1,   152064, 0xdb2db61c
+0,         45,         45,        1,   152064, 0xc0223031
+0,         46,         46,        1,   152064, 0x47b505c9
+0,         47,         47,        1,   152064, 0x9892775d
+0,         48,         48,        1,   152064, 0x9d126622
+0,         49,         49,        1,   152064, 0x43608a9d
diff --git a/tests/ref/fate/filter-noise-pattern-uniform 
b/tests/ref/fate/filter-noise-pattern-uniform
new file mode 100644
index 0000000000..ab9ba60b17
--- /dev/null
+++ b/tests/ref/fate/filter-noise-pattern-uniform
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0x08c3c40c
+0,          1,          1,        1,   152064, 0x0fa89f67
+0,          2,          2,        1,   152064, 0xaff1306b
+0,          3,          3,        1,   152064, 0xd277bace
+0,          4,          4,        1,   152064, 0xf978f068
+0,          5,          5,        1,   152064, 0x5d27e302
+0,          6,          6,        1,   152064, 0x4cc8b639
+0,          7,          7,        1,   152064, 0x54ccc5c7
+0,          8,          8,        1,   152064, 0xfaaeba3e
+0,          9,          9,        1,   152064, 0xb729732b
+0,         10,         10,        1,   152064, 0x10198177
+0,         11,         11,        1,   152064, 0xf38336f7
+0,         12,         12,        1,   152064, 0xf23ae77b
+0,         13,         13,        1,   152064, 0xe4a4dc30
+0,         14,         14,        1,   152064, 0x2ac6c7f7
+0,         15,         15,        1,   152064, 0x75554919
+0,         16,         16,        1,   152064, 0xb4f98836
+0,         17,         17,        1,   152064, 0xd02272d4
+0,         18,         18,        1,   152064, 0xfb46a4e9
+0,         19,         19,        1,   152064, 0xd1a81623
+0,         20,         20,        1,   152064, 0x5afe2f9a
+0,         21,         21,        1,   152064, 0x973d5e29
+0,         22,         22,        1,   152064, 0x522f5777
+0,         23,         23,        1,   152064, 0x8308a307
+0,         24,         24,        1,   152064, 0x382033fa
+0,         25,         25,        1,   152064, 0x6c9cd34c
+0,         26,         26,        1,   152064, 0xe6f5d0c9
+0,         27,         27,        1,   152064, 0xeefd12ac
+0,         28,         28,        1,   152064, 0x73b9de68
+0,         29,         29,        1,   152064, 0x0d849f27
+0,         30,         30,        1,   152064, 0xd822a4e4
+0,         31,         31,        1,   152064, 0xdeffff46
+0,         32,         32,        1,   152064, 0xf57936bb
+0,         33,         33,        1,   152064, 0x8469b43f
+0,         34,         34,        1,   152064, 0x01be7d81
+0,         35,         35,        1,   152064, 0xc440cf1a
+0,         36,         36,        1,   152064, 0x677471b9
+0,         37,         37,        1,   152064, 0x84473c0e
+0,         38,         38,        1,   152064, 0x6bad935e
+0,         39,         39,        1,   152064, 0x212788fb
+0,         40,         40,        1,   152064, 0x200b933f
+0,         41,         41,        1,   152064, 0x5932d821
+0,         42,         42,        1,   152064, 0x1cb7f9b7
+0,         43,         43,        1,   152064, 0xbf8d5b00
+0,         44,         44,        1,   152064, 0xcbe73e8e
+0,         45,         45,        1,   152064, 0xd00db88a
+0,         46,         46,        1,   152064, 0x54b38e13
+0,         47,         47,        1,   152064, 0x9690ffe4
+0,         48,         48,        1,   152064, 0xde11ee97
+0,         49,         49,        1,   152064, 0xba8e1312
diff --git a/tests/ref/fate/filter-noise-seed b/tests/ref/fate/filter-noise-seed
new file mode 100644
index 0000000000..00f24d9dce
--- /dev/null
+++ b/tests/ref/fate/filter-noise-seed
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0x52e8dd57
+0,          1,          1,        1,   152064, 0x223fb6e6
+0,          2,          2,        1,   152064, 0xecdb4801
+0,          3,          3,        1,   152064, 0xe2fdd664
+0,          4,          4,        1,   152064, 0xff170a67
+0,          5,          5,        1,   152064, 0x41e4fbe1
+0,          6,          6,        1,   152064, 0xc9adce15
+0,          7,          7,        1,   152064, 0xdcabdba2
+0,          8,          8,        1,   152064, 0x3929d595
+0,          9,          9,        1,   152064, 0x4f008a89
+0,         10,         10,        1,   152064, 0xe7fd9bef
+0,         11,         11,        1,   152064, 0xb77f53c6
+0,         12,         12,        1,   152064, 0x92ba00b7
+0,         13,         13,        1,   152064, 0x7d5ef256
+0,         14,         14,        1,   152064, 0x17b6e2c8
+0,         15,         15,        1,   152064, 0xc5b76136
+0,         16,         16,        1,   152064, 0xc94ba0a0
+0,         17,         17,        1,   152064, 0x0ed48a66
+0,         18,         18,        1,   152064, 0xa116b9b6
+0,         19,         19,        1,   152064, 0xb0112e76
+0,         20,         20,        1,   152064, 0x6d774a48
+0,         21,         21,        1,   152064, 0x64427834
+0,         22,         22,        1,   152064, 0xcf3570e7
+0,         23,         23,        1,   152064, 0x9984bade
+0,         24,         24,        1,   152064, 0x7ee14f34
+0,         25,         25,        1,   152064, 0x45bcef7e
+0,         26,         26,        1,   152064, 0x4acaf28a
+0,         27,         27,        1,   152064, 0x25f22ef6
+0,         28,         28,        1,   152064, 0x0323fb26
+0,         29,         29,        1,   152064, 0xcc96b7a2
+0,         30,         30,        1,   152064, 0x5f49c306
+0,         31,         31,        1,   152064, 0xf0511be3
+0,         32,         32,        1,   152064, 0x131c4da6
+0,         33,         33,        1,   152064, 0x2257d4cf
+0,         34,         34,        1,   152064, 0x22c691c0
+0,         35,         35,        1,   152064, 0x974de6b7
+0,         36,         36,        1,   152064, 0xa4818cbf
+0,         37,         37,        1,   152064, 0xf2545927
+0,         38,         38,        1,   152064, 0xa5e0b042
+0,         39,         39,        1,   152064, 0x0b95a34d
+0,         40,         40,        1,   152064, 0x0571b27b
+0,         41,         41,        1,   152064, 0x2ddef061
+0,         42,         42,        1,   152064, 0xd88a132b
+0,         43,         43,        1,   152064, 0x4c3a76d2
+0,         44,         44,        1,   152064, 0x4e785566
+0,         45,         45,        1,   152064, 0xfebed564
+0,         46,         46,        1,   152064, 0x3516abfb
+0,         47,         47,        1,   152064, 0x1d3f1cc3
+0,         48,         48,        1,   152064, 0x89450a59
+0,         49,         49,        1,   152064, 0x62842e7a
diff --git a/tests/ref/fate/filter-noise-slice 
b/tests/ref/fate/filter-noise-slice
new file mode 100644
index 0000000000..9d89c4ffa6
--- /dev/null
+++ b/tests/ref/fate/filter-noise-slice
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x4100
+#sar 0: 1/1
+0,          0,          0,        1,  2164800, 0x14c51daa
diff --git a/tests/ref/fate/filter-noise-strength0 
b/tests/ref/fate/filter-noise-strength0
new file mode 100644
index 0000000000..b8a2b81b3f
--- /dev/null
+++ b/tests/ref/fate/filter-noise-strength0
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 1/1
+0,          0,          0,        1,   152064, 0xdd64f92b
+0,          1,          1,        1,   152064, 0xdd64f92b
+0,          2,          2,        1,   152064, 0xdd64f92b
+0,          3,          3,        1,   152064, 0xdd64f92b
+0,          4,          4,        1,   152064, 0xdd64f92b
+0,          5,          5,        1,   152064, 0xdd64f92b
+0,          6,          6,        1,   152064, 0xdd64f92b
+0,          7,          7,        1,   152064, 0xdd64f92b
+0,          8,          8,        1,   152064, 0xdd64f92b
+0,          9,          9,        1,   152064, 0xdd64f92b
+0,         10,         10,        1,   152064, 0xdd64f92b
+0,         11,         11,        1,   152064, 0xdd64f92b
+0,         12,         12,        1,   152064, 0xdd64f92b
+0,         13,         13,        1,   152064, 0xdd64f92b
+0,         14,         14,        1,   152064, 0xdd64f92b
+0,         15,         15,        1,   152064, 0xdd64f92b
+0,         16,         16,        1,   152064, 0xdd64f92b
+0,         17,         17,        1,   152064, 0xdd64f92b
+0,         18,         18,        1,   152064, 0xdd64f92b
+0,         19,         19,        1,   152064, 0xdd64f92b
+0,         20,         20,        1,   152064, 0xdd64f92b
+0,         21,         21,        1,   152064, 0xdd64f92b
+0,         22,         22,        1,   152064, 0xdd64f92b
+0,         23,         23,        1,   152064, 0xdd64f92b
+0,         24,         24,        1,   152064, 0xdd64f92b
+0,         25,         25,        1,   152064, 0xdd64f92b
+0,         26,         26,        1,   152064, 0xdd64f92b
+0,         27,         27,        1,   152064, 0xdd64f92b
+0,         28,         28,        1,   152064, 0xdd64f92b
+0,         29,         29,        1,   152064, 0xdd64f92b
+0,         30,         30,        1,   152064, 0xdd64f92b
+0,         31,         31,        1,   152064, 0xdd64f92b
+0,         32,         32,        1,   152064, 0xdd64f92b
+0,         33,         33,        1,   152064, 0xdd64f92b
+0,         34,         34,        1,   152064, 0xdd64f92b
+0,         35,         35,        1,   152064, 0xdd64f92b
+0,         36,         36,        1,   152064, 0xdd64f92b
+0,         37,         37,        1,   152064, 0xdd64f92b
+0,         38,         38,        1,   152064, 0xdd64f92b
+0,         39,         39,        1,   152064, 0xdd64f92b
+0,         40,         40,        1,   152064, 0xdd64f92b
+0,         41,         41,        1,   152064, 0xdd64f92b
+0,         42,         42,        1,   152064, 0xdd64f92b
+0,         43,         43,        1,   152064, 0xdd64f92b
+0,         44,         44,        1,   152064, 0xdd64f92b
+0,         45,         45,        1,   152064, 0xdd64f92b
+0,         46,         46,        1,   152064, 0xdd64f92b
+0,         47,         47,        1,   152064, 0xdd64f92b
+0,         48,         48,        1,   152064, 0xdd64f92b
+0,         49,         49,        1,   152064, 0xdd64f92b
diff --git a/tests/ref/fate/filter-noise-temporal 
b/tests/ref/fate/filter-noise-temporal
new file mode 100644
index 0000000000..119540dccc
--- /dev/null
+++ b/tests/ref/fate/filter-noise-temporal
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0x892a0c1e
+0,          1,          1,        1,   152064, 0x0b3e078b
+0,          2,          2,        1,   152064, 0x2c84918a
+0,          3,          3,        1,   152064, 0x21ae0ef3
+0,          4,          4,        1,   152064, 0x1674444c
+0,          5,          5,        1,   152064, 0x29983b36
+0,          6,          6,        1,   152064, 0x244c0592
+0,          7,          7,        1,   152064, 0xcf4c0d38
+0,          8,          8,        1,   152064, 0xef461750
+0,          9,          9,        1,   152064, 0x37d1c0dc
+0,         10,         10,        1,   152064, 0x51edddd1
+0,         11,         11,        1,   152064, 0x6b8c94ca
+0,         12,         12,        1,   152064, 0x6fd83c1d
+0,         13,         13,        1,   152064, 0xf00b1f5c
+0,         14,         14,        1,   152064, 0x759e1cff
+0,         15,         15,        1,   152064, 0x729da71b
+0,         16,         16,        1,   152064, 0x7a82d293
+0,         17,         17,        1,   152064, 0x01cfc073
+0,         18,         18,        1,   152064, 0x20adf4c4
+0,         19,         19,        1,   152064, 0xede96d4c
+0,         20,         20,        1,   152064, 0x07167a4b
+0,         21,         21,        1,   152064, 0xbd1cac99
+0,         22,         22,        1,   152064, 0x86adaf8e
+0,         23,         23,        1,   152064, 0x7655073d
+0,         24,         24,        1,   152064, 0xb03881d0
+0,         25,         25,        1,   152064, 0x9cda13de
+0,         26,         26,        1,   152064, 0xa83b2373
+0,         27,         27,        1,   152064, 0x5592687a
+0,         28,         28,        1,   152064, 0x995f258b
+0,         29,         29,        1,   152064, 0x8c6fed6a
+0,         30,         30,        1,   152064, 0x34f4fd01
+0,         31,         31,        1,   152064, 0xe4b55caa
+0,         32,         32,        1,   152064, 0xfd548221
+0,         33,         33,        1,   152064, 0xb34afc2e
+0,         34,         34,        1,   152064, 0x22f5dbfb
+0,         35,         35,        1,   152064, 0xefc51d79
+0,         36,         36,        1,   152064, 0xf62bc51d
+0,         37,         37,        1,   152064, 0x2c4d9a63
+0,         38,         38,        1,   152064, 0x4cbce26b
+0,         39,         39,        1,   152064, 0x9e80009a
+0,         40,         40,        1,   152064, 0x5b3ad8d6
+0,         41,         41,        1,   152064, 0x257333e4
+0,         42,         42,        1,   152064, 0x296e4c7e
+0,         43,         43,        1,   152064, 0x0455a9d6
+0,         44,         44,        1,   152064, 0x45ca88f0
+0,         45,         45,        1,   152064, 0xf46cfca0
+0,         46,         46,        1,   152064, 0x1daeec5f
+0,         47,         47,        1,   152064, 0xa4de3ffc
+0,         48,         48,        1,   152064, 0xf79e5245
+0,         49,         49,        1,   152064, 0xd4c65edc
diff --git a/tests/ref/fate/filter-noise-uniform 
b/tests/ref/fate/filter-noise-uniform
new file mode 100644
index 0000000000..a3d472eaff
--- /dev/null
+++ b/tests/ref/fate/filter-noise-uniform
@@ -0,0 +1,55 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 352x288
+#sar 0: 0/1
+0,          0,          0,        1,   152064, 0xd14c3123
+0,          1,          1,        1,   152064, 0xe6aa0c71
+0,          2,          2,        1,   152064, 0xb2f79d5c
+0,          3,          3,        1,   152064, 0x8a8f27de
+0,          4,          4,        1,   152064, 0x0fa25d80
+0,          5,          5,        1,   152064, 0xf62a5022
+0,          6,          6,        1,   152064, 0xb1bb233f
+0,          7,          7,        1,   152064, 0x73c632dd
+0,          8,          8,        1,   152064, 0x5e272746
+0,          9,          9,        1,   152064, 0x81c8e02b
+0,         10,         10,        1,   152064, 0x2b6aee6f
+0,         11,         11,        1,   152064, 0x753aa3fe
+0,         12,         12,        1,   152064, 0x37015486
+0,         13,         13,        1,   152064, 0x9e4f4942
+0,         14,         14,        1,   152064, 0x68ac3501
+0,         15,         15,        1,   152064, 0xde12b612
+0,         16,         16,        1,   152064, 0xaea4f53d
+0,         17,         17,        1,   152064, 0x6ff5dfcc
+0,         18,         18,        1,   152064, 0xc08811fc
+0,         19,         19,        1,   152064, 0x1b418338
+0,         20,         20,        1,   152064, 0x84d09c8e
+0,         21,         21,        1,   152064, 0x874fcb38
+0,         22,         22,        1,   152064, 0xd2cbc470
+0,         23,         23,        1,   152064, 0xc9f4101a
+0,         24,         24,        1,   152064, 0x6068a103
+0,         25,         25,        1,   152064, 0x6235405d
+0,         26,         26,        1,   152064, 0x17af3de5
+0,         27,         27,        1,   152064, 0x6fbb7fac
+0,         28,         28,        1,   152064, 0x11674b79
+0,         29,         29,        1,   152064, 0xc5a00c36
+0,         30,         30,        1,   152064, 0x953911fe
+0,         31,         31,        1,   152064, 0x5fe96c4e
+0,         32,         32,        1,   152064, 0x723fa3b4
+0,         33,         33,        1,   152064, 0x92ae2153
+0,         34,         34,        1,   152064, 0xcd1eea7e
+0,         35,         35,        1,   152064, 0xcae23c24
+0,         36,         36,        1,   152064, 0x0ddcdebe
+0,         37,         37,        1,   152064, 0x78a2a917
+0,         38,         38,        1,   152064, 0x8b6e006e
+0,         39,         39,        1,   152064, 0x0a48f602
+0,         40,         40,        1,   152064, 0xf95d004c
+0,         41,         41,        1,   152064, 0x2c89452c
+0,         42,         42,        1,   152064, 0x9fb766c4
+0,         43,         43,        1,   152064, 0xf522c7fb
+0,         44,         44,        1,   152064, 0xb6bcab8e
+0,         45,         45,        1,   152064, 0x56cf2599
+0,         46,         46,        1,   152064, 0x0937fb0e
+0,         47,         47,        1,   152064, 0xbf2d6cee
+0,         48,         48,        1,   152064, 0x0c645ba7
+0,         49,         49,        1,   152064, 0xbcc18015
-- 
2.52.0


>From 330f726e51b705537f677db19a42f99702ba6a6d Mon Sep 17 00:00:00 2001
From: i-Amogh <[email protected]>
Date: Mon, 13 Apr 2026 04:18:31 +0530
Subject: [PATCH 2/2] tests/fate/filter-video: Add FATE test for
 libavfilter/vsink_nullsink.c

Added a portable FATE test for the nullsink video sink filter. The test uses a 
split filtergraph with testsrc2 to verify that nullsink properly accepts and 
discards video frames while allowing the other split output to be captured and 
verified via framecrc.

Signed-off-by: i-Amogh <[email protected]>
---
 tests/fate/filter-video.mak    |  3 +++
 tests/ref/fate/filter-nullsink | 10 ++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 tests/ref/fate/filter-nullsink

diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index add2e14eb5..4db1371739 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -552,6 +552,9 @@ FATE_FILTER_VSYNTH-$(call ALLYES, TESTSRC_FILTER 
SCALE_FILTER NULLSINK_FILTER FR
 fate-filter-scale2ref_keep_aspect: 
tests/data/filtergraphs/scale2ref_keep_aspect
 fate-filter-scale2ref_keep_aspect: CMD = framemd5 -frames:v 5 -/filter_complex 
$(TARGET_PATH)/tests/data/filtergraphs/scale2ref_keep_aspect -map "[main]"
 
+FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER FORMAT_FILTER NULLSINK_FILTER 
SPLIT_FILTER PCM_S16LE_ENCODER FRAMECRC_MUXER PIPE_PROTOCOL FILE_PROTOCOL) += 
fate-filter-nullsink
+fate-filter-nullsink: CMD = framecrc -lavfi 
"testsrc2=r=7:d=10,format=yuv420p,split[out1][out2];[out2]nullsink" -map 
"[out1]" -frames:v 5
+
 FATE_FILTER_VSYNTH-$(call FILTERDEMDEC, SCALE, RAWVIDEO, RAWVIDEO) += 
fate-filter-scalechroma
 fate-filter-scalechroma: tests/data/vsynth1.yuv
 fate-filter-scalechroma: CMD = framecrc -flags bitexact -s 352x288 -pix_fmt 
yuv444p -i $(TARGET_PATH)/tests/data/vsynth1.yuv -pix_fmt yuv420p -sws_flags 
+bitexact -vf scale=out_chroma_loc=bottomleft
diff --git a/tests/ref/fate/filter-nullsink b/tests/ref/fate/filter-nullsink
new file mode 100644
index 0000000000..473a2d3073
--- /dev/null
+++ b/tests/ref/fate/filter-nullsink
@@ -0,0 +1,10 @@
+#tb 0: 1/7
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 320x240
+#sar 0: 1/1
+0,          0,          0,        1,   115200, 0xeba70ff3
+0,          1,          1,        1,   115200, 0xb986bcbd
+0,          2,          2,        1,   115200, 0x8567f6cf
+0,          3,          3,        1,   115200, 0xed18e21f
+0,          4,          4,        1,   115200, 0x0054f5dd
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to