[FFmpeg-devel] [PATCH 01/20] fate/matroska: Add test for remuxing non-rotation displaymatrix

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Mon Sep 4 14:26:46 EEST 2023


This provides coverage for the case in which the displaymatrix
is ignored.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
In this case, both the x and y axis are rotated in the same way,
yet both axes are scaled by different factors, so that it is not
an orthogonal transformation. Yet one could still argue that
it actually has a well-defined rotation angle.

 tests/fate/matroska.mak                           | 10 ++++++++++
 .../ref/fate/matroska-non-rotation-displaymatrix  | 15 +++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 100644 tests/ref/fate/matroska-non-rotation-displaymatrix

diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak
index d1c316e998..ed6bd58cee 100644
--- a/tests/fate/matroska.mak
+++ b/tests/fate/matroska.mak
@@ -90,6 +90,16 @@ FATE_MATROSKA-$(call TRANSCODE, PCM_S24BE PCM_S24LE, MATROSKA, WAV_DEMUXER) \
                 += fate-matroska-move-cues-to-front
 fate-matroska-move-cues-to-front: CMD = transcode wav $(TARGET_SAMPLES)/audio-reference/divertimenti_2ch_96kHz_s24.wav matroska "-map 0 -map 0 -c:a:0 pcm_s24be -c:a:1 copy -cluster_time_limit 5 -cues_to_front yes -metadata_header_padding 7840 -write_crc32 0" "-map 0 -c copy -t 0.1"
 
+# This test covers the case in which a displaymatrix is not a rotation
+# and is therefore ignored by the muxer, i.e. the ffprobe output of
+# side data should be empty.
+FATE_MATROSKA_FFMPEG_FFPROBE-$(call REMUX, MATROSKA, MOV_DEMUXER H264_PARSER H264_DECODER) \
+                               += fate-matroska-non-rotation-displaymatrix
+fate-matroska-non-rotation-displaymatrix: CMD = transcode mov $(TARGET_SAMPLES)/mov/displaymatrix.mov matroska \
+    "-c copy -frames:v 5" \
+    "-c copy" \
+    "-show_entries stream_side_data_list"
+
 # This tests DOVI (reading from MP4 and Matroska and writing to Matroska)
 # as well as writing the Cues at the front (by shifting data) if
 # the initially reserved amount of space turns out to be insufficient.
diff --git a/tests/ref/fate/matroska-non-rotation-displaymatrix b/tests/ref/fate/matroska-non-rotation-displaymatrix
new file mode 100644
index 0000000000..c48a4afa43
--- /dev/null
+++ b/tests/ref/fate/matroska-non-rotation-displaymatrix
@@ -0,0 +1,15 @@
+3d9eac5b7551c5d644443a70451c809c *tests/data/fate/matroska-non-rotation-displaymatrix.matroska
+7860 tests/data/fate/matroska-non-rotation-displaymatrix.matroska
+#extradata 0:       34, 0xc1d10b51
+#tb 0: 1/1000
+#media_type 0: video
+#codec_id 0: h264
+#dimensions 0: 160x240
+#sar 0: 1/2
+0,        -33,          0,       33,     4133, 0xc48cf152
+0,          0,         60,       33,     1077, 0x15a71a8a, F=0x0
+0,         27,         27,       33,      355, 0x1ee8b91a, F=0x0
+0,         60,        127,       33,     1110, 0x4e1a2b12, F=0x0
+0,         94,         94,       33,      430, 0x8724d62c, F=0x0
+[STREAM]
+[/STREAM]
-- 
2.34.1



More information about the ffmpeg-devel mailing list