From patchwork Thu Jun 11 16:12:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 20293 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id AA832449D39 for ; Thu, 11 Jun 2020 19:43:33 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9363A68B5C2; Thu, 11 Jun 2020 19:43:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f65.google.com (mail-ej1-f65.google.com [209.85.218.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D3FDF68B5B3 for ; Thu, 11 Jun 2020 19:43:26 +0300 (EEST) Received: by mail-ej1-f65.google.com with SMTP id mb16so7159663ejb.4 for ; Thu, 11 Jun 2020 09:43:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=jKXYaoc2LmJx9YYbKLGPSVW/H8CKAEd01u7TNMB/QDk=; b=FYE1oj10k1OEXnSv4Q3ad7pcCXIxrAWKBeXeIqyIQBW5HGozGmJGYwGcrombD4TXjH CK8A51fFpjTYemrjuxqiyDj3bXSu1UkrCK8sXVAYknvwNPNX7lzAMGgzcp/huRURBKU1 ZdNG+sXImB5GPrPWD4DDAhUONQFK4D2ifEKNBf2faLA8hGmNkLQf0pl8NgN32SdpZz/8 mFxJd6r/Uv3kHehTT3BWNuHFOGG8CmSFHY+BdKsQUl7b4S9AdNXZJKME9TwZlSOTdYBp jcjgvxnjNI39ICVptOwp0wXNl0cUIb4PRmoI6H0DrOoktLhmYFv5+4sQlLAs9H7jjPnf Afmg== 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; bh=jKXYaoc2LmJx9YYbKLGPSVW/H8CKAEd01u7TNMB/QDk=; b=WE7HNyvVTI+IxTI3locJaR1tbix/7sJ7+vUTLAZXJy/s2yfoKVZ4+3HyM2cMJdE+Jg wCG3pW8L6nYU7a1jimdHqgECHhsq4JyDk8qgBqqLjaoNEol9w6458TE2bW8kQ6UObQU9 MHNrVqOIdLuvAVfsK8+oCh8Nn84uFfnAnOF1zzqbllCmoQywXnlfIo4We8gqx1nVTlfM M9cqUQR/hOfk49ld2MXypPxWQ8aBd+gMsNhTPz4PZyc/MVhFrOcBKD+9Azh9d0y+/dJ8 KoB7aiehNmscEbz6gk8hoBvuxl5HNjAfM1uRGfszMylz+WwVwrQfTiNClnnDCXJ3ibWB 8lmQ== X-Gm-Message-State: AOAM533iINXPY4z4CUsNbWGe0JoUC+oHHeTWtTO2/X3IkJLTDGnygRjG y2c92shZbccs2QzTxF24QpmfQ8VNbWo= X-Google-Smtp-Source: ABdhPJyYLj9qbzmQXUC2lJQsPMfTkEcgSoTdDVCStXH3iRm5aby+WdtqS7oV/jRCgkVii2QfiaBibw== X-Received: by 2002:adf:f205:: with SMTP id p5mr10933090wro.302.1591891957337; Thu, 11 Jun 2020 09:12:37 -0700 (PDT) Received: from localhost.localdomain ([37.244.249.74]) by smtp.gmail.com with ESMTPSA id 104sm6074960wrl.25.2020.06.11.09.12.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jun 2020 09:12:36 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Thu, 11 Jun 2020 18:12:21 +0200 Message-Id: <20200611161227.5622-1-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH 1/7] avfilter/af_biquads: switch to activate() 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" Needed by following commits. Signed-off-by: Paul B Mahol --- libavfilter/af_biquads.c | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/libavfilter/af_biquads.c b/libavfilter/af_biquads.c index 81cdb0c10e..ef28db741a 100644 --- a/libavfilter/af_biquads.c +++ b/libavfilter/af_biquads.c @@ -67,6 +67,7 @@ #include "libavutil/opt.h" #include "audio.h" #include "avfilter.h" +#include "filters.h" #include "internal.h" enum FilterType { @@ -523,6 +524,30 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf) return ff_filter_frame(outlink, out_buf); } +static int activate(AVFilterContext *ctx) +{ + AVFilterLink *inlink = ctx->inputs[0]; + AVFilterLink *outlink = ctx->outputs[0]; + AVFrame *in = NULL; + int ret; + + FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink); + + ret = ff_inlink_consume_frame(inlink, &in); + if (ret < 0) + return ret; + if (ret > 0) { + ret = filter_frame(inlink, in); + if (ret < 0) + return ret; + } + + FF_FILTER_FORWARD_STATUS(inlink, outlink); + FF_FILTER_FORWARD_WANTED(outlink, inlink); + + return FFERROR_NOT_READY; +} + static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags) { @@ -547,7 +572,6 @@ static const AVFilterPad inputs[] = { { .name = "default", .type = AVMEDIA_TYPE_AUDIO, - .filter_frame = filter_frame, }, { NULL } }; @@ -567,19 +591,20 @@ static const AVFilterPad outputs[] = { #define DEFINE_BIQUAD_FILTER(name_, description_) \ AVFILTER_DEFINE_CLASS(name_); \ -static av_cold int name_##_init(AVFilterContext *ctx) \ +static av_cold int name_##_init(AVFilterContext *ctx) \ { \ BiquadsContext *s = ctx->priv; \ s->class = &name_##_class; \ s->filter_type = name_; \ - return init(ctx); \ + return init(ctx); \ } \ \ -AVFilter ff_af_##name_ = { \ +AVFilter ff_af_##name_ = { \ .name = #name_, \ .description = NULL_IF_CONFIG_SMALL(description_), \ .priv_size = sizeof(BiquadsContext), \ .init = name_##_init, \ + .activate = activate, \ .uninit = uninit, \ .query_formats = query_formats, \ .inputs = inputs, \