Commit 60a2818f76 for ffmpeg

commit 60a2818f76dcd1fee3155b1791304af104a0fc1b
Author: Martin Mirchev <mmirchev@comp.nus.edu.sg>
Date:   Tue Oct 27 11:45:32 2026 +0800

    fate/vpx: add a test for Theora quantizer changes with frame threading

    Patch the first quantizer of the first frame of a remuxed existing
    sample that uses three quantizers per frame, and decode it with four
    frame threads.

    Signed-off-by: Martin Mirchev <mmirchev@comp.nus.edu.sg>

diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index 764db4ce8b..57d137d410 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -28,6 +28,17 @@ fate-theora-coeff-level64: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/
 FATE_VP3-$(call FRAMECRC, OGG, THEORA) += fate-theora-offset
 fate-theora-offset: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp3/offset_test.ogv

+# Remux a sample that uses three quantizers per frame (31, 20, 41) and set the
+# first quantizer of the first frame to 20. With frame threading, the matrix
+# for the first quantizer must then be updated for the following frames.
+FATE_VP3-$(call FRAMECRC, OGG MATROSKA, THEORA, MATROSKA_MUXER) += fate-theora-frame-threads-qps
+fate-theora-frame-threads-qps: CMD = run_with_patched_temp \
+    "$(FFMPEG) -nostdin -v error -i $(TARGET_SAMPLES)/ogg/empty_theora_packets.ogv \
+    -map 0:v -c copy -fflags +bitexact -write_crc32 0 -y" \
+    "$(FFMPEG) -nostdin -v error -bitexact -f framecrc - \
+    -flags +bitexact -threads 4 -thread_type frame -i" \
+    mkv 3751 "\0024"
+
 FATE_VP3-$(call FRAMECRC, AVI, VP3) += fate-vp31
 fate-vp31: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/vp3/vp31.avi

diff --git a/tests/ref/fate/theora-frame-threads-qps b/tests/ref/fate/theora-frame-threads-qps
new file mode 100644
index 0000000000..042961253e
--- /dev/null
+++ b/tests/ref/fate/theora-frame-threads-qps
@@ -0,0 +1,14 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 320x240
+#sar 0: 1/1
+0,          0,          0,        1,   115200, 0xa9a6e9db
+0,         30,         30,        1,   115200, 0xdc0e7882
+0,         38,         38,        1,   115200, 0x217ca531
+0,         41,         41,        1,   115200, 0xf1f098c4
+0,         71,         71,        1,   115200, 0xf1f098c4
+0,         79,         79,        1,   115200, 0x6791ee7f
+0,         82,         82,        1,   115200, 0x63d6731c
+0,        112,        112,        1,   115200, 0x63d6731c
+0,        142,        142,        1,   115200, 0x63d6731c