From patchwork Fri Nov 10 21:40:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 5991 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp3884308jah; Fri, 10 Nov 2017 13:42:10 -0800 (PST) X-Google-Smtp-Source: AGs4zMYAk/MqvLVO9cHOjABPc1dS0V52ZZKmC7Vk1sqtHyZKAcvFAIV5py/fYzqSVxM7N36NCO9P X-Received: by 10.28.93.200 with SMTP id r191mr1191574wmb.141.1510350130326; Fri, 10 Nov 2017 13:42:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510350130; cv=none; d=google.com; s=arc-20160816; b=xwBbI/tWjgV9PP7QaDNRT6j2mZO+qAo0tHX2o0xl270jhHKD26qxmaYN5vnWnW6GBV rDKR1WZaRQigKe/tQXloLANWe4qnC3bywAas7HIDrrYLIvbNJhLttABfomcZytCi69az f0g+HHTO4kuUx9NJnBLSmZB5afDGHUld1f8RmPWhsf2YCGyMVjBvFSOq1BcS8lhDk0/K gpMWQEkBt/8xddXIxAkNFVr3E+5kGkQmwWb8WYB0K2AG/A4fsse1TaeyJrGWwJMit2mp EiCQbfSBZLnT6PbcazGHjfRfId1UBe0xTp5tHd8WlLx8/UoniPFJj95I1JDF/cYQ8Gxh jf0Q== 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:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=6zWN8i4+FjBLcS35b3sIO9CDNNfTqbAjbhBVXFLls80=; b=P5G0Htl9WPhhkSSpHTv6qhdQtt5VC7igSR7hmO7bjc/qMD8ZVkIqFfNruublTSinB3 dsXAKDW2MJENAHUqclAy3NvKhfS8zPHurxoO2Klmi2ysPiPuBsGf8lmSzKcMtAdaslNl 9NsDdQHCk1Fs/1d+1olrnhsCZHvx/xbWA46Oq2H4ZxeyCAhwi7zO5Bctxq2tU+ZuAOc6 UjI/EAePRvyj3TXD0mB89ZY/7DErlIb/qPb5H219AutitzvWMk5hwDpPTsBsWBNfzgpq 5WQoMx+ksbG96QTQF1LHbnrjSA6NdUb9DxprG3Kl+z3Kysbvl37jFTUffybEsSE9yLJd Q4xw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@tmm1-net.20150623.gappssmtp.com header.s=20150623 header.b=mw4+5K9C; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p19si2655770wre.405.2017.11.10.13.42.09; Fri, 10 Nov 2017 13:42:10 -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=@tmm1-net.20150623.gappssmtp.com header.s=20150623 header.b=mw4+5K9C; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DAEEE689F21; Fri, 10 Nov 2017 23:41:03 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f173.google.com (mail-pf0-f173.google.com [209.85.192.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8DEFB689E77 for ; Fri, 10 Nov 2017 23:41:01 +0200 (EET) Received: by mail-pf0-f173.google.com with SMTP id i5so7551163pfe.6 for ; Fri, 10 Nov 2017 13:41:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tmm1-net.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=FLnX696ATiaIlPKFQfXsEns/oLYreh31rFEAtF4Weh0=; b=mw4+5K9CnDR91CifgMv1ukh6gCXEgn6NwgNIWC+gGAJbCQASqIx+0B/VikFt4OOvMP UCk7pAp3BurPZR4Zh3epGZZ7w6DNF+AEYdtSE3ShgBqFP3UWKQTWWEMeSHy0qOz/ox+d 1wAXXE+sZElb6iO2J+dkGfkxoH9rEboG2qRBKx/4wzgb2wcuwRZmbDjW/+30IYM95fmA MDi/JGXStSe9I62wY0yVVlSTduImObkv1lM9NQCtX9i6febyZuSleReWjBHMBzJyl2W8 KOSBvoRSlA4Wbek5AAbE+1woq+xA1h11XLoLUdXJh+FzjSwkirokN8fVJE4h08FsA2kp WlCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=FLnX696ATiaIlPKFQfXsEns/oLYreh31rFEAtF4Weh0=; b=drxZPNdazoFdL4CtD2Bl62Vq+NINb8wnBk55NDF6bl3CfYXxqalJZInx6c24Ot4jXj Ex6uTWGUVSYMJwiG3sCnQg6Gnqq9JT6nEK9m40mcLj516byld1/QaIQ0T6b1XhVUc7RS 1IRO7zuNG7dptjGdjUbuLl7CrCVs39kHZJZuflDzRqjNYP7G2Fxx68VeiKlwQeZ4F27u GdQCtJv6fgjxZIZ1nVUS1SQ5JuKcVLfrmH7L+okHiwPOlnStqtclqpPOv8MpWUJ4IC2Y qylPdc3UScgXOjRt55J/dV8YGksc4bS1d8GJIG9F3Nburu/OymyAo26MqXGZFkQSA12t bhIg== X-Gm-Message-State: AJaThX45lgoQYM54y1+WxateRZF4F3vfqJsmHh3F/CtuEXSMzPMehBrQ SDm9PNk/ljlaZnJ/+iDvXzFtLH4H X-Received: by 10.101.77.208 with SMTP id q16mr1660342pgt.146.1510350073478; Fri, 10 Nov 2017 13:41:13 -0800 (PST) Received: from tmm1-imac.local.net (c-73-252-174-83.hsd1.ca.comcast.net. [73.252.174.83]) by smtp.gmail.com with ESMTPSA id 81sm20734554pfh.145.2017.11.10.13.41.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 10 Nov 2017 13:41:13 -0800 (PST) From: Aman Gupta To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 Nov 2017 13:40:56 -0800 Message-Id: <20171110214059.84891-11-ffmpeg@tmm1.net> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171110214059.84891-1-ffmpeg@tmm1.net> References: <20171110214059.84891-1-ffmpeg@tmm1.net> Subject: [FFmpeg-devel] [PATCH v4 11/14] avcodec/hevc: implement new decode_params callback for VideoToolbox 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: nfxjfg@googlemail.com, Aman Gupta MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Aman Gupta --- libavcodec/hevcdec.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 675025b211..501ee6a55e 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -2816,23 +2816,55 @@ static int decode_nal_unit(HEVCContext *s, const H2645NAL *nal) switch (s->nal_unit_type) { case HEVC_NAL_VPS: + if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) { + ret = s->avctx->hwaccel->decode_params(s->avctx, + nal->type, + nal->raw_data, + nal->raw_size); + if (ret < 0) + goto fail; + } ret = ff_hevc_decode_nal_vps(gb, s->avctx, &s->ps); if (ret < 0) goto fail; break; case HEVC_NAL_SPS: + if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) { + ret = s->avctx->hwaccel->decode_params(s->avctx, + nal->type, + nal->raw_data, + nal->raw_size); + if (ret < 0) + goto fail; + } ret = ff_hevc_decode_nal_sps(gb, s->avctx, &s->ps, s->apply_defdispwin); if (ret < 0) goto fail; break; case HEVC_NAL_PPS: + if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) { + ret = s->avctx->hwaccel->decode_params(s->avctx, + nal->type, + nal->raw_data, + nal->raw_size); + if (ret < 0) + goto fail; + } ret = ff_hevc_decode_nal_pps(gb, s->avctx, &s->ps); if (ret < 0) goto fail; break; case HEVC_NAL_SEI_PREFIX: case HEVC_NAL_SEI_SUFFIX: + if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) { + ret = s->avctx->hwaccel->decode_params(s->avctx, + nal->type, + nal->raw_data, + nal->raw_size); + if (ret < 0) + goto fail; + } ret = ff_hevc_decode_nal_sei(gb, s->avctx, &s->sei, &s->ps, s->nal_unit_type); if (ret < 0) goto fail;