diff mbox series

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

Message ID AS8P250MB0744314AD7A516CFC71F61BF8FE9A@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM
State Accepted
Commit f32a83c4eb8b65869ef7833e9747bc05e9c8abbd
Headers show
Series [FFmpeg-devel,01/20] fate/matroska: Add test for remuxing non-rotation displaymatrix | expand

Commit Message

Andreas Rheinhardt Sept. 4, 2023, 11:26 a.m. UTC
This provides coverage for the case in which the displaymatrix
is ignored.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@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

Comments

Andreas Rheinhardt Sept. 6, 2023, 9:37 a.m. UTC | #1
Andreas Rheinhardt:
> This provides coverage for the case in which the displaymatrix
> is ignored.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@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]

Will apply this patchset tomorrow unless there are objections.

- Andreas
diff mbox series

Patch

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]