From patchwork Thu Jan 3 20:05:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mohammad Izadi X-Patchwork-Id: 11645 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 CB76744D8C2 for ; Thu, 3 Jan 2019 22:11:38 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 81B13689FF5; Thu, 3 Jan 2019 22:11:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5669A689FF5 for ; Thu, 3 Jan 2019 22:11:28 +0200 (EET) Received: by mail-pf1-f171.google.com with SMTP id h3so17178663pfg.1 for ; Thu, 03 Jan 2019 12:11:37 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=v+nD8p3aKGCXgsBasz/96Kitv7uIi/zOFCe7pR0DMbU=; b=CUE5n5jzEz02CCrfI9ooEh2jRKQd2Dw0MbZKgvlUQBNBP9NP9+ZDjlGi23RuSTdb14 2FVddIpIS1c6PkpJtfX2MTBs9NfojkogdvWsIzgvx+6PIDc2SkVjz5R/1OBcOwveJ736 zXewMP0cLTB+e1wX6QfXfnMtvcGvDoLk7WbKjlYNrejnD9YB7shz57G/n0pA+01FCj1b s5IRahw5q0WR178nMQXljsPg+yiS0FJ0m/pup65UdcV/E8BvvbJ8w4Q0k0hyxNw01rfe 9NJGIWxV0Jiova/SsPAXYREsoGmlmugo1PkVTNSbtIU/vgncFeXHTy7MibfpM3ilF/Wn ae6w== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=v+nD8p3aKGCXgsBasz/96Kitv7uIi/zOFCe7pR0DMbU=; b=DijFYpxhuQ76B8a2rLyp5MQghBv/Hf8UOsEHohkI+DK0B8SeZD443DJsxM/127tdIA iPERFd/3DZx/0KYM/1fsI4FN4w9Kq9QZoLr2ueJyE3ASR/pr6daMx+RutfevYmpDew6V CN5lrkeNlQBh+8ghBmUYex45SaT7TVJxcPSIWRiHE5lpMHsjy0KU8oB5KH87pMcMHEw3 HyG+8tTrAp2vewYRxyt53KXixDDPFrI6bvVDlYX8LkBrTVa8VuhNVV2aSHe025dUPqxV m+XQ5hBC15Btdt/vR1iMPEfC4t2Qw2eNzJYbslYoKU3xNeo25sqf9XK6eR8q4QdZ+zin /rIA== X-Gm-Message-State: AJcUukd2ydnjX/1+akvt2DC8xsBS1/pT9MTGYDDtoDKJLbYIE3UQnLUt QnXK8+EwBzGHN+o3cEBauC8QMuzTWg== X-Google-Smtp-Source: ALg8bN5XooNxPYQHwBJUczDJKZ7brifIpSJb30ADiP78kF1IaLEYBMhZgV6DmEPCVp8QA4EFxdwmgw== X-Received: by 2002:a63:6486:: with SMTP id y128mr18227670pgb.18.1546545962121; Thu, 03 Jan 2019 12:06:02 -0800 (PST) Received: from izadi.mtv.corp.google.com ([2620:0:1000:4011:3bcf:9bbf:ad2c:87b2]) by smtp.gmail.com with ESMTPSA id n7sm100159477pff.36.2019.01.03.12.06.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Jan 2019 12:06:01 -0800 (PST) From: Mohammad Izadi To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Jan 2019 12:05:41 -0800 Message-Id: <20190103200541.214672-2-moh.izadi@gmail.com> X-Mailer: git-send-email 2.20.1.415.g653613c723-goog In-Reply-To: <20190103200541.214672-1-moh.izadi@gmail.com> References: <82a9bb73-d3f6-975c-4092-15959a02d7b0@gmail.com> <20190103200541.214672-1-moh.izadi@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] Pass through HDR dynamic metdata (HDR10+) to AV packet side data. 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: Mohammad Izadi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavcodec/avcodec.h | 8 ++++++++ libavcodec/avpacket.c | 1 + libavcodec/decode.c | 1 + libavcodec/version.h | 2 +- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 92567ec6d0..75fd44d74c 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1361,6 +1361,14 @@ enum AVPacketSideDataType { */ AV_PKT_DATA_A53_CC, + /** + * HDR10+ dynamic metadata associated with a video frame. The metadata is in + * the form of the AVDynamicHDRPlus struct and contains + * information for color volume transform - application 4 of + * SPMTE 2094-40:2016 standard. + */ + AV_PKT_DATA_HDR_DYNAMIC_HDR_PLUS, + /** * This side data is encryption initialization data. * The format is not part of ABI, use av_encryption_init_info_* methods to diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 11ac4e80cd..48f3857fc2 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -391,6 +391,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type) case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: return "Content light level metadata"; case AV_PKT_DATA_SPHERICAL: return "Spherical Mapping"; case AV_PKT_DATA_A53_CC: return "A53 Closed Captions"; + case AV_PKT_DATA_HDR_DYNAMIC_HDR_PLUS: return "HDR10+ Dynamic Metadata (SMPTE 2094-40)"; case AV_PKT_DATA_ENCRYPTION_INIT_INFO: return "Encryption initialization data"; case AV_PKT_DATA_ENCRYPTION_INFO: return "Encryption info"; case AV_PKT_DATA_AFD: return "Active Format Description data"; diff --git a/libavcodec/decode.c b/libavcodec/decode.c index a32ff2fcd3..c6bc48567a 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1706,6 +1706,7 @@ int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame) { AV_PKT_DATA_MASTERING_DISPLAY_METADATA, AV_FRAME_DATA_MASTERING_DISPLAY_METADATA }, { AV_PKT_DATA_CONTENT_LIGHT_LEVEL, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL }, { AV_PKT_DATA_A53_CC, AV_FRAME_DATA_A53_CC }, + { AV_PKT_DATA_HDR_DYNAMIC_HDR_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS }, }; if (pkt) { diff --git a/libavcodec/version.h b/libavcodec/version.h index ed56a1ece5..e72168affb 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,7 +28,7 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 58 -#define LIBAVCODEC_VERSION_MINOR 43 +#define LIBAVCODEC_VERSION_MINOR 44 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \