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

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Sep 6 12:37:50 EEST 2023


Andreas Rheinhardt:
> 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]

Will apply this patchset tomorrow unless there are objections.

- Andreas



More information about the ffmpeg-devel mailing list