Commit caa98b4938 for ffmpeg

commit caa98b49384444b35bf265763a850a837708160c
Author: Joss Gray <joss@jossgray.net>
Date:   Fri Jul 24 16:22:36 2026 -0400

    tests/fate: add NotchLC decoder tests

    NotchLC had no coverage at all. Add five framemd5 tests covering the alpha
    block types, the chroma ramp paths and non-multiple-of-16 dimensions.

    alpha-ramp, alpha-ramp-oddsize and chroma-alpha fail against the decoder
    as it stood before the recent alpha fixes. alpha-blocks and
    alpha-macroblocks exercise only the opaque and transparent block types and
    are plain regression guards.

    The tests use framemd5 rather than framecrc because alpha-blocks.mov and
    alpha-macroblocks.mov both produce framecrc 0xd37626e8 despite their
    different spatial arrangements, while their MD5s differ. A framecrc
    reference would therefore not tell the two patterns apart.

    The samples are synthetic patterns encoded with the NotchLC Adobe CC
    plugin and still need uploading to fate-suite under notchlc/.

    The Forgejo Fairy review of PR #23791 found that native byte order makes
    all five NotchLC test references fail on big-endian hosts.

    Select yuva444p12le and use an explicit scale filter because FATE disables
    automatic conversion. Require SCALE_FILTER when selecting these tests.

    All five tests pass on AArch64 with the existing references. They are
    excluded when SCALE_FILTER is disabled.

    Assisted-by: Fairy

diff --git a/tests/Makefile b/tests/Makefile
index beb53a54ca..365c6e7c19 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -243,6 +243,7 @@ include $(SRC_PATH)/tests/fate/mpeg4.mak
 include $(SRC_PATH)/tests/fate/mpegps.mak
 include $(SRC_PATH)/tests/fate/mpegts.mak
 include $(SRC_PATH)/tests/fate/mxf.mak
+include $(SRC_PATH)/tests/fate/notchlc.mak
 include $(SRC_PATH)/tests/fate/ogg-vorbis.mak
 include $(SRC_PATH)/tests/fate/ogg-flac.mak
 include $(SRC_PATH)/tests/fate/ogg-opus.mak
diff --git a/tests/fate/notchlc.mak b/tests/fate/notchlc.mak
new file mode 100644
index 0000000000..8033dec3ef
--- /dev/null
+++ b/tests/fate/notchlc.mak
@@ -0,0 +1,19 @@
+FATE_NOTCHLC += fate-notchlc-alpha-ramp
+fate-notchlc-alpha-ramp: CMD = framemd5 -i $(TARGET_SAMPLES)/notchlc/alpha-ramp.mov -pix_fmt yuva444p12le -vf scale
+
+FATE_NOTCHLC += fate-notchlc-alpha-blocks
+fate-notchlc-alpha-blocks: CMD = framemd5 -i $(TARGET_SAMPLES)/notchlc/alpha-blocks.mov -pix_fmt yuva444p12le -vf scale
+
+FATE_NOTCHLC += fate-notchlc-alpha-macroblocks
+fate-notchlc-alpha-macroblocks: CMD = framemd5 -i $(TARGET_SAMPLES)/notchlc/alpha-macroblocks.mov -pix_fmt yuva444p12le -vf scale
+
+FATE_NOTCHLC += fate-notchlc-alpha-ramp-oddsize
+fate-notchlc-alpha-ramp-oddsize: CMD = framemd5 -i $(TARGET_SAMPLES)/notchlc/alpha-ramp-500x300.mov -pix_fmt yuva444p12le -vf scale
+
+FATE_NOTCHLC += fate-notchlc-chroma-alpha
+fate-notchlc-chroma-alpha: CMD = framemd5 -i $(TARGET_SAMPLES)/notchlc/chroma-alpha.mov -pix_fmt yuva444p12le -vf scale
+
+FATE_NOTCHLC-$(call FRAMEMD5, MOV, NOTCHLC, SCALE_FILTER) += $(FATE_NOTCHLC)
+
+FATE_SAMPLES_FFMPEG += $(FATE_NOTCHLC-yes)
+fate-notchlc: $(FATE_NOTCHLC-yes)
diff --git a/tests/ref/fate/notchlc-alpha-blocks b/tests/ref/fate/notchlc-alpha-blocks
new file mode 100644
index 0000000000..e38ca1f8e1
--- /dev/null
+++ b/tests/ref/fate/notchlc-alpha-blocks
@@ -0,0 +1,10 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1001/30000
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,  2097152, 67bd65546c55ffbd1a64b7f9492a42fb
diff --git a/tests/ref/fate/notchlc-alpha-macroblocks b/tests/ref/fate/notchlc-alpha-macroblocks
new file mode 100644
index 0000000000..cea7275da7
--- /dev/null
+++ b/tests/ref/fate/notchlc-alpha-macroblocks
@@ -0,0 +1,10 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1001/30000
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,  2097152, 640574a89b3940be667ed53d248d3f53
diff --git a/tests/ref/fate/notchlc-alpha-ramp b/tests/ref/fate/notchlc-alpha-ramp
new file mode 100644
index 0000000000..c861dbc17d
--- /dev/null
+++ b/tests/ref/fate/notchlc-alpha-ramp
@@ -0,0 +1,10 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1001/30000
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,  2097152, b4f2fc126dd4b69c536d8b606273386c
diff --git a/tests/ref/fate/notchlc-alpha-ramp-oddsize b/tests/ref/fate/notchlc-alpha-ramp-oddsize
new file mode 100644
index 0000000000..0333c8c808
--- /dev/null
+++ b/tests/ref/fate/notchlc-alpha-ramp-oddsize
@@ -0,0 +1,10 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1001/30000
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 500x300
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,  1200000, 24e3f542b4fee8fe1cbe6805f1979eb0
diff --git a/tests/ref/fate/notchlc-chroma-alpha b/tests/ref/fate/notchlc-chroma-alpha
new file mode 100644
index 0000000000..5ec3d5587c
--- /dev/null
+++ b/tests/ref/fate/notchlc-chroma-alpha
@@ -0,0 +1,10 @@
+#format: frame checksums
+#version: 2
+#hash: MD5
+#tb 0: 1001/30000
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 0/1
+#stream#, dts,        pts, duration,     size, hash
+0,          0,          0,        1,  2097152, 51b012d44f2e69bce68bafb7261923e9