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