[FFmpeg-devel] [PATCH v2] fate: Add regression tests for AVDOVIDecoderConfigurationRecord side data
quietvoid
tcchlisop0 at gmail.com
Sat Jan 1 18:46:47 EET 2022
Signed-off-by: quietvoid <tcChlisop0 at gmail.com>
---
Files are available here (in a zip): https://0x0.st/osvi.zip
Alternatively: https://drive.google.com/drive/folders/1NDhtSoJ-mP5Yi62V6j1wjjPJNq84nP3J
They're all blank frames encoded with x265, remuxed with FFmpeg
after the mov box is added by dlb_mp4base.
MP4 files should be moved to fate-suite/mov.
MPEGTS file into fate-suite/mpegts.
---
tests/fate/mov.mak | 16 +++++++
tests/fate/mpegts.mak | 2 +
tests/ref/fate/mov-dovi-config-profile5 | 13 ++++++
tests/ref/fate/mov-dovi-config-profile7 | 15 +++++++
tests/ref/fate/mov-dovi-config-profile81 | 13 ++++++
tests/ref/fate/mov-dovi-config-profile84 | 22 ++++++++++
tests/ref/fate/mov-dovi-write-config | 49 ++++++++++++++++++++++
tests/ref/fate/mpegts-dovi-config-profile7 | 15 +++++++
8 files changed, 145 insertions(+)
create mode 100644 tests/ref/fate/mov-dovi-config-profile5
create mode 100644 tests/ref/fate/mov-dovi-config-profile7
create mode 100644 tests/ref/fate/mov-dovi-config-profile81
create mode 100644 tests/ref/fate/mov-dovi-config-profile84
create mode 100644 tests/ref/fate/mov-dovi-write-config
create mode 100644 tests/ref/fate/mpegts-dovi-config-profile7
diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index e956380909..26f62bf156 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -30,6 +30,10 @@ FATE_MOV_FFPROBE = fate-mov-neg-firstpts-discard \
fate-mov-guess-delay-3 \
fate-mov-mp4-with-mov-in24-ver \
fate-mov-mp4-extended-atom \
+ fate-mov-dovi-config-profile5 \
+ fate-mov-dovi-config-profile7 \
+ fate-mov-dovi-config-profile81 \
+ fate-mov-dovi-config-profile84 \
FATE_MOV_FASTSTART = fate-mov-faststart-4gb-overflow \
@@ -126,6 +130,12 @@ fate-mov-mp4-with-mov-in24-ver: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entr
fate-mov-mp4-extended-atom: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_packets -print_format compact -select_streams v $(TARGET_SAMPLES)/mov/extended_atom_size_probe
+# ffprobe tests for AVDOVIDecoderConfigurationRecord parsing in mov
+fate-mov-dovi-config-profile5: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mov/dovi-p5.mp4
+fate-mov-dovi-config-profile7: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mov/dovi-p7.mp4
+fate-mov-dovi-config-profile81: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mov/dovi-p81.mp4
+fate-mov-dovi-config-profile84: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/hevc/dv84.mov
+
FATE_MOV_FFMPEG_FFPROBE-$(call ALLYES, FILE_PROTOCOL MOV_DEMUXER MJPEG_DECODER \
SCALE_FILTER PNG_ENCODER PNG_DECODER \
MP4_MUXER FRAMECRC_MUXER PIPE_PROTOCOL) \
@@ -145,6 +155,12 @@ FATE_MOV_FFMPEG_FFPROBE-$(call ALLYES, FILE_PROTOCOL PIPE_PROTOCOL \
+= fate-mov-mp4-disposition-mpegts-remux
fate-mov-mp4-disposition-mpegts-remux: CMD = transcode mpegts $(TARGET_SAMPLES)/mpegts/pmtchange.ts mp4 "-map 0:1 -map 0:2 -c copy -disposition:a:0 +hearing_impaired" "-map 0 -c copy" "" "-of json -show_entries stream_disposition:stream=index"
+FATE_MOV_FFMPEG_FFPROBE-$(call ALLYES, FILE_PROTOCOL PIPE_PROTOCOL \
+ MPEGTS_DEMUXER MOV_DEMUXER \
+ MP4_MUXER FRAMECRC_MUXER) \
+ += fate-mov-dovi-write-config
+fate-mov-dovi-write-config: CMD = transcode mpegts $(TARGET_SAMPLES)/mpegts/dovi-p7.ts mp4 "-map 0:0 -map 0:1 -c copy -strict unofficial" "-map 0 -c copy" "" "-show_entries stream_side_data_list -select_streams v -v 0"
+
FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_MOV_FFMPEG_FFPROBE-yes)
fate-mov: $(FATE_MOV) $(FATE_MOV_FFPROBE) $(FATE_MOV_FASTSTART) $(FATE_MOV_FFMPEG_FFPROBE-yes)
diff --git a/tests/fate/mpegts.mak b/tests/fate/mpegts.mak
index bbcbfc47b2..1ee44ff2a0 100644
--- a/tests/fate/mpegts.mak
+++ b/tests/fate/mpegts.mak
@@ -19,6 +19,8 @@ FATE_MPEGTS_PROBE-$(call DEMDEC, MPEGTS) += fate-mpegts-probe-pmt-merge
fate-mpegts-probe-pmt-merge: SRC = $(TARGET_SAMPLES)/mpegts/pmtchange.ts
fate-mpegts-probe-pmt-merge: CMD = run $(PROBE_CODEC_NAME_COMMAND) -merge_pmt_versions 1 -i "$(SRC)"
+FATE_MPEGTS_PROBE-$(call DEMDEC, MPEGTS) += fate-mpegts-dovi-config-profile7
+fate-mpegts-dovi-config-profile7: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mpegts/dovi-p7.ts
FATE_SAMPLES_FFPROBE += $(FATE_MPEGTS_PROBE-yes)
diff --git a/tests/ref/fate/mov-dovi-config-profile5 b/tests/ref/fate/mov-dovi-config-profile5
new file mode 100644
index 0000000000..a27976b71a
--- /dev/null
+++ b/tests/ref/fate/mov-dovi-config-profile5
@@ -0,0 +1,13 @@
+[STREAM]
+[SIDE_DATA]
+side_data_type=DOVI configuration record
+dv_version_major=1
+dv_version_minor=0
+dv_profile=5
+dv_level=4
+rpu_present_flag=1
+el_present_flag=0
+bl_present_flag=1
+dv_bl_signal_compatibility_id=0
+[/SIDE_DATA]
+[/STREAM]
diff --git a/tests/ref/fate/mov-dovi-config-profile7 b/tests/ref/fate/mov-dovi-config-profile7
new file mode 100644
index 0000000000..1d8a4b6828
--- /dev/null
+++ b/tests/ref/fate/mov-dovi-config-profile7
@@ -0,0 +1,15 @@
+[STREAM]
+[/STREAM]
+[STREAM]
+[SIDE_DATA]
+side_data_type=DOVI configuration record
+dv_version_major=1
+dv_version_minor=0
+dv_profile=7
+dv_level=4
+rpu_present_flag=1
+el_present_flag=1
+bl_present_flag=0
+dv_bl_signal_compatibility_id=6
+[/SIDE_DATA]
+[/STREAM]
diff --git a/tests/ref/fate/mov-dovi-config-profile81 b/tests/ref/fate/mov-dovi-config-profile81
new file mode 100644
index 0000000000..fb9fe549d1
--- /dev/null
+++ b/tests/ref/fate/mov-dovi-config-profile81
@@ -0,0 +1,13 @@
+[STREAM]
+[SIDE_DATA]
+side_data_type=DOVI configuration record
+dv_version_major=1
+dv_version_minor=0
+dv_profile=8
+dv_level=4
+rpu_present_flag=1
+el_present_flag=0
+bl_present_flag=1
+dv_bl_signal_compatibility_id=1
+[/SIDE_DATA]
+[/STREAM]
diff --git a/tests/ref/fate/mov-dovi-config-profile84 b/tests/ref/fate/mov-dovi-config-profile84
new file mode 100644
index 0000000000..62d1bf2c87
--- /dev/null
+++ b/tests/ref/fate/mov-dovi-config-profile84
@@ -0,0 +1,22 @@
+[STREAM]
+[SIDE_DATA]
+side_data_type=DOVI configuration record
+dv_version_major=1
+dv_version_minor=0
+dv_profile=8
+dv_level=4
+rpu_present_flag=1
+el_present_flag=0
+bl_present_flag=1
+dv_bl_signal_compatibility_id=4
+[/SIDE_DATA]
+[SIDE_DATA]
+side_data_type=Display Matrix
+displaymatrix=
+00000000: 0 65536 0
+00000001: -65536 0 0
+00000002: 70778880 0 1073741824
+
+rotation=-90
+[/SIDE_DATA]
+[/STREAM]
diff --git a/tests/ref/fate/mov-dovi-write-config b/tests/ref/fate/mov-dovi-write-config
new file mode 100644
index 0000000000..96fa141744
--- /dev/null
+++ b/tests/ref/fate/mov-dovi-write-config
@@ -0,0 +1,49 @@
+45f55828cac6b733836155eacca44dcc *tests/data/fate/mov-dovi-write-config.mp4
+8963 tests/data/fate/mov-dovi-write-config.mp4
+#extradata 0: 116, 0x2b8d1669
+#extradata 1: 116, 0x2b8d1669
+#tb 0: 1/90000
+#media_type 0: video
+#codec_id 0: hevc
+#dimensions 0: 1920x1080
+#sar 0: 0/1
+#tb 1: 1/90000
+#media_type 1: video
+#codec_id 1: hevc
+#dimensions 1: 1920x1080
+#sar 1: 0/1
+0, -7500, 0, 3750, 699, 0x728548f1
+1, -7500, 0, 3750, 1085, 0xfb2dba82, S=1, 8
+0, -3750, 15000, 3750, 95, 0xc0312044, F=0x0
+1, -3750, 15000, 3750, 481, 0xf23f91d5, F=0x0
+0, 0, 7500, 3750, 99, 0x5e0a2221, F=0x0
+1, 0, 7500, 3750, 485, 0x5f7b93b2, F=0x0
+0, 3750, 3750, 3750, 99, 0xe60e208b, F=0x0
+1, 3750, 3750, 3750, 485, 0x8335921c, F=0x0
+0, 7500, 11250, 3750, 99, 0xa1e422e1, F=0x0
+1, 7500, 11250, 3750, 485, 0xc4e49472, F=0x0
+0, 11250, 30000, 3750, 96, 0xdc762089, F=0x0
+1, 11250, 30000, 3750, 482, 0x769c921a, F=0x0
+0, 15000, 22500, 3750, 100, 0x89cd22a0, F=0x0
+1, 15000, 22500, 3750, 486, 0x4aca9431, F=0x0
+0, 18750, 18750, 3750, 100, 0x6d4521ff, F=0x0
+1, 18750, 18750, 3750, 486, 0x3b719390, F=0x0
+0, 22500, 26250, 3750, 99, 0x92ab22c0, F=0x0
+1, 22500, 26250, 3750, 485, 0x83e99451, F=0x0
+0, 26250, 26250, 3750, 95, 0xcd9020bd, F=0x0
+1, 26250, 26250, 3750, 481, 0x44ec924e, F=0x0
+[STREAM]
+[/STREAM]
+[STREAM]
+[SIDE_DATA]
+side_data_type=DOVI configuration record
+dv_version_major=1
+dv_version_minor=0
+dv_profile=7
+dv_level=4
+rpu_present_flag=1
+el_present_flag=1
+bl_present_flag=0
+dv_bl_signal_compatibility_id=6
+[/SIDE_DATA]
+[/STREAM]
diff --git a/tests/ref/fate/mpegts-dovi-config-profile7 b/tests/ref/fate/mpegts-dovi-config-profile7
new file mode 100644
index 0000000000..1d8a4b6828
--- /dev/null
+++ b/tests/ref/fate/mpegts-dovi-config-profile7
@@ -0,0 +1,15 @@
+[STREAM]
+[/STREAM]
+[STREAM]
+[SIDE_DATA]
+side_data_type=DOVI configuration record
+dv_version_major=1
+dv_version_minor=0
+dv_profile=7
+dv_level=4
+rpu_present_flag=1
+el_present_flag=1
+bl_present_flag=0
+dv_bl_signal_compatibility_id=6
+[/SIDE_DATA]
+[/STREAM]
--
2.34.1
More information about the ffmpeg-devel
mailing list