From patchwork Mon Aug 2 16:49:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linjie Fu X-Patchwork-Id: 29200 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6c0f:0:0:0:0:0 with SMTP id a15csp1732398ioh; Mon, 2 Aug 2021 09:49:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyjHircqwQtTQi5I8BLqPv5QmDhr0xQWOL1hgRGwUIDEPp6zSwx1MyREUoa8ib+0LtoqctS X-Received: by 2002:aa7:dc18:: with SMTP id b24mr20676799edu.343.1627922974154; Mon, 02 Aug 2021 09:49:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627922974; cv=none; d=google.com; s=arc-20160816; b=fqhWOvQ9rxRPe9tlwyhIZvBExzeA6dm3stAvddfSS444qWwVg4YuZqqU4Pqw2tISNK rLiwlSgncU5bqD/7w9da9VgzoKG5ZyigwoCao9ucTgqTuh3inAf0GgHYRTBwYmIKiX6B 0Gj5ALuTLy8k5/Ln49PSuVUAQ5ZnmD6gkxkAodgOBlV4G4JY1LmaJcT4LtgYJpRNHa0t mQHQsaXC52aQXtllEDmAzmRLoDBRQTtdWnSklYtRvU4gdLCph29tHWm7s/FlM4zQJ3my YO7nAvHASFU59wwKJ1eqbAtqmgBbGgJO1HIW+nAgri4WDaPOR9duv3E9CWC7pAXXLbfg xJrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=PHVb34xNFAJoRX2RvbczjTOLX4A4AXa5uoEIMefwIUg=; b=adUVNtczsFz7/8aDW4AfYy1Exme6tSNTzAoQAFsiMATs1wuDcgtbzQ2CKunobfIrC9 07q97NLfASqemvvjidIhhDd1vW5uP+oXfF3YIJcxtjq0yH82Mta+7ZW2Vgv475faGCD4 a8dou5h2BKd6YplG/uWP4MxFq/io5aO+LGvRpNLbjuGYcUCd/zoKmSlhI9PT4QOHu5o9 FcFh14l7B2NSRJeIKMI+Uvlf3EKTpC7+NTnQ0qdL5DCvRkwjDH/fpBjdts6osLNC0KTT grfV6n9yTbJLtlmUmX2f8LhlF2xynJndxpBQ6w6nrVoE4IB7E2CTe6sUKXgAGSXCPQUb PkVw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id jl11si10089191ejc.223.2021.08.02.09.49.33; Mon, 02 Aug 2021 09:49:34 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C11B2689BFF; Mon, 2 Aug 2021 19:49:22 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from zg8tmty1ljiyny4xntqumjca.icoremail.net (zg8tmty1ljiyny4xntqumjca.icoremail.net [165.227.154.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with SMTP id C27DB6899E0 for ; Mon, 2 Aug 2021 19:49:14 +0300 (EEST) Received: from localhost.localdomain (unknown [58.247.209.118]) by mail-app3 (Coremail) with SMTP id cC_KCgD3_xsDIghh5ZVtAg--.59268S3; Tue, 03 Aug 2021 00:49:10 +0800 (CST) From: Linjie Fu To: ffmpeg-devel@ffmpeg.org Date: Tue, 3 Aug 2021 00:49:02 +0800 Message-Id: <20210802164904.70998-2-fulinjie@zju.edu.cn> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802164904.70998-1-fulinjie@zju.edu.cn> References: <20210802164904.70998-1-fulinjie@zju.edu.cn> MIME-Version: 1.0 X-CM-TRANSID: cC_KCgD3_xsDIghh5ZVtAg--.59268S3 X-Coremail-Antispam: 1UD129KBjvJXoWxGr45Wry3CrWxuw1xtrWUArb_yoWrJr47pa 1rW3Z7JryrJF4rZrWkJr1kWayrKrn7uw4qka95AwsrJrn5GrnxKFWIkFy5ursrWa17Ar42 vFs8KF18WayrXFJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBjb7Iv0xC_Zr1lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI 8067AKxVWUGwA2048vs2IY020Ec7CjxVAFwI0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kE wVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI8IcVCY1x 0267AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY 1x0267AKxVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c 02F40Ex7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE 4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41lc2xSY4AK67AK6r1l42xK82IYc2Ij64 vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8G jcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1Y6r17MIIYrxkI7VAKI48JMIIF0xvE2I x0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK 8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I 0E14v26r1j6r4UYxBIdaVFxhVjvjDU0xZFpf9x07j6eHDUUUUU= X-CM-SenderInfo: ysrvjiarsuq6lmxovvfxof0/ Subject: [FFmpeg-devel] [PATCH v2 2/4] lavfi/vf_scale: use single default swscale flags for simple and complex filter graph 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 Cc: Linjie Fu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 1e6eJbfQiYNN From: Linjie Fu Currently the default swscale flags for simple filter graph is bicubic, however for complex filter graph it uses bilinear as decleared in scale filter. $ffmpeg -v verbose -i input.mp4 -vf format=yuv420p,scale=800x600 -an -f null - [Parsed_scale_1 @ 0x7f86d2c160c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x4 $ffmpeg -v verbose -i input.mp4 -filter_complex format=yuv420p,scale=800x600 -an -f null - [Parsed_scale_1 @ 0x7f8779e046c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x2 Set the default flags for scale filter to "bicubic" to match the behaviour in swscale. And remove setting defaults in ffmpeg/ffprobe/ffplay. Signed-off-by: Linjie Fu --- fftools/cmdutils.c | 8 -------- fftools/ffplay.c | 2 -- fftools/ffprobe.c | 1 - libavfilter/vf_scale.c | 2 +- 4 files changed, 1 insertion(+), 12 deletions(-) diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 0b1ef03a25..912e881174 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -81,11 +81,6 @@ enum show_muxdemuxers { SHOW_MUXERS, }; -void init_opts(void) -{ - av_dict_set(&sws_dict, "flags", "bicubic", 0); -} - void uninit_opts(void) { av_dict_free(&swr_opts); @@ -670,7 +665,6 @@ static void finish_group(OptionParseContext *octx, int group_idx, resample_opts = NULL; sws_dict = NULL; swr_opts = NULL; - init_opts(); memset(&octx->cur_group, 0, sizeof(octx->cur_group)); } @@ -708,8 +702,6 @@ static void init_parse_context(OptionParseContext *octx, octx->global_opts.group_def = &global_group; octx->global_opts.arg = ""; - - init_opts(); } void uninit_parse_context(OptionParseContext *octx) diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 6b19574eae..46758b9f55 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -3695,8 +3695,6 @@ int main(int argc, char **argv) #endif avformat_network_init(); - init_opts(); - signal(SIGINT , sigterm_handler); /* Interrupt (ANSI). */ signal(SIGTERM, sigterm_handler); /* Termination (ANSI). */ diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index f411ba35b5..95263e1e6f 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -3721,7 +3721,6 @@ int main(int argc, char **argv) options = real_options; parse_loglevel(argc, argv, options); avformat_network_init(); - init_opts(); #if CONFIG_AVDEVICE avdevice_register_all(); #endif diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index f07e01bf90..3029ab4b68 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -900,7 +900,7 @@ static const AVOption scale_options[] = { { "width", "Output video width", OFFSET(w_expr), AV_OPT_TYPE_STRING, .flags = TFLAGS }, { "h", "Output video height", OFFSET(h_expr), AV_OPT_TYPE_STRING, .flags = TFLAGS }, { "height","Output video height", OFFSET(h_expr), AV_OPT_TYPE_STRING, .flags = TFLAGS }, - { "flags", "Flags to pass to libswscale", OFFSET(flags_str), AV_OPT_TYPE_STRING, { .str = "bilinear" }, .flags = FLAGS }, + { "flags", "Flags to pass to libswscale", OFFSET(flags_str), AV_OPT_TYPE_STRING, { .str = "bicubic" }, .flags = FLAGS }, { "interl", "set interlacing", OFFSET(interlaced), AV_OPT_TYPE_BOOL, {.i64 = 0 }, -1, 1, FLAGS }, { "size", "set video size", OFFSET(size_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, FLAGS }, { "s", "set video size", OFFSET(size_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, FLAGS },