From patchwork Tue Oct 3 13:15:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wm4 X-Patchwork-Id: 5398 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.61.8 with SMTP id n8csp2712619jan; Tue, 3 Oct 2017 06:23:11 -0700 (PDT) X-Received: by 10.223.163.148 with SMTP id l20mr8134180wrb.73.1507036991594; Tue, 03 Oct 2017 06:23:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507036991; cv=none; d=google.com; s=arc-20160816; b=rSAyL3+xFz84dS0sWeVmElxRlpydsDqg6W9OrFL/37CZ7nO3ymZ7oL8xn3SUEnHtdL L6f0uQFezo0kPdZeYkdS9ncGAg6LSAJ7mDHSJYVjFO1BPWFORwMDAFh1StxkHV8b3P2r QwzYa1LYzfhJRQ8tfaM/0Ms3DNEj1M7+n97ytJv+Klq2Khqdr8Hz7psNy97djMKk401J wSLxIFuBnOdwg/2tvZla481JckAaK6F0lHilgExWR/T6WgKYR8YpTxicaOpU5eMRbGhj ehPGE+SfFold8jW6UejQq/CNDQJPoFxhAB6/8JHODGHmJgGEN65X9CUMjPtnr/ohOeWx 9OFg== 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: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=93lBudd4xug4kgQwXXplkmYFTR2MNhjFMC6zB3I6kDg=; b=oVFrFQVVsR27wxRJfqlR+mnwuhU2m7A+zIfJyGQhqedPV2LNLRcB2Q5/4Q+/Ws6U+p hmTcSR+tpkIZK4kIrz6iD9h9UbaBE/kZGbEf+pYj/dp5EDQN5ksi2MJ3BKY2R3/OeAdV 8lTxltnb5gcn+hc8NCGkV/VT2sjeuu6XBzzlSSBAWZrTIhtUCbFM/T/frLEU8hH4NQoW qYkEXQl252FoJocJpO+YfBG+WE17qVKkTDFhsRWUe2xvmJBDHdSA306Nq76ewfVIw42g DN5YQh9fooDBclPfd+JBF12qQVhKYzj1XbQaFOpk/MHq8hMq8Las8JXLzB5DYUzXWw1i ha5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@googlemail.com header.s=20161025 header.b=HzxnXzNV; 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 a84si2936902wmc.144.2017.10.03.06.23.11; Tue, 03 Oct 2017 06:23:11 -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.s=20161025 header.b=HzxnXzNV; 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 CA295689F95; Tue, 3 Oct 2017 16:22:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f46.google.com (mail-lf0-f46.google.com [209.85.215.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B6CF8689CFB for ; Tue, 3 Oct 2017 16:22:49 +0300 (EEST) Received: by mail-lf0-f46.google.com with SMTP id q132so9682226lfe.5 for ; Tue, 03 Oct 2017 06:23:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=RpUmHRuHfA/3LRtKWNR8L6uc42GkOXPTH6fE1u+3L4A=; b=HzxnXzNVMhWTVO4V7OvSuAYuZxc6tL9uvIUofQymI4uCp4ESGuhzOneyR3lEMOQN/W DlruEGP3rTq+3OqJfhIsNeTuqMaETAaVmjvECaa46B18CxE6OBvgcXm4ywkIHJwwjTnP iZdKLTyA+5rR1O7IgCZbZOhHErpsA2nGfkO8LvR8ISfaEZuWYLq0UDJZfnXFSM7CF6Hj OzouHPWtcyKWcxrbg4uXjESzpHf7QV5e3vkTBWt66Mn5/IDpUooBk7YL4TaBU3eluPqG 4XdivyCt220JucPoQr7TpAHZ3MxT7w2EPbCXlR1YgeUiMsSIeJpEIsIBiEJHL2VSKPwI qdzA== 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:in-reply-to :references; bh=RpUmHRuHfA/3LRtKWNR8L6uc42GkOXPTH6fE1u+3L4A=; b=jB0zLLNhI5+iirVyVucnJR3ChG6FKzVdz84vH3hwCvBZ/JDvEFqyrPV4ps8ukgIPo+ eiYv1SORtLvGFRBaFItPXNS2A1YeC43f6ErqQr+aOd9HHtNCZRRE5ao0WY8gJFXQzvr7 50scL2vUS75ZrLl1bCqr1J58aUC4Jw8Wp2ty4sodXyziFWal5Z0R2PIR705yxZIcb+Dk nJxMeLiVPY4GWqWRwdatyrVjifKO7NONLJOP8iwHyjvuX6kg7PCwZCCR2eLZO/2DWtj4 DecWgCkonSd3BSXqI2xxw1BoSf8zgfm8u8hFdHmJxfJjWYAfYqrbb4Q6TyvZjbEpq2QC qE7g== X-Gm-Message-State: AHPjjUh3biYiA8ZHkf1v6L4bjlgfU2gYfqjMZEN3Q65FfbjFV7RUE4Nu BozoT3Df4Dz6PTjnV7i5LwajIQ== X-Google-Smtp-Source: AOwi7QBWVAlZX4J45As1Sua0kaxtEOzQfxH8X+F6xoGUlJFow1p9WfDuIQCehXyJadUlKdZufJQrvg== X-Received: by 10.25.221.29 with SMTP id u29mr5204761lfg.80.1507036500613; Tue, 03 Oct 2017 06:15:00 -0700 (PDT) Received: from debian.speedport.ip (p2003006CCD5CDB6820D8428BCA02F6C5.dip0.t-ipconnect.de. [2003:6c:cd5c:db68:20d8:428b:ca02:f6c5]) by smtp.googlemail.com with ESMTPSA id 6sm2892024lju.45.2017.10.03.06.14.59 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 Oct 2017 06:14:59 -0700 (PDT) From: wm4 To: ffmpeg-devel@ffmpeg.org Date: Tue, 3 Oct 2017 15:15:15 +0200 Message-Id: <20171003131518.4557-5-nfxjfg@googlemail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171003131518.4557-1-nfxjfg@googlemail.com> References: <20171003131518.4557-1-nfxjfg@googlemail.com> Subject: [FFmpeg-devel] [PATCH 4/7] decode: add a per-frame private data for hwaccel use 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" From: Anton Khirnov This will be useful in the CUVID hwaccel. It should also eventually replace current decoder-specific mechanisms used by various other hwaccels. Merges Libav commit 704311b2946d74a80f65906961cd9baaa18683a3. --- libavcodec/decode.c | 3 +++ libavcodec/decode.h | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index a2d3d6a3d6..668ef9667f 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1649,6 +1649,9 @@ static void decode_data_free(void *opaque, uint8_t *data) if (fdd->post_process_opaque_free) fdd->post_process_opaque_free(fdd->post_process_opaque); + if (fdd->hwaccel_priv_free) + fdd->hwaccel_priv_free(fdd->hwaccel_priv); + av_freep(&fdd); } diff --git a/libavcodec/decode.h b/libavcodec/decode.h index 7ca0a2799f..ab5260e641 100644 --- a/libavcodec/decode.h +++ b/libavcodec/decode.h @@ -49,6 +49,12 @@ typedef struct FrameDecodeData { int (*post_process)(void *logctx, AVFrame *frame); void *post_process_opaque; void (*post_process_opaque_free)(void *opaque); + + /** + * Per-frame private data for hwaccels. + */ + void *hwaccel_priv; + void (*hwaccel_priv_free)(void *priv); } FrameDecodeData; /**