From patchwork Fri Jul 27 14:57:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 9814 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:104:0:0:0:0:0 with SMTP id c4-v6csp896262jad; Fri, 27 Jul 2018 07:58:41 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdEXWTaY9kjUvqnba4tRBh+NwYg1GdqDO0MuLXMNspoVBORiCrPb0EJdH7lOaF8wbVvDuzf X-Received: by 2002:a1c:c289:: with SMTP id s131-v6mr4952984wmf.65.1532703521687; Fri, 27 Jul 2018 07:58:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532703521; cv=none; d=google.com; s=arc-20160816; b=sfkADAgagVAS7+vqF4iSos1Zmz9ZaVJUZBlox2jQf1bK4ABeSig100h2HGGI1blwj4 vtmygMR1h+QhmbLAFzrppfl+KJDjrIz8L4xVlkGn9gbWx7+epkA1nhsheSvTQD+BG5/q yV4OcpcxG6Qr+Q79oMUDdyMKFj2ab6bz4Jn5Qt9AcGWqjcc04j56uaYE8v9iDWnSx1pI WXktEugAP3sazVhF5jXJGrojV/9UE/EnKsMwBvKfEgrjzZf+V3We/lyLESKMKEDUqrcl 8aeX1Wk2cbMlKPgtT1iP2L/BpZHRmL6lcuhWXYw8RJKgTiKdQOvxszH7Nw6vkzkdS099 ATIA== 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=B3+ez3UM4UuZ8PM/zvg2w23tWlbaHlmCsr+U9JVV88o=; b=nscWee9kJqs2vnRfYYcfUJPWbBQ+ZFLTM5OqAHjHRvTiaMDkIyOFotR17YxqQuxH64 nK6WRaRP1ZEaHiGkDwiDbYRQlHHZkBcC0dlGg3tLOh/qJtBPB4xS4OkGeCm22sniDAda Dg5HprIf3F6MkMDHYxukcZettZg67Tkr1FhclvLGlY/56wzezVZdls/tH//+e4SRXHlP EyOCBcWnS1EP+l9QbKk7sa8HCliwZz+xZ9cIkCvKJaefsnOxj888FF/FlXOo2YK5Uv3h RIQJWoMDAqogLh15ABGsq66rSG7nTSsMOv/HxwXC7R0MGd5uHrD/184yoyO+W+XVXuzf yjUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=kptRXZE+; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f7-v6si3310310wrv.180.2018.07.27.07.58.41; Fri, 27 Jul 2018 07:58:41 -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 header.s=20161025 header.b=kptRXZE+; 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=QUARANTINE 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 9672468A639; Fri, 27 Jul 2018 17:58:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DA4C68A61D for ; Fri, 27 Jul 2018 17:57:56 +0300 (EEST) Received: by mail-qt0-f194.google.com with SMTP id f18-v6so5310871qtp.10 for ; Fri, 27 Jul 2018 07:58:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=zBlT8ZjE6tKiapyTmMqm7L+imQCXeE7oBH8NwBQ+36M=; b=kptRXZE+lq09Lc8ryj/YsBR3KKua0FuxQbFrNjzWhRFqFwnTv0ud9rqsD6HMZiBwpr NEVlXCHLEqaUWnfClO0xdryUon6si50AjhSUjuhRkdWzvuUzh7bMo1g/6CBSOCkpP7oM qTqLvHKTsJd6ZO/F1etliyR+hYy8BvVT8LmcbWEvTdQjn1/hSrccI7NWaGZ+zNhojJPC pov7913cNXNcwPPur+T7GTkaqn1xUj4Z3EObqTznEkgxdp79kVaMJfDQ0po60xFpedPy Ylgxkn8UnSSXxxKsd/tnNP9zt9H7OhSNDT3Bhkzp1rW1U3T5uZ2NqUjCAS+PNBkuqkP9 qKsw== 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=zBlT8ZjE6tKiapyTmMqm7L+imQCXeE7oBH8NwBQ+36M=; b=rQDx8JcYPztI7GrKizWdZC0dsr14mrIzcSS6EhjxSLqdg62+kpIE3BdcM01Oev4FMC Eq1ju6m84QucaI/EYtHyFit1hFtfQ/jiG1bi8uUNNH6f6iy5XWre/cgykkx2aOWxhSdz dvON4+ZZUNA+BjBwuKMWFgaDdpAi9ghptGIDEHXKg26GmwuB1pUtdyh55dIRkbeDivnv 0j0uj+XWdldNbOwS8/+6vfwi4gxCsvUAnRccLy6rBzpoz5cWaCBKcpB49vXpWdgkCjbk PfhUjLS9VXVqpbvNQLeWw2WnmEskIhSkku7b8dRAom/Otmnc7ZchGO7CfftgoSD2dzjK HtaA== X-Gm-Message-State: AOUpUlHOy04w6hqU2q2Ahg+08Xpl5zJMCo8oEQBcKjePto6vtOyDDqeP cMPwmMz0RBHGfKVrW9QokZAYo3R6 X-Received: by 2002:ac8:1b4a:: with SMTP id p10-v6mr6395725qtk.221.1532703490800; Fri, 27 Jul 2018 07:58:10 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id f63-v6sm2951731qtb.64.2018.07.27.07.58.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 27 Jul 2018 07:58:10 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 27 Jul 2018 11:57:45 -0300 Message-Id: <20180727145749.9436-4-jamrial@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180727145749.9436-1-jamrial@gmail.com> References: <20180727145749.9436-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 4/8] avcodec/vp9_superframe_bsf: implement a AVBSFContext.flush() callback 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 --- libavcodec/vp9_superframe_bsf.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libavcodec/vp9_superframe_bsf.c b/libavcodec/vp9_superframe_bsf.c index 52569ab097..ea6750750b 100644 --- a/libavcodec/vp9_superframe_bsf.c +++ b/libavcodec/vp9_superframe_bsf.c @@ -189,6 +189,17 @@ static int vp9_superframe_init(AVBSFContext *ctx) return 0; } +static void vp9_superframe_flush(AVBSFContext *ctx) +{ + VP9BSFContext *s = ctx->priv_data; + int n; + + // unref cached data + for (n = 0; n < s->n_cache; n++) + av_packet_unref(s->cache[n]); + s->n_cache = 0; +} + static void vp9_superframe_close(AVBSFContext *ctx) { VP9BSFContext *s = ctx->priv_data; @@ -208,6 +219,7 @@ const AVBitStreamFilter ff_vp9_superframe_bsf = { .priv_data_size = sizeof(VP9BSFContext), .filter = vp9_superframe_filter, .init = vp9_superframe_init, + .flush = vp9_superframe_flush, .close = vp9_superframe_close, .codec_ids = codec_ids, };