From patchwork Tue Apr 25 19:15:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 3489 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.3.129 with SMTP id 123csp2062951vsd; Tue, 25 Apr 2017 12:16:02 -0700 (PDT) X-Received: by 10.223.183.12 with SMTP id l12mr10725676wre.191.1493147762425; Tue, 25 Apr 2017 12:16:02 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k12si805866wrc.30.2017.04.25.12.16.01; Tue, 25 Apr 2017 12:16:02 -0700 (PDT) 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 sp=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 3C00168995B; Tue, 25 Apr 2017 22:15:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 580F06891D1 for ; Tue, 25 Apr 2017 22:15:50 +0300 (EEST) Received: by mail-qk0-f196.google.com with SMTP id a19so9352627qkg.2 for ; Tue, 25 Apr 2017 12:15:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=ozNwOpRwmF/hT4ZAMyvNBZb/zWhctP9yB+qst8LybSY=; b=gNWCxczNWfvFVsR97MzYOVKArdwQ0jekb6+ial3cC8fMd9A6SowR/tcDOYwq1TSNDG W4rIT73uyZe+lFLAfBk9dMoc3XN9AhHkKvFPKFkCmsdoW5vm2gi2DWRt/Y8sn1jYTwTi McuLTA7kHPpPFy3REOkb9fLaZ6n28mtHzsgSxDjNnzerNzBvZTh5VLPAN9CEtMcAxGLc fzscw7swOC+GgkM4HptnuycVzWUUzdLdGKrJ3Xa6+OUZtcwqjVUk+cGleIBRrseIFibM 8Ud5tj3Hq9LRpwt6MOQH6klLPbpbCc3NsTJJC1tH6FQqu6YaUbEpcLLTpyFYs82wICT+ HopA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=ozNwOpRwmF/hT4ZAMyvNBZb/zWhctP9yB+qst8LybSY=; b=jcZP34vsj/Am+A/e9p5ZdLVvA4/GyACWU0YxxRim24o5hCB+H3wJImuhFv0zOqKFKg cpx8L30Ab/Mnv5hLKgrVP9nkCKOTiPsrq13zg+wuPsYG+ufmUjYYBKS/tlYr127BqMUj Sk8i9EXA3NzlyWBrvO9X755tYrkQaI6MCpcgUW1eTOjcCaXHi/EzAoiwAu+yh1dCRDEz Bvg9V2exB/axIC/qW14gq6l/E55CMg8+J0jy5T+WZKJu19eW600gjAT1LpW0KHejC5Le pPwG6j/W5+C5JcLEltVUxY+OFv3BplRgDa/BcaKuOgcZ9alXYmGUhRDfmjCUPlYzo1b5 BlAw== X-Gm-Message-State: AN3rC/7xhpXbIlG6yw1Gm3LX0LDp5BCztiw6HJd1hAdMpEFCJdTMh8Ar pZ85OjapLb16vt8m X-Received: by 10.55.108.131 with SMTP id h125mr29827089qkc.199.1493147750417; Tue, 25 Apr 2017 12:15:50 -0700 (PDT) Received: from localhost.localdomain ([181.231.62.139]) by smtp.gmail.com with ESMTPSA id k64sm1304600qkd.49.2017.04.25.12.15.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 25 Apr 2017 12:15:49 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Apr 2017 16:15:13 -0300 Message-Id: <20170425191513.5820-1-jamrial@gmail.com> X-Mailer: git-send-email 2.12.1 Subject: [FFmpeg-devel] [PATCH] avformat/matroskaenc: add support for writing Content Light Level elements 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/matroskaenc.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 9c7a213db9..f14936e3d2 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -844,8 +844,7 @@ static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre uint8_t *colorinfo_ptr; int side_data_size = 0; int ret, colorinfo_size; - const uint8_t *side_data = av_stream_get_side_data( - st, AV_PKT_DATA_MASTERING_DISPLAY_METADATA, &side_data_size); + const uint8_t *side_data; ret = avio_open_dyn_buf(&dyn_cp); if (ret < 0) @@ -876,6 +875,18 @@ static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOCOLORCHROMASITINGHORZ, (xpos >> 7) + 1); put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOCOLORCHROMASITINGVERT, (ypos >> 7) + 1); } + + side_data = av_stream_get_side_data(st, AV_PKT_DATA_CONTENT_LIGHT_LEVEL, + &side_data_size); + if (side_data_size) { + const AVContentLightMetadata *metadata = + (const AVContentLightMetadata*)side_data; + put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOCOLORMAXCLL, metadata->MaxCLL); + put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOCOLORMAXFALL, metadata->MaxFALL); + } + + side_data = av_stream_get_side_data(st, AV_PKT_DATA_MASTERING_DISPLAY_METADATA, + &side_data_size); if (side_data_size == sizeof(AVMasteringDisplayMetadata)) { ebml_master meta_element = start_ebml_master( dyn_cp, MATROSKA_ID_VIDEOCOLORMASTERINGMETA, 0);