From patchwork Sat Feb 12 08:35:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 34257 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:14aa:0:0:0:0 with SMTP id bz10csp3905316nkb; Sat, 12 Feb 2022 00:34:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJzB6krHCJDy4rxA3M5HdE+wGdjTbnFxBla62c0GvyuL06CSVEZtimJiQ0HGODl8ebGlhsCD X-Received: by 2002:a17:907:3e8a:: with SMTP id hs10mr4222771ejc.112.1644654874292; Sat, 12 Feb 2022 00:34:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644654874; cv=none; d=google.com; s=arc-20160816; b=zB2llAUExgjGRJxulcR/7/zppH/BhCT/eRoXkgF/Lm7LexIrnjm6z/09jKdk+qZRUJ /V+JAUpDTMxz/1DMY/+AAFof8+N9F3wcDtLQsiYaSeE3c8M1gqKfLdpP6HnEZ5ZhitIS udF+rJwuS0Ltgp9nwh2X0FOhn+HAh0dqmLAOy2F8yCU2fjNFJaJyG7dAlZ0cSmc7Z6GP Yp9tJMb8Awf9EPoq/s1xtrpibiCH7XqcU8QbUfu6ZragKboDjFZVB1NOm7QfDCVVfOa+ lFaLokuDJeg6mvYOFqRa6eudgtP6aU0GNFUAsLKnHg4UkidHcmG0Tmq34jROiqLyYnPd VIsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=fxcuKRNHrNt79R6NIO4jsXmpkpNDscDwUGRNMFbs9qo=; b=iqDrY4V/HIXT0p9EbqFv5B23wwmUdC/bxs3JUjG6rN8Q4+tiDlU204g2w8Jx2nVXwo Kk9t4CU8qFHFoth1B/zY01mUDQHtgtqgaEwbyivPZYvxKH57fDvtw4qv8vFEkmWrKv2E kDQxltbIIhOHJzjgpg4CcfNb7IdERVnxWAy943ZDFHKTNBSUnJKAzO1d9xUZmQYyYVNw ZMEZ0jk5S/o+ujFFPu/txqfYaL6cm5dfc8rWvdOTnQ/ALdvWSCOtrnJsotu3ZBGxzNgo XNVPnWYuq+V0/TsTV/3BwgQWzGqcemUK7tU94gXmg9YBiWsJGrk3b9a7lgv4GIawG2XJ Usxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="pa/cT6Ie"; 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 4si15511159ejh.192.2022.02.12.00.34.33; Sat, 12 Feb 2022 00:34:34 -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=@gmail.com header.s=20210112 header.b="pa/cT6Ie"; 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 26DA968B284; Sat, 12 Feb 2022 10:34:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 492B068B1C2 for ; Sat, 12 Feb 2022 10:34:23 +0200 (EET) Received: by mail-ed1-f41.google.com with SMTP id cf2so19589341edb.9 for ; Sat, 12 Feb 2022 00:34:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=cvkqfoJ56fcno11hwSyTvuAuLzyOPDT8ZREOIPWdaYc=; b=pa/cT6Iem5mSTS7r+k5v/XHosI2BEBEBV2+CH7l4SbHaAuvyF92gdClXliqXts011v +Yk9pFfydSP6h/nVUvmg7mXCH97w4jsgv/Qm+yOZDZC46e8njCqPw/IH3+dE4i+r1GBV DZakdmg3ilIvy8VIGK7q0zc9FfwlZpZcgzzmmpfHmj06NE7SGWBHo/VS7kdlDAbWrDkk qNCY69MHO18HA1OZilwlL5XZdyjkv77ep7Ams1hQuk2wXd/8zYSZS3IJ4h44aaIWcwLs EBrWuT7s7oyAs8DCpreUbV89V99sQX4bGZuTmZEv7NdeQw8qbNIVVnNxeFYc1/bCTwPe xHgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=cvkqfoJ56fcno11hwSyTvuAuLzyOPDT8ZREOIPWdaYc=; b=4wOZJCwYW4gcIHkpnOy+O4OI2OAs35gy9DePAW0XYwH6n4ZDYoqrUbRMfz2pn1iz4x 3b4k9v5zLH7JW+lYN4mtcRx4nqw62Vt+klf06Ad+rQux0HzJc7aCu3Eu0r7TO76NISeo 5NmPdNGX230jwag+tU6USevfkBXT6QSvd1Bfb6Bi69QbAjDvUj4yURGfck5l6TYLUVEx I4JYQfY/woV+YjRkDvttw4v9bdbQ5FWPfj4f6t77b/3W9LTL2Tjpa/funNTwNNWamrLt waCd3bTPJaoZgBaDTfcSCRWeeTEH1lZHkN9k0eWEmXMpgk50v0j1FBCnsbaFB3v9GMw1 c5Dw== X-Gm-Message-State: AOAM530mnnYfA4QntTwOBfJSLZ3BtvJjuQfniBCyDcdi9yRswdsNLcEy WoLwUeS+k2A5RtaMnKfm2kA16mR6dws= X-Received: by 2002:a50:d71a:: with SMTP id t26mr5883903edi.222.1644654862166; Sat, 12 Feb 2022 00:34:22 -0800 (PST) Received: from localhost.localdomain ([95.168.121.7]) by smtp.gmail.com with ESMTPSA id cn15sm6620568edb.37.2022.02.12.00.34.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Feb 2022 00:34:21 -0800 (PST) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Sat, 12 Feb 2022 09:35:00 +0100 Message-Id: <20220212083500.1480192-1-onemda@gmail.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avfilter/f_perms: add commands support X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Ri6PuBNJwngm Signed-off-by: Paul B Mahol --- libavfilter/f_perms.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libavfilter/f_perms.c b/libavfilter/f_perms.c index 6e75b2517b..5e2f4ecdf4 100644 --- a/libavfilter/f_perms.c +++ b/libavfilter/f_perms.c @@ -42,14 +42,15 @@ typedef struct PermsContext { #define OFFSET(x) offsetof(PermsContext, x) #define FLAGS AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_VIDEO_PARAM +#define TFLAGS AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_RUNTIME_PARAM static const AVOption options[] = { - { "mode", "select permissions mode", OFFSET(mode), AV_OPT_TYPE_INT, {.i64 = MODE_NONE}, MODE_NONE, NB_MODES-1, FLAGS, "mode" }, - { "none", "do nothing", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_NONE}, INT_MIN, INT_MAX, FLAGS, "mode" }, - { "ro", "set all output frames read-only", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_RO}, INT_MIN, INT_MAX, FLAGS, "mode" }, - { "rw", "set all output frames writable", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_RW}, INT_MIN, INT_MAX, FLAGS, "mode" }, - { "toggle", "switch permissions", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_TOGGLE}, INT_MIN, INT_MAX, FLAGS, "mode" }, - { "random", "set permissions randomly", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_RANDOM}, INT_MIN, INT_MAX, FLAGS, "mode" }, + { "mode", "select permissions mode", OFFSET(mode), AV_OPT_TYPE_INT, {.i64 = MODE_NONE}, MODE_NONE, NB_MODES-1, TFLAGS, "mode" }, + { "none", "do nothing", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_NONE}, 0, 0, TFLAGS, "mode" }, + { "ro", "set all output frames read-only", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_RO}, 0, 0, TFLAGS, "mode" }, + { "rw", "set all output frames writable", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_RW}, 0, 0, TFLAGS, "mode" }, + { "toggle", "switch permissions", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_TOGGLE}, 0, 0, TFLAGS, "mode" }, + { "random", "set permissions randomly", 0, AV_OPT_TYPE_CONST, {.i64 = MODE_RANDOM}, 0, 0, TFLAGS, "mode" }, { "seed", "set the seed for the random mode", OFFSET(random_seed), AV_OPT_TYPE_INT64, {.i64 = -1}, -1, UINT32_MAX, FLAGS }, { NULL } }; @@ -57,16 +58,13 @@ static const AVOption options[] = { static av_cold int init(AVFilterContext *ctx) { PermsContext *s = ctx->priv; + uint32_t seed; - if (s->mode == MODE_RANDOM) { - uint32_t seed; - - if (s->random_seed == -1) - s->random_seed = av_get_random_seed(); - seed = s->random_seed; - av_log(ctx, AV_LOG_INFO, "random seed: 0x%08"PRIx32"\n", seed); - av_lfg_init(&s->lfg, seed); - } + if (s->random_seed == -1) + s->random_seed = av_get_random_seed(); + seed = s->random_seed; + av_log(ctx, AV_LOG_INFO, "random seed: 0x%08"PRIx32"\n", seed); + av_lfg_init(&s->lfg, seed); return 0; } @@ -140,6 +138,7 @@ const AVFilter ff_af_aperms = { FILTER_OUTPUTS(aperms_outputs), .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_METADATA_ONLY, + .process_command = ff_filter_process_command, }; #endif /* CONFIG_APERMS_FILTER */ @@ -170,5 +169,6 @@ const AVFilter ff_vf_perms = { .priv_class = &perms_class, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_METADATA_ONLY, + .process_command = ff_filter_process_command, }; #endif /* CONFIG_PERMS_FILTER */