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