From: Maryla Ustarroz via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: Maryla Ustarroz <maryla@google.com> Subject: Re: [FFmpeg-devel] [PATCH 2/2] avcodec/libaom: Add tests for HDR10+ metadata support Date: Fri, 13 Jun 2025 09:16:42 +0200 Message-ID: <mailman.3170.1749799022.1384.ffmpeg-devel@ffmpeg.org> (raw) In-Reply-To: <DU0P250MB0747DB28A5502F4D819B89F78F6FA@DU0P250MB0747.EURP250.PROD.OUTLOOK.COM> [-- Attachment #1: Type: message/rfc822, Size: 13292 bytes --] From: Maryla Ustarroz <maryla@google.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 2/2] avcodec/libaom: Add tests for HDR10+ metadata support Date: Fri, 13 Jun 2025 09:16:42 +0200 Message-ID: <CA+yX6GF8uz-xFd-L82kqrQVW6fFOhHHrbCJ-M+a30w68PbsuLQ@mail.gmail.com> On Thu, Jun 5, 2025 at 9:27 AM Andreas Rheinhardt <andreas.rheinhardt@outlook.com> wrote: > > Maryla Ustarroz via ffmpeg-devel: > > On Fri, May 30, 2025 at 2:52 PM Andreas Rheinhardt > > <andreas.rheinhardt@outlook.com> wrote: > >> > >> Maryla Ustarroz-Calonge via ffmpeg-devel: > >>> The new fate sample av1/metadata_hdr10_plus.ivf used in the second > >>> test is the output of the first test. > >>> > >>> Signed-off-by: Maryla Ustarroz-Calonge <maryla@google.com> > >>> --- > >>> tests/Makefile | 1 + > >>> tests/fate/av1.mak | 11 ++++++ > >>> tests/ref/fate/libaom-hdr10-plus | 52 ++++++++++++++++++++++++++ > >>> tests/ref/fate/libaom-write-hdr10-plus | 52 ++++++++++++++++++++++++++ > >>> 4 files changed, 116 insertions(+) > >>> create mode 100644 tests/fate/av1.mak > >>> create mode 100644 tests/ref/fate/libaom-hdr10-plus > >>> create mode 100644 tests/ref/fate/libaom-write-hdr10-plus > >>> > >>> diff --git a/tests/Makefile b/tests/Makefile > >>> index 505d7f9c6d..7e3812f1bd 100644 > >>> --- a/tests/Makefile > >>> +++ b/tests/Makefile > >>> @@ -159,6 +159,7 @@ include $(SRC_PATH)/tests/fate/apng.mak > >>> include $(SRC_PATH)/tests/fate/apv.mak > >>> include $(SRC_PATH)/tests/fate/atrac.mak > >>> include $(SRC_PATH)/tests/fate/audio.mak > >>> +include $(SRC_PATH)/tests/fate/av1.mak > >>> include $(SRC_PATH)/tests/fate/bmp.mak > >>> include $(SRC_PATH)/tests/fate/build.mak > >>> include $(SRC_PATH)/tests/fate/caf.mak > >>> diff --git a/tests/fate/av1.mak b/tests/fate/av1.mak > >>> new file mode 100644 > >>> index 0000000000..a1883dbbfb > >>> --- /dev/null > >>> +++ b/tests/fate/av1.mak > >>> @@ -0,0 +1,11 @@ > >>> +# Tests that transcoding MPEG4 WEBM to AV1 (libaom-av1) keeps HDR10+ metadata. > >> > >> There is no such thing as MPEG4 WebM. > > > > Apologies, after more careful consideration I think this would be correct? > > > > # Tests that transcoding VP9 WEBM to AV1 (libaom-av1) keeps HDR10+ metadata. > > FATE_AV1_FFMPEG_FFPROBE-$(call ENCDEC, LIBAOM_AV1 VP9, IVF MATROSKA) > > += fate-libaom-write-hdr10-plus > > fate-libaom-write-hdr10-plus: CMD = enc_external > > $(TARGET_SAMPLES)/mkv/hdr10_plus_vp9_sample.webm ivf "-map 0 -c:v > > libaom-av1 -cpu-used 8" "-show_frames -show_entries > > frame=side_data_list" > > > > > >>> +FATE_AV1_FFMPEG_FFPROBE-$(call TRANSCODE, LIBAOM_AV1 MPEG4, WEBM IVF) += fate-libaom-write-hdr10-plus > >>> +fate-libaom-write-hdr10-plus: CMD = transcode webm $(TARGET_SAMPLES)/mkv/hdr10_plus_vp9_sample.webm ivf "-map 0 -c:v libaom-av1 -cpu-used 8" "" "-show_frames -show_entries frame=side_data_list" > >> > >> This test includes a checksum of the generated file. The test will > >> therefore fail as soon as libaom-av1's output changes. Use enc_external > >> instead. > > > > Thanks, I had not noticed enc_external. > > > >>> + > >>> +# Tests that transcoding AV1 (libaom-av1) to AV1 (libaom-av1) keeps HDR10+ metadata. > >>> +FATE_AV1_FFMPEG_FFPROBE-$(call ENCDEC, LIBAOM_AV1 LIBAOM_AV1, IVF IVF) += fate-libaom-hdr10-plus > >>> +fate-libaom-hdr10-plus: CMD = transcode ivf $(TARGET_SAMPLES)/av1/metadata_hdr10_plus.ivf ivf "-map 0 -c:v libaom-av1 -cpu-used 8" "" "-show_frames -show_entries frame=side_data_list" "" "" "-c:v libaom-av1" > >> > >> This test has the same issue as the above; if ffprobe were changed so > >> that one can force a specific decoder, this whole test could be made > >> redundant by using the libaom-av1 decoder with ffprobe in the test above. > > > > I agree this would be a good feature for ffprobe to have in general. > > Currently, it's the first test that is actually redundant. It tests > > writing, while the > > second one tests reading+writing. I used it to generate the new test > > file for the second test. > > Assuming the new test file gets added to fate (which I will request > > when this patch gets approved), > > should I just remove the first test? > > > > No, improving ffprobe is preferable. Then the second test and the new > file can be avoided. FYI I sent a patch for ffprobe a couple of days ago (titled "ffprobe: add -codec:<media_spec> option") Let me know what you think. > > > >>> + > >>> +FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_AV1_FFMPEG_FFPROBE-yes) > >>> + > >>> +fate-av1: $(FATE_AV1_FFMPEG_FFPROBE-yes) > >>> diff --git a/tests/ref/fate/libaom-hdr10-plus b/tests/ref/fate/libaom-hdr10-plus > >>> new file mode 100644 > >>> index 0000000000..d95e57f224 > >>> --- /dev/null > >>> +++ b/tests/ref/fate/libaom-hdr10-plus > >>> @@ -0,0 +1,52 @@ > >>> +58769dc4beb2490d2c6896d1f3d6d021 *tests/data/fate/libaom-hdr10-plus.ivf > >>> +15925 tests/data/fate/libaom-hdr10-plus.ivf > >>> +#tb 0: 1/25 > >>> +#media_type 0: video > >>> +#codec_id 0: rawvideo > >>> +#dimensions 0: 1280x720 > >>> +#sar 0: 1/1 > >>> +0, 0, 0, 1, 2764800, 0x6fc3f991 > >>> +[FRAME] > >>> +[SIDE_DATA] > >>> +side_data_type=HDR Dynamic Metadata SMPTE2094-40 (HDR10+) > >>> +application version=1 > >>> +num_windows=1 > >>> +targeted_system_display_maximum_luminance=400/1 > >>> +maxscl=3340/100000 > >>> +maxscl=2870/100000 > >>> +maxscl=2720/100000 > >>> +average_maxrgb=510/100000 > >>> +num_distribution_maxrgb_percentiles=9 > >>> +distribution_maxrgb_percentage=1 > >>> +distribution_maxrgb_percentile=30/100000 > >>> +distribution_maxrgb_percentage=5 > >>> +distribution_maxrgb_percentile=2940/100000 > >>> +distribution_maxrgb_percentage=10 > >>> +distribution_maxrgb_percentile=255/100000 > >>> +distribution_maxrgb_percentage=25 > >>> +distribution_maxrgb_percentile=70/100000 > >>> +distribution_maxrgb_percentage=50 > >>> +distribution_maxrgb_percentile=1340/100000 > >>> +distribution_maxrgb_percentage=75 > >>> +distribution_maxrgb_percentile=1600/100000 > >>> +distribution_maxrgb_percentage=90 > >>> +distribution_maxrgb_percentile=1850/100000 > >>> +distribution_maxrgb_percentage=95 > >>> +distribution_maxrgb_percentile=1950/100000 > >>> +distribution_maxrgb_percentage=99 > >>> +distribution_maxrgb_percentile=2940/100000 > >>> +fraction_bright_pixels=1/1000 > >>> +knee_point_x=0/4095 > >>> +knee_point_y=0/4095 > >>> +num_bezier_curve_anchors=9 > >>> +bezier_curve_anchors=102/1023 > >>> +bezier_curve_anchors=205/1023 > >>> +bezier_curve_anchors=307/1023 > >>> +bezier_curve_anchors=410/1023 > >>> +bezier_curve_anchors=512/1023 > >>> +bezier_curve_anchors=614/1023 > >>> +bezier_curve_anchors=717/1023 > >>> +bezier_curve_anchors=819/1023 > >>> +bezier_curve_anchors=922/1023 > >>> +[/SIDE_DATA] > >>> +[/FRAME] > >>> \ No newline at end of file > >>> diff --git a/tests/ref/fate/libaom-write-hdr10-plus b/tests/ref/fate/libaom-write-hdr10-plus > >>> new file mode 100644 > >>> index 0000000000..8f9639a522 > >>> --- /dev/null > >>> +++ b/tests/ref/fate/libaom-write-hdr10-plus > >>> @@ -0,0 +1,52 @@ > >>> +de9a40ffb4ba574767d3e82e5f977321 *tests/data/fate/libaom-write-hdr10-plus.ivf > >>> +16029 tests/data/fate/libaom-write-hdr10-plus.ivf > >>> +#tb 0: 1/25 > >>> +#media_type 0: video > >>> +#codec_id 0: rawvideo > >>> +#dimensions 0: 1280x720 > >>> +#sar 0: 1/1 > >>> +0, 0, 0, 1, 2764800, 0x8cc0fc91 > >>> +[FRAME] > >>> +[SIDE_DATA] > >>> +side_data_type=HDR Dynamic Metadata SMPTE2094-40 (HDR10+) > >>> +application version=1 > >>> +num_windows=1 > >>> +targeted_system_display_maximum_luminance=400/1 > >>> +maxscl=3340/100000 > >>> +maxscl=2870/100000 > >>> +maxscl=2720/100000 > >>> +average_maxrgb=510/100000 > >>> +num_distribution_maxrgb_percentiles=9 > >>> +distribution_maxrgb_percentage=1 > >>> +distribution_maxrgb_percentile=30/100000 > >>> +distribution_maxrgb_percentage=5 > >>> +distribution_maxrgb_percentile=2940/100000 > >>> +distribution_maxrgb_percentage=10 > >>> +distribution_maxrgb_percentile=255/100000 > >>> +distribution_maxrgb_percentage=25 > >>> +distribution_maxrgb_percentile=70/100000 > >>> +distribution_maxrgb_percentage=50 > >>> +distribution_maxrgb_percentile=1340/100000 > >>> +distribution_maxrgb_percentage=75 > >>> +distribution_maxrgb_percentile=1600/100000 > >>> +distribution_maxrgb_percentage=90 > >>> +distribution_maxrgb_percentile=1850/100000 > >>> +distribution_maxrgb_percentage=95 > >>> +distribution_maxrgb_percentile=1950/100000 > >>> +distribution_maxrgb_percentage=99 > >>> +distribution_maxrgb_percentile=2940/100000 > >>> +fraction_bright_pixels=1/1000 > >>> +knee_point_x=0/4095 > >>> +knee_point_y=0/4095 > >>> +num_bezier_curve_anchors=9 > >>> +bezier_curve_anchors=102/1023 > >>> +bezier_curve_anchors=205/1023 > >>> +bezier_curve_anchors=307/1023 > >>> +bezier_curve_anchors=410/1023 > >>> +bezier_curve_anchors=512/1023 > >>> +bezier_curve_anchors=614/1023 > >>> +bezier_curve_anchors=717/1023 > >>> +bezier_curve_anchors=819/1023 > >>> +bezier_curve_anchors=922/1023 > >>> +[/SIDE_DATA] > >>> +[/FRAME] > >>> \ No newline at end of file > > _______________________________________________ > > 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". > > _______________________________________________ > 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". [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ 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".
next prev parent reply other threads:[~2025-06-13 7:17 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-05-30 10:52 [FFmpeg-devel] [PATCH 1/2] avcodec/libaom: Add " Maryla Ustarroz-Calonge via ffmpeg-devel 2025-05-30 10:52 ` [FFmpeg-devel] [PATCH 2/2] avcodec/libaom: Add tests for " Maryla Ustarroz-Calonge via ffmpeg-devel 2025-05-30 12:52 ` Andreas Rheinhardt 2025-06-02 9:34 ` Maryla Ustarroz via ffmpeg-devel 2025-06-05 7:27 ` Andreas Rheinhardt 2025-06-13 7:16 ` Maryla Ustarroz via ffmpeg-devel [this message] 2025-05-30 20:01 ` [FFmpeg-devel] [PATCH 1/2] avcodec/libaom: Add " James Zern via ffmpeg-devel
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=mailman.3170.1749799022.1384.ffmpeg-devel@ffmpeg.org \ --to=ffmpeg-devel@ffmpeg.org \ --cc=maryla@google.com \ /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