From patchwork Sat Jan 11 04:13:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 17299 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 58B8044B81F for ; Sat, 11 Jan 2020 06:43:44 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 33DB068AE14; Sat, 11 Jan 2020 06:43:44 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f66.google.com (mail-qv1-f66.google.com [209.85.219.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4183068AE14 for ; Sat, 11 Jan 2020 06:43:37 +0200 (EET) Received: by mail-qv1-f66.google.com with SMTP id u10so1800068qvi.2 for ; Fri, 10 Jan 2020 20:43:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=8Ksz3b0MU5rep9KOFqH5Pp+pOk7WIUUYs3o915doyxQ=; b=tif8NMjp7odJ4TYSqrDvAmvI4nVcm4eKxFY9hshpzY+LUc+xxzdeZ4s7YGtAXtKP77 npACWiJ5t31r/uK0dSpboD24HhKKwISghjzQ60sEMvQptwcX3YR5t2WnLGAmZb2cQ3s3 xP1pPn7UyVZoOWg15jZdXhH7cbO5vjxmFgsM2j89noX3AhejqMEGjIJsugO+aIvlwgpE 0cddUIslgCsM5sI/8HliuZ7DjRsP0nICYjfEsZz4DTCskh3iVTRShVHRzSE2KJmwDWis D10kbmb71QKluB2LkrXIcFquImRSWkaIziJJ/DjUEEpYFkPhFO52cvv1lGyDsaHahpgz HxqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=8Ksz3b0MU5rep9KOFqH5Pp+pOk7WIUUYs3o915doyxQ=; b=kilCxswiYDMVzMAh69BS2UvKisn1gDoj5jiQFXBm7eJtvF4FeKYtDunSy+9doHJyWY d4LDlUmHLwDXFHdYA180UuicAakR/+oyULMDVFmnN/NV66AYg4iYzCMIey+vUB4mSNnv h16GNjyO5+qTX+7ten/L0j3RkXm4y+5wkaqX050dmatbrY52axv0BYKj/AynDKaMps9o yvXfoyEBQgBgwB7ThVB97L+XkoKyNUsd+/SfYfAnPY3x+RbjRV4wHnebJo8sQsm5+89a grb+PftmzRurMP/+RuW6ierwoahHyxGMObNKdhqMvsb0GCWSGJNQwxvxwTqcUW/JEWaE lk6Q== X-Gm-Message-State: APjAAAUwObmtFH1QHS/nRPNe1VOnSHMI9me4lrP1ghiftqTBZcZnwUdL +QaQpMw/Trtj8i4XO3MgiLkp+Wes X-Google-Smtp-Source: APXvYqy9GupLTuY6aMFi0bglrlv+AlM9BNF3xiM54ory20VKTh8tUyIiNgq9bgiGXAWmkBmzHKhEcA== X-Received: by 2002:a17:902:b40e:: with SMTP id x14mr2530517plr.242.1578716047634; Fri, 10 Jan 2020 20:14:07 -0800 (PST) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id g21sm4808325pfo.126.2020.01.10.20.14.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Jan 2020 20:14:07 -0800 (PST) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Jan 2020 12:13:50 +0800 Message-Id: <1578716038-9645-3-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1578716038-9645-1-git-send-email-mypopydev@gmail.com> References: <1578716038-9645-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 03/11] lavfi/crop: enable runtime change flag 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 Cc: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jun Zhao enable runtime change flag. Signed-off-by: Jun Zhao --- libavfilter/vf_crop.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_crop.c b/libavfilter/vf_crop.c index 9bf4077..8dbf1b5 100644 --- a/libavfilter/vf_crop.c +++ b/libavfilter/vf_crop.c @@ -370,14 +370,15 @@ static int process_command(AVFilterContext *ctx, const char *cmd, const char *ar #define OFFSET(x) offsetof(CropContext, x) #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM +#define TFLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_RUNTIME_PARAM static const AVOption crop_options[] = { - { "out_w", "set the width crop area expression", OFFSET(w_expr), AV_OPT_TYPE_STRING, {.str = "iw"}, CHAR_MIN, CHAR_MAX, FLAGS }, - { "w", "set the width crop area expression", OFFSET(w_expr), AV_OPT_TYPE_STRING, {.str = "iw"}, CHAR_MIN, CHAR_MAX, FLAGS }, - { "out_h", "set the height crop area expression", OFFSET(h_expr), AV_OPT_TYPE_STRING, {.str = "ih"}, CHAR_MIN, CHAR_MAX, FLAGS }, - { "h", "set the height crop area expression", OFFSET(h_expr), AV_OPT_TYPE_STRING, {.str = "ih"}, CHAR_MIN, CHAR_MAX, FLAGS }, - { "x", "set the x crop area expression", OFFSET(x_expr), AV_OPT_TYPE_STRING, {.str = "(in_w-out_w)/2"}, CHAR_MIN, CHAR_MAX, FLAGS }, - { "y", "set the y crop area expression", OFFSET(y_expr), AV_OPT_TYPE_STRING, {.str = "(in_h-out_h)/2"}, CHAR_MIN, CHAR_MAX, FLAGS }, + { "out_w", "set the width crop area expression", OFFSET(w_expr), AV_OPT_TYPE_STRING, {.str = "iw"}, CHAR_MIN, CHAR_MAX, TFLAGS }, + { "w", "set the width crop area expression", OFFSET(w_expr), AV_OPT_TYPE_STRING, {.str = "iw"}, CHAR_MIN, CHAR_MAX, TFLAGS }, + { "out_h", "set the height crop area expression", OFFSET(h_expr), AV_OPT_TYPE_STRING, {.str = "ih"}, CHAR_MIN, CHAR_MAX, TFLAGS }, + { "h", "set the height crop area expression", OFFSET(h_expr), AV_OPT_TYPE_STRING, {.str = "ih"}, CHAR_MIN, CHAR_MAX, TFLAGS }, + { "x", "set the x crop area expression", OFFSET(x_expr), AV_OPT_TYPE_STRING, {.str = "(in_w-out_w)/2"}, CHAR_MIN, CHAR_MAX, TFLAGS }, + { "y", "set the y crop area expression", OFFSET(y_expr), AV_OPT_TYPE_STRING, {.str = "(in_h-out_h)/2"}, CHAR_MIN, CHAR_MAX, TFLAGS }, { "keep_aspect", "keep aspect ratio", OFFSET(keep_aspect), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS }, { "exact", "do exact cropping", OFFSET(exact), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS }, { NULL }