From patchwork Sun Dec 11 03:33:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 1750 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.65.86 with SMTP id o83csp1069103vsa; Sat, 10 Dec 2016 19:33:59 -0800 (PST) X-Received: by 10.28.191.87 with SMTP id p84mr12863549wmf.63.1481427238919; Sat, 10 Dec 2016 19:33:58 -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 ej4si39758407wjb.123.2016.12.10.19.33.58; Sat, 10 Dec 2016 19:33:58 -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 50808689DFC; Sun, 11 Dec 2016 05:33:43 +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 EBC106898E8 for ; Sun, 11 Dec 2016 05:33:35 +0200 (EET) Received: by mail-qt0-f194.google.com with SMTP id n6so6313699qtd.0 for ; Sat, 10 Dec 2016 19:33:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:in-reply-to:references; bh=QBfPJP9cPUVNZ+qHBylmAFJH7rWlHi9WvAW0R/mFCak=; b=wWm/9lJsMErT0xJ8QcIKTzA4xG0zt4aycISfq/g4056p1S3rciSanEeiV32D7n9Qyw pheWTXjoHIWKjYoZup+xEh6B8ccygGS3f6Vphf18og83fu7mktOg0VBezxnHWP1C56TN RleEqmRWssA8K9c9hb8xRnKAI4hIiUr/6AdxQTJDdttd8CdnA1nhjxucJmC3RZ/70eiw kSjScltsRGXoi8Xkan1hyGEkfKx5ddLHTTLYpS1bBL0R/JEp1aahofRC5Vnt4gjmq0iJ 9+FTOlHLrpOwgaiu1wzEITo2pyal2+fqkFoxDGLbGhoCI3HqjTBdgo6A3ekaPgJ7horK VElw== 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:in-reply-to :references; bh=QBfPJP9cPUVNZ+qHBylmAFJH7rWlHi9WvAW0R/mFCak=; b=ebsUEMUjreMZACfckVz+3EYivgmZ5gzrb+OlyvIhIFIYzR2qeIRYkBw3W5rkPKxDqn JfW8zIVmRqG5/kI4J4OCaGBgmY93hjXXy8/o97EMkEWuB9ckpWxqbdx3JthXi9KwrkWn qmAFmZOPL//mdvgvjkLv1vETwsuaeh5EOD+V6kgwDOV7jM+TzntvqIOCMhJgZW+64zMh MzCGSAgnUhpVsyEIAMJR17R4RQgZAs1joo3Kg8RRgpWdEAtzQqIG0DTpTv12XXW+Tnbu /QpQof4S7QapxxPXnfj+1czCvL02KrSDbY8zELuggxzoFbn+5d8D5oIfj0j6jphNw4VZ zXxg== X-Gm-Message-State: AKaTC02aDvDko1JMujRU4KVuzUjaGLQ1cAIYfxAYF4RHtZnMG8Do+DSaw+63r0/DKBdB+Q== X-Received: by 10.200.45.245 with SMTP id q50mr75030700qta.47.1481427219241; Sat, 10 Dec 2016 19:33:39 -0800 (PST) Received: from localhost.localdomain ([181.22.26.31]) by smtp.gmail.com with ESMTPSA id 21sm23495740qkf.17.2016.12.10.19.33.38 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 10 Dec 2016 19:33:38 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 11 Dec 2016 00:33:04 -0300 Message-Id: <20161211033308.8592-2-jamrial@gmail.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20161211033308.8592-1-jamrial@gmail.com> References: <20161211033308.8592-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/6] avformat/matroskadec: use mastering display metadata's own alloc function 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" Signed-off-by: James Almer --- libavformat/matroskadec.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 58731aa..493d63f 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1867,14 +1867,12 @@ static int mkv_parse_video_color(AVStream *st, const MatroskaTrack *track) { // Use similar rationals as other standards. const int chroma_den = 50000; const int luma_den = 10000; - AVMasteringDisplayMetadata *metadata = - (AVMasteringDisplayMetadata*) av_stream_new_side_data( - st, AV_PKT_DATA_MASTERING_DISPLAY_METADATA, - sizeof(AVMasteringDisplayMetadata)); + size_t mastering_size; + int ret; + AVMasteringDisplayMetadata *metadata = av_mastering_display_metadata_alloc2(&mastering_size); if (!metadata) { return AVERROR(ENOMEM); } - memset(metadata, 0, sizeof(AVMasteringDisplayMetadata)); if (has_mastering_primaries) { metadata->display_primaries[0][0] = av_make_q( round(mastering_meta->r_x * chroma_den), chroma_den); @@ -1901,6 +1899,13 @@ static int mkv_parse_video_color(AVStream *st, const MatroskaTrack *track) { round(mastering_meta->min_luminance * luma_den), luma_den); metadata->has_luminance = 1; } + + ret = av_stream_add_side_data(st, AV_PKT_DATA_MASTERING_DISPLAY_METADATA, + (uint8_t *)metadata, mastering_size); + if (ret < 0) { + av_freep(&metadata); + return ret; + } } return 0; }