From patchwork Sun Dec 11 03:33:03 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 1749 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.65.86 with SMTP id o83csp1069077vsa; Sat, 10 Dec 2016 19:33:49 -0800 (PST) X-Received: by 10.194.47.42 with SMTP id a10mr74542115wjn.216.1481427229364; Sat, 10 Dec 2016 19:33:49 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o4si23662059wmb.73.2016.12.10.19.33.48; Sat, 10 Dec 2016 19:33:49 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8E202689DED; Sun, 11 Dec 2016 05:33:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 155C66898E8 for ; Sun, 11 Dec 2016 05:33:35 +0200 (EET) Received: by mail-qt0-f194.google.com with SMTP id m48so6298819qta.2 for ; Sat, 10 Dec 2016 19:33:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=4H53pfKw4LYRAgDySRiZ92ozy+BvJzL48IQFGW0u/LU=; b=LCFD2DyAZGbJucyAfiR2flQugdYuz0c6nargPzvvB0mfN9uiPFtAFsPULJb4skQ6jL GOkTiocq8atNWbRm2cLMqextUCjiCvlBrZ9p5Fy01xsyB20x4aJRTpuJI4KrBNSg39im oa9zbeRtrvzp7fikjgv49Afh99iwKBMJ/nm0jLrOYP1JOiqhOq+/32HfG2tfm+uPinER ezlUJjk5aX+cLcPtwTJ54wcBaTPxyeDgkwzP8ey9BDaXwFWfeRIfmzOPwrjr6+PtNEvg xq9wBiddzzVOIUgd6lsOwXmeN2k+2O5cCMU1MDK+coGE0rIkRl1doNpiNnfnC1XzG6Jp VPXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=4H53pfKw4LYRAgDySRiZ92ozy+BvJzL48IQFGW0u/LU=; b=LsKfjnl3UgEWRH3zwE6p9TpFZI7uuCyyvrero+2aPQI9A1yrerf6/Yuk68GMDJs/ZH Qzt1gfpsrqJSo8Hpv2WEYDT9E8oryFX2CnFIx0CrgSRPHEQa5l3Zr3MdN54PjdKPONU4 Y1UIGqs9Ia64qf5MnMbO5u1PVMbnUIFk7Y245X4R6QxaxxhStYvRt23r27hsLW5A+c0B ubhLpV3mibKS9a6Epi0D2SoI58XLpPJl+OK9E7o1DycIHLjByvYIU58NOiUKLUMMwrXR uSPpbSjHNSOCcVw6Eo+OpHQdQwe/ir+dm34mkxoxJSHxphzXPW2sKeE45tHfMbq4oSy5 43dA== X-Gm-Message-State: AKaTC019lABeAtVV10MLst4NePfQ8FFJvPMRV9cfBUoNnp1qi8avLRDpVOiXrAVBDPPBmw== X-Received: by 10.200.56.253 with SMTP id g58mr76617431qtc.201.1481427217921; Sat, 10 Dec 2016 19:33:37 -0800 (PST) Received: from localhost.localdomain ([181.22.26.31]) by smtp.gmail.com with ESMTPSA id 21sm23495740qkf.17.2016.12.10.19.33.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 10 Dec 2016 19:33:37 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 11 Dec 2016 00:33:03 -0300 Message-Id: <20161211033308.8592-1-jamrial@gmail.com> X-Mailer: git-send-email 2.10.2 Subject: [FFmpeg-devel] [PATCH 1/6] avutil/mastering_display_metadata: add av_mastering_display_metadata_alloc2() 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Also deprecate av_mastering_display_metadata_alloc(). This new alloc function optionally returns the size of the AVMasteringDisplayMetadata struct. Signed-off-by: James Almer --- libavutil/mastering_display_metadata.c | 12 ++++++++++++ libavutil/mastering_display_metadata.h | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/libavutil/mastering_display_metadata.c b/libavutil/mastering_display_metadata.c index e1683e5..872f14b 100644 --- a/libavutil/mastering_display_metadata.c +++ b/libavutil/mastering_display_metadata.c @@ -29,6 +29,18 @@ AVMasteringDisplayMetadata *av_mastering_display_metadata_alloc(void) return av_mallocz(sizeof(AVMasteringDisplayMetadata)); } +AVMasteringDisplayMetadata *av_mastering_display_metadata_alloc2(size_t *size) +{ + AVMasteringDisplayMetadata *mastering = av_mallocz(sizeof(AVMasteringDisplayMetadata)); + if (!mastering) + return NULL; + + if (size) + *size = sizeof(*mastering); + + return mastering; +} + AVMasteringDisplayMetadata *av_mastering_display_metadata_create_side_data(AVFrame *frame) { AVFrameSideData *side_data = av_frame_new_side_data(frame, diff --git a/libavutil/mastering_display_metadata.h b/libavutil/mastering_display_metadata.h index 936533f..32357b3 100644 --- a/libavutil/mastering_display_metadata.h +++ b/libavutil/mastering_display_metadata.h @@ -21,6 +21,10 @@ #ifndef AVUTIL_MASTERING_DISPLAY_METADATA_H #define AVUTIL_MASTERING_DISPLAY_METADATA_H +#include +#include + +#include "attributes.h" #include "frame.h" #include "rational.h" @@ -74,10 +78,23 @@ typedef struct AVMasteringDisplayMetadata { * * @return An AVMasteringDisplayMetadata filled with default values or NULL * on failure. + * + * @deprecated Use av_mastering_display_metadata_alloc2(). */ +attribute_deprecated AVMasteringDisplayMetadata *av_mastering_display_metadata_alloc(void); /** + * Allocate an AVMasteringDisplayMetadata structure and set its fields to + * default values. The resulting struct can be freed using av_freep(). + * + * @param size pointer for AVMasteringDisplayMetadata structure size to store (optional) + * @return An AVMasteringDisplayMetadata filled with default values or NULL + * on failure. + */ +AVMasteringDisplayMetadata *av_mastering_display_metadata_alloc2(size_t *size); + +/** * Allocate a complete AVMasteringDisplayMetadata and add it to the frame. * * @param frame The frame which side data is added to.