From patchwork Thu Jun 29 13:37:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wm4 X-Patchwork-Id: 4155 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.1.76 with SMTP id 73csp4535606vsb; Thu, 29 Jun 2017 06:44:14 -0700 (PDT) X-Received: by 10.223.152.130 with SMTP id w2mr23393695wrb.118.1498743854596; Thu, 29 Jun 2017 06:44:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1498743854; cv=none; d=google.com; s=arc-20160816; b=sJtEQfq6fpQD0sHZ3tjBZzUyUeca7eEW0p/518PEBBcPyj/STIBiGzleQP8ActUwXd De9T7Yy3M94Yzut6oNnUz7RAN1xLq14pbwPDtrfzdGbAtYTS4WYPN0gg7d/Z9zfiqvtx ZcU1f2zt3znmUWLtBxiEmjjtX1NobhE+SywoCxQgZToM6WkaTVB37TGvEkGMHZJ7J6Dp KElHmkpZlTdt615PrNGS5CBaOyZyLqJoQ7jjqwTO3fFtKrel1+sT25/fa+diq6Nu/Vta MY4nxxuBsmUnOXrsrZeQluUcITDXo+b7rEoSsmyRkO5fVvFW+6biIWs+kiKuJHOx7yoX +HvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=HVM4UOiqU7uLc9b/esjkMUNx4nOxPolm94MagXGiCB0=; b=zPa+1Ogki9LiaHYlUw/EOgwMj9GjxpLBbuSjyztc4lb9RaE9NpEO46TLfRgMwiZL3a OVpJlH4o1rYGVOHXC3HjCsBZxlrwf9ZfEuPTw8age0dxlFnEoKhqFjaWjoFSHM2wPKGs wyB2YO/N7mNzqxMuSBXhMoaI1nw47RhDjicBLwiOcWh2O7GItDyBr/NZWXiVTR0zrngm eqzyGTTSFGMe4dzXj0S+pSbouDmxuiA0QsrvLs3rH84aKkYRaJXqOHGSmh4IHn54TPho 9wB9mCbpMx/MSZF+OAbJRodrUAKCGUUK41pyXA4YH+PRKaNzG9bltOWiZaQYW7mTqmfb gKUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@googlemail.com header.b=CDM5YVCl; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 77si1258079wmx.59.2017.06.29.06.44.14; Thu, 29 Jun 2017 06:44:14 -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=@googlemail.com header.b=CDM5YVCl; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0F3F689E9D; Thu, 29 Jun 2017 16:44:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6B138689A6B for ; Thu, 29 Jun 2017 16:44:05 +0300 (EEST) Received: by mail-wm0-f54.google.com with SMTP id 62so82977621wmw.1 for ; Thu, 29 Jun 2017 06:44:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=DFs9eG+vZ/XiLgZWVE6q+Y72bUbTIzoRpsc6DuKV9r8=; b=CDM5YVClFCXkc2VxBLt4VkSt30yln2Ymxwhc6OZmmNZnYITYitRWtAqF9g2MpeuD9q +BmUmgkrAtyqwNDrJgdm35YNqUCwq0oDW9EWWVuEzc2PYM7+anAOfLY4NSgXMXjvJesx K5xl0ESmTr86QvM8QPFkjksJnei8O2oOeT0DIawIRsW+V76KGAGpkeBgllw7GWQXDsWU gkpqy4yMXK2JmN1x0DhPQZGn4h0X3QAeFLFDwrMQilInXs8p2jdqvYcdNp3lHWi3cBIw llQ6U3Fn/ovHwgBd1G5MMHNrxBIToGPHfjIbNvHrg7W140DQZiXY1z1XO/tsCAvFrDCj xf3w== 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; bh=DFs9eG+vZ/XiLgZWVE6q+Y72bUbTIzoRpsc6DuKV9r8=; b=O2UbRPfR5IxgbdlXzhlrSzZfTHu/HLgYUIY4DBFFjOXVT7y0RchXul9xJZl2nj5JWB qwLPMuX6V32t3UZl2Pg2l/VSH3JVmDuHjnTNyEG5/01y07da4ybHPTtc/74HqSYEi9vU qPEzNf93slcVw2VkDAVbwBPgwOYoffNc1t0MjzOWkNY0OWpxw8N31wnKNyUwYRU+Iax/ /wK8nIeDofLo5paq2aP2Ih/5BdloKDmMmzK5WIxaRzKWsnTYhN4v6E4Hh5B/kbhJsiQI 1bP0IJfU8QSEldpw0H7VvLXAm0SeSEAwANScS84PRmn0Z+fiA6TAoui/d/PWLuax0r4X iwSw== X-Gm-Message-State: AKS2vOzEPUV09DwauaEu7RQkSzIqIRZ7sPgGTI16HdL9QGG+mEBRgReL flgNRTqT3L3Ekve2 X-Received: by 10.80.170.23 with SMTP id o23mr1820979edc.164.1498743411924; Thu, 29 Jun 2017 06:36:51 -0700 (PDT) Received: from localhost.localdomain (p4FF002CF.dip0.t-ipconnect.de. [79.240.2.207]) by smtp.googlemail.com with ESMTPSA id g38sm514758edc.7.2017.06.29.06.36.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Jun 2017 06:36:51 -0700 (PDT) From: wm4 To: ffmpeg-devel@ffmpeg.org Date: Thu, 29 Jun 2017 15:37:16 +0200 Message-Id: <20170629133716.13688-1-nfxjfg@googlemail.com> X-Mailer: git-send-email 2.11.0 Subject: [FFmpeg-devel] [PATCH] hevcdec: properly export some side data with frame threading 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: wm4 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" I noticed this with mastering display data. If frame threading is enabled, this side data is exported only for some frames. It turns out it's not properly propagated to the worker threads. I didn't touch A53 captions, because that involves memory allocation and freeing the data as side data is exported. --- libavcodec/hevcdec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 3b24fb9bec..cc8ac82164 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -3355,6 +3355,12 @@ static int hevc_update_thread_context(AVCodecContext *dst, s->max_ra = INT_MAX; } + s->sei.frame_packing = s0->sei.frame_packing; + s->sei.display_orientation = s0->sei.display_orientation; + s->sei.mastering_display = s0->sei.mastering_display; + s->sei.content_light = s0->sei.content_light; + s->sei.alternative_transfer = s0->sei.alternative_transfer; + return 0; }