From patchwork Wed Feb 17 10:13:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 25684 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 6430D449181 for ; Wed, 17 Feb 2021 12:14:12 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3189C68A32C; Wed, 17 Feb 2021 12:14:12 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9303F689CA7 for ; Wed, 17 Feb 2021 12:14:05 +0200 (EET) Received: by mail-wr1-f44.google.com with SMTP id v1so16750484wrd.6 for ; Wed, 17 Feb 2021 02:14:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:reply-to:mime-version :content-transfer-encoding; bh=zYBxAlCirTDnJcUzdBHHSP9bIvB3soW6JRD8WhHobE8=; b=ZD1ZS+db6jIB+o210lfok8EEAjEy+LEyX9VLGCXnjlfNT7LLiqu8vicdKPTo6Rcopo CxFBPpASO3airYskZ+IUlpFKIjMv6R14LD9cb3y3eTk+lyb2dxS8bxpoMAharH9khm+7 gh6yh6tiDjCrHjjvzpCqFrWt/GXF3JjG77TMrpq1vYESqQXmK2POp0g5uWFF8kTRIy1c CuSPpZKfnPkDbZBjAaeFEo94eNI2gAayQMFmKw2H0cnqmVEL1Zj7t3sG82Yqx0SbHyal WJ82QLBflSvrtCgUf4bPJIdJGvr3InEljfhICNeCmfozth2bAy21Btj/iiQ7bDAMjL0v b9ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :mime-version:content-transfer-encoding; bh=zYBxAlCirTDnJcUzdBHHSP9bIvB3soW6JRD8WhHobE8=; b=jWDt4+jYLNUzjtyRgauXEmsRdbLDyJOFLKCHmiSFEsX99oc+QOIyuPBqW5mV3u3dp+ Fa7B7ZEiaWS54rs9NfSgKD6vStqV2qXZxd1BvzkeDkBWxhI4v8lLFi/6ssdIwS968yeD aeWHzA9aAAe1yFgxh5r1tB+hiNQQHKw2YNzcnhanDf9+N7yiZM2mrVSYMmpJ07bFVZ+Y lH8dtPlwO4StTrO8VkLO9dgnyTFIl6tHlcFxnNU6cZXxBGuhIhWC7FmFp5yxjGN0/6jL As2zeVV3EEFuzYN/0nY8Gsh052ierAMpXIZ+929G8WuyzXoM7919JXaeyukWqP+1hWBD y1EQ== X-Gm-Message-State: AOAM532ang+5DdpQfyOgCYYXCy9MeCdCdF86IpIzuUQVd3w2q2WPrmVO hoe0KTVoxQqrlHXzdHhAPw6ICkDVAxM= X-Google-Smtp-Source: ABdhPJyQa49vBSjIQqrES52t8PVxFU4dhe3kw2/oMnkxG6ySLdgw+25KDBCT7hpyETnU68Dbrsk4jg== X-Received: by 2002:adf:f905:: with SMTP id b5mr27532633wrr.129.1613556844909; Wed, 17 Feb 2021 02:14:04 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id v12sm3502828wrv.69.2021.02.17.02.14.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Feb 2021 02:14:04 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 17 Feb 2021 11:13:38 +0100 Message-Id: <20210217101356.1723370-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/19] fate/matroska: Add test for mastering display metadata X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" The FATE suite already contains a file containing mastering display and content light level metadata: Meridian-Apple_ProResProxy-HDR10.mxf This file is used to test both the Matroska muxer and demuxer. Signed-off-by: Andreas Rheinhardt --- tests/fate/matroska.mak | 15 +++ .../fate/matroska-mastering-display-metadata | 97 +++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 tests/ref/fate/matroska-mastering-display-metadata diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak index 2ce08f6c77..be68082c21 100644 --- a/tests/fate/matroska.mak +++ b/tests/fate/matroska.mak @@ -75,6 +75,21 @@ FATE_MATROSKA_FFMPEG_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER MATROSKA_MUXER \ += fate-matroska-spherical-mono-remux fate-matroska-spherical-mono-remux: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/spherical.mkv matroska "-map 0 -map 0 -c copy -disposition:0 -default+forced -disposition:1 -default -default_mode passthrough -color_primaries:1 bt709 -color_trc:1 smpte170m -colorspace:1 bt2020c -color_range:1 pc" "-map 0 -c copy -t 0" "" "-show_entries stream_side_data_list:stream_disposition=default,forced:stream=color_range,color_space,color_primaries,color_transfer" +# The input file of the following test contains Content Light Level as well as +# Mastering Display Metadata and so this test tests correct muxing and demuxing +# of these. It furthermore also tests that this data is correctly propagated +# when reencoding (here to ffv1). +# Both input audio tracks are completely zero, so the noise bsf is used +# to make this test interesting. +FATE_MATROSKA_FFMPEG_FFPROBE-$(call ALLYES, FILE_PROTOCOL MXF_DEMUXER \ + PRORES_DECODER PCM_S24LE_DECODER \ + FFV1_ENCODER ARESAMPLE_FILTER \ + PCM_S16BE_ENCODER NOISE_BSF \ + MATROSKA_MUXER MATROSKA_DEMUXER \ + FRAMECRC_MUXER PIPE_PROTOCOL) \ + += fate-matroska-mastering-display-metadata +fate-matroska-mastering-display-metadata: CMD = transcode mxf $(TARGET_SAMPLES)/mxf/Meridian-Apple_ProResProxy-HDR10.mxf matroska "-map 0 -map 0:0 -c:v:0 copy -c:v:1 ffv1 -c:a:0 copy -bsf:a:0 noise=amount=3 -filter:a:1 aresample -c:a:1 pcm_s16be -bsf:a:1 noise=dropamount=4" "-map 0 -c copy" "" "-show_entries stream_side_data_list:stream=index,codec_name" + FATE_MATROSKA_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER) += fate-matroska-spherical-mono fate-matroska-spherical-mono: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mkv/spherical.mkv diff --git a/tests/ref/fate/matroska-mastering-display-metadata b/tests/ref/fate/matroska-mastering-display-metadata new file mode 100644 index 0000000000..4c7469caba --- /dev/null +++ b/tests/ref/fate/matroska-mastering-display-metadata @@ -0,0 +1,97 @@ +abdf9fa02f44f48a45ba48074cb1d0fe *tests/data/fate/matroska-mastering-display-metadata.matroska +1669691 tests/data/fate/matroska-mastering-display-metadata.matroska +#extradata 0: 4, 0x040901a3 +#extradata 3: 200, 0x506463a8 +#tb 0: 1/1000 +#media_type 0: video +#codec_id 0: prores +#dimensions 0: 1280x720 +#sar 0: 1/1 +#tb 1: 1/1000 +#media_type 1: audio +#codec_id 1: pcm_s24le +#sample_rate 1: 48000 +#channel_layout 1: 4 +#channel_layout_name 1: mono +#tb 2: 1/1000 +#media_type 2: audio +#codec_id 2: pcm_s16be +#sample_rate 2: 48000 +#channel_layout 2: 4 +#channel_layout_name 2: mono +#tb 3: 1/1000 +#media_type 3: video +#codec_id 3: ffv1 +#dimensions 3: 1280x720 +#sar 3: 1/1 +0, 0, 0, 16, 57008, 0x43416399, S=2, 8, 0x08e5014f, 88, 0xd65a04db +1, 0, 0, 16, 2403, 0xaa818522 +3, 0, 0, 16, 274117, 0xc439610f, S=2, 8, 0x08e5014f, 88, 0xd65a04db +0, 17, 17, 16, 57248, 0xa06cd7b5 +1, 17, 17, 16, 2403, 0xe1a991e5 +2, 17, 17, 16, 1602, 0x5d868171 +3, 17, 17, 16, 273691, 0x5a3b88a5, F=0x0 +0, 33, 33, 16, 57200, 0x5623da10 +1, 33, 33, 16, 2400, 0x6650907f +2, 33, 33, 16, 1600, 0xa90f0044 +3, 33, 33, 16, 272987, 0x48c443e7, F=0x0 +0, 50, 50, 16, 57152, 0x52d89d3f +1, 50, 50, 16, 2403, 0x43398a08 +2, 50, 50, 16, 1602, 0x3a350084 +3, 50, 50, 16, 271465, 0x251b9cbe, F=0x0 +0, 67, 67, 16, 56960, 0x431d5189 +1, 67, 67, 16, 2403, 0x61cd96cb +2, 67, 67, 16, 1602, 0xd74800c6 +3, 67, 67, 16, 270800, 0x8fb2e217, F=0x0 +[STREAM] +index=0 +codec_name=prores +[SIDE_DATA] +side_data_type=Content light level metadata +max_content=1000 +max_average=100 +[/SIDE_DATA] +[SIDE_DATA] +side_data_type=Mastering display metadata +red_x=17/25 +red_y=8/25 +green_x=53/200 +green_y=69/100 +blue_x=3/20 +blue_y=3/50 +white_point_x=3127/10000 +white_point_y=329/1000 +min_luminance=0/1 +max_luminance=1000/1 +[/SIDE_DATA] +[/STREAM] +[STREAM] +index=1 +codec_name=pcm_s24le +[/STREAM] +[STREAM] +index=2 +codec_name=pcm_s16be +[/STREAM] +[STREAM] +index=3 +codec_name=ffv1 +[SIDE_DATA] +side_data_type=Content light level metadata +max_content=1000 +max_average=100 +[/SIDE_DATA] +[SIDE_DATA] +side_data_type=Mastering display metadata +red_x=17/25 +red_y=8/25 +green_x=53/200 +green_y=69/100 +blue_x=3/20 +blue_y=3/50 +white_point_x=3127/10000 +white_point_y=329/1000 +min_luminance=0/1 +max_luminance=1000/1 +[/SIDE_DATA] +[/STREAM]