Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: quietvoid <tcchlisop0@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Cc: quietvoid <tcChlisop0@gmail.com>
Subject: [FFmpeg-devel] [PATCH v2] fate: Add regression tests for AVDOVIDecoderConfigurationRecord side data
Date: Sat,  1 Jan 2022 17:46:47 +0100
Message-ID: <20220101164647.440565-1-tcChlisop0@gmail.com> (raw)

Signed-off-by: quietvoid <tcChlisop0@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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

                 reply	other threads:[~2022-01-01 16:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220101164647.440565-1-tcChlisop0@gmail.com \
    --to=tcchlisop0@gmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git