From patchwork Thu Jan 28 14:48:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 25230 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 8470644B62E for ; Thu, 28 Jan 2021 16:48:34 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5F6C368A68F; Thu, 28 Jan 2021 16:48:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E6DF5689E53 for ; Thu, 28 Jan 2021 16:48:25 +0200 (EET) Received: by mail-ej1-f51.google.com with SMTP id bl23so8161465ejb.5 for ; Thu, 28 Jan 2021 06:48:25 -0800 (PST) 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=w+3lmHQukRpFCm152XsqyUyGlArA5bsYrtYFWy5H9AM=; b=uelGDvUEvL5BApmWVnx/rA/CGr4ZS1ur+Ga2EK55/k8azqTUcclptlPqo2nR0HyZPP zpAWJ7pS3gZACPlkNY5fA5aPV0jwBo6ec50/461AUheZRqVyrOoTfjFjAEVyyH5cMXOn mF1ZR7y9L3WZTkr//kzi1/bzBgH1eTZVmPkSZKuinqbF4cP19/CbXZNPw3bt2pjqONsc x0LCkSYrMeWuZcKRBsC8luSAdTgg5UYS7N+YoriPYa2PRUUPXmMviT4sEUg/FIvjMIgn OjWTMXp319Ox5pWWQhskhG6jOjDXcwJbdBLOizBOBu2D523/gCpYfby9Jg8XTf1fcyUY zQtw== 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=w+3lmHQukRpFCm152XsqyUyGlArA5bsYrtYFWy5H9AM=; b=firuux+XeXh49QfOel333T+EqmYWA+moPCIsP7i1euxrhEzF5fDU/yGJhE4SboOAac E/34gR9O/rqgXbRHHNCtF9b/dIGlROFhE3mWuU0LeVrLroiK3qWF/fxWcBknSJqnFuy8 d917+drJqkijTFrcs6jjF9DrC3rdo185APVqnd4WZxDKP7NWqUrWyHfPGAQlpxBl1Csf /rphaP3BANgpJktuEwJ2oZwOA/GWhVuVBb+amXWIzTasKq2k2FdTC8Yr81t2L1Q6kxP4 40N9GoL5TWAQ/P/MizyMewIu9XeXSkDNebrcJ127WPkQm4q24fuJIthmycpu4blGmBhO dzrg== X-Gm-Message-State: AOAM531KTSCHJKEJf5ykzirlG7K+JUZDa4fRldFD+s8fKJ4BSkXbj5/R okjnYRL3mSM2b+rQLuuUD6cZnQxMSYMbBQ== X-Google-Smtp-Source: ABdhPJxPuSZzEUlSwgH4DEMkF6MX4e7aRkXxEWz2+yhzYKljHepwP9Hcs31ty4BEWy4i8M+cHChN+A== X-Received: by 2002:a17:906:eb46:: with SMTP id mc6mr11580853ejb.184.1611845305498; Thu, 28 Jan 2021 06:48:25 -0800 (PST) Received: from localhost.localdomain ([31.45.254.141]) by smtp.gmail.com with ESMTPSA id di28sm3112293edb.71.2021.01.28.06.48.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jan 2021 06:48:25 -0800 (PST) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Thu, 28 Jan 2021 15:48:13 +0100 Message-Id: <20210128144813.4919-3-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210128144813.4919-1-onemda@gmail.com> References: <20210128144813.4919-1-onemda@gmail.com> Subject: [FFmpeg-devel] [PATCH 3/3] avfilter/vf_pseudocolor: add support for commands 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: Paul B Mahol --- libavfilter/vf_pseudocolor.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_pseudocolor.c b/libavfilter/vf_pseudocolor.c index c06edc1812..014e90b00b 100644 --- a/libavfilter/vf_pseudocolor.c +++ b/libavfilter/vf_pseudocolor.c @@ -737,7 +737,7 @@ typedef struct PseudoColorContext { } PseudoColorContext; #define OFFSET(x) offsetof(PseudoColorContext, x) -#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM +#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM static const AVOption pseudocolor_options[] = { { "c0", "set component #0 expression", OFFSET(comp_expr_str[0]), AV_OPT_TYPE_STRING, {.str="val"}, .flags = FLAGS }, @@ -1346,6 +1346,17 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) return ff_filter_frame(outlink, out); } +static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, + char *res, int res_len, int flags) +{ + int ret = ff_filter_process_command(ctx, cmd, args, res, res_len, flags); + + if (ret < 0) + return ret; + + return config_input(ctx->inputs[0]); +} + static const AVFilterPad inputs[] = { { .name = "default", @@ -1387,4 +1398,5 @@ AVFilter ff_vf_pseudocolor = { .inputs = inputs, .outputs = outputs, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS, + .process_command = process_command, };