From patchwork Fri Nov 10 21:40:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 5975 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp3884193jah; Fri, 10 Nov 2017 13:42:00 -0800 (PST) X-Google-Smtp-Source: AGs4zMZZE/opmD0Qvxu/sGEqZFuDqDapn4VowWsUX3PmFrE9GNuEax7pNBvn+75/243XS+3Xvd/Y X-Received: by 10.223.160.230 with SMTP id n35mr1546222wrn.116.1510350120769; Fri, 10 Nov 2017 13:42:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510350120; cv=none; d=google.com; s=arc-20160816; b=FrxVN4WzAOQ4/FTU/RQapnrLyV4qPWYVnNkuBfj/Iba4KqUEMwzJKHHH+jIh90Vlan z8PDgVRWjNQH6b9Vqiw9Hls8Z5SZCz+5+NoaDZPZxURmSbAjHW1fLz5Rr5rVR7heeK2d NjbnxcbX5jbzwBJ6ykl3UZxunkcERCzOmklmvvBspsSGguXbxAaih3bcyiNuAguwgo7A fLuzOmJQB8VDP2W7PkR8+RSQanbjw4wnz6ZaLiNsT61Py4RIrtl8DI2qE0FakQjkDto/ CtTcmPTyaOtN2Wr3Fke2ctJfd8XCBvisTHkC3uWkb2abS0bTGJ9N5fukM0gv+/ygGWsH NgoA== 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=9sVOb7zs5pWrul9y/2MYuzcE8JsDOW6G3AlnEWeiLeg=; b=hn5PXbNu7yNl9bBk5yczpb/mn5VZSSjD53WOewSHZWPH+TebuWdLNM04YgXdkO3rrZ wFClwEGygvWiwCansjPEru2ljcSuMGqoRo0EX8x5llBCGKl9fxbBKyqoxugLcxZKYotk w0T48G8/vncnLGB20kfIwWkLADSQmpCVBXf45vyvJuHhYtl/5IvX/y2hcXneqhVTcuW1 iNBs2YtfIyvdUSdmHzXgsmBeYJ448EAa3kKCwL+pMcOw0TdlSRyOoCC+teLrNy8HjmzJ J1vNCXRWAIWm7yFGRviQ2xOM/NpCrwTTbkKGEBv/HmN9+XT7ikBTPO9zMicrYjIquvIJ rgAg== 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=eRYbuZ3f; 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 f66si2004416wma.15.2017.11.10.13.42.00; Fri, 10 Nov 2017 13:42:00 -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=eRYbuZ3f; 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 59F48689EFE; 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-f180.google.com (mail-pf0-f180.google.com [209.85.192.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3B0E1689ECF for ; Fri, 10 Nov 2017 23:40:56 +0200 (EET) Received: by mail-pf0-f180.google.com with SMTP id d28so7555417pfe.2 for ; Fri, 10 Nov 2017 13:41:09 -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=VmGOWYhW9yoNvqxr81qR9bxsLNBecKZWPNNfNKNj/+Y=; b=eRYbuZ3fN6nwdso9J05u7xwOccIawq0urMG05QMFEu9QpYjsggMIlexTHxUvUZcnPV K3zG0KamT3SG4xtosaddq3uF1XxH1DH6S1livuNf4SLybDeDEq1Gu1LRQ++/UB7x5WAi bS/3MGWmLT98Xr0CefeDIZnAIT/0ZuQDttuI8EEpyO5zzWZ9Qf4uJb+0U/yyEp5SuiQj BH7AQiU/wM2Ke1Kg7TeGbWO8A2hLsHKXzdZKxHD9rM7h8187oFKgfOAFwLwwSMkq2UY5 qcRXjR1qenN26eBCma3O1qlpu1Obz4gvSyEja0w5jeU+40CPJAWwbQBBGjYjte4u+OW3 wugA== 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=VmGOWYhW9yoNvqxr81qR9bxsLNBecKZWPNNfNKNj/+Y=; b=SWueP1+xsdUuEDK/GFIhh8nawINbi1KAcaKLd9Lh4BNST5zCAqz0b7hAu+Zjq9y+zC dqkBkSXds38xtNogyAfyWC6yFjM12YDjBZbOlH2WodBBae1v+xnSxUvY+1uSMT1TMw0l dkCDhTQ6luxTNCrKu/8K7GkEw70fetMc6il5NLFmCkwPAhcPfrQAu5N53OUhClnM8EJw SCW1WM2qaQepOmsABbrDh0IeM6v8nsrqMzt8KaUD2ux+1/UQw3sFRXvpAxNXpk6e6AA9 Khr43tNtGnjy3W0/KLnHLqwixeJ8V3yvPq9OcdV/0OMlnZWpb1+F3PmGfMDVAnuggS0B gpSg== X-Gm-Message-State: AJaThX46xn3+o3kfIInTXT+AbWGu96GoZFH8aAnaN/nxj78mcNGelmoU 5slZxEQAsToRaPkInIBWSQ5Iw+jI X-Received: by 10.84.225.145 with SMTP id u17mr1706920plj.105.1510350068346; Fri, 10 Nov 2017 13:41:08 -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.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 10 Nov 2017 13:41:07 -0800 (PST) From: Aman Gupta To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 Nov 2017 13:40:51 -0800 Message-Id: <20171110214059.84891-6-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 06/14] avcodec: add decode_params callback to AVHWAccel struct 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/avcodec.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index c4134424f0..2bd46faa50 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -3459,6 +3459,20 @@ typedef struct AVHWAccel { */ int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size); + /** + * Callback for parameter data (SPS/PPS/VPS etc). + * + * Useful for hardware decoders which keep persistent state about the + * video parameters, and need to receive any changes to update that state. + * + * @param avctx the codec context + * @param type the parameter type + * @param buf the slice data buffer base + * @param buf_size the size of the slice in bytes + * @return zero if successful, a negative value otherwise + */ + int (*decode_params)(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size); + /** * Callback for each slice. *