From patchwork Wed Aug 4 17:03:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linjie Fu X-Patchwork-Id: 29250 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6c0f:0:0:0:0:0 with SMTP id a15csp3548656ioh; Wed, 4 Aug 2021 10:03:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxf1JrUFFvcKicH5+kTGijtJeTvBIhjgv7MgBaIUoXNgjMXm3Tv7m4OHoTtQ4PJixnkStQn X-Received: by 2002:a05:6402:1458:: with SMTP id d24mr861256edx.281.1628096628020; Wed, 04 Aug 2021 10:03:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628096628; cv=none; d=google.com; s=arc-20160816; b=yxHkOq/w4hD1pKnLTwPUPMSfT+WG5ch5z7Zsdr0jCZ7wx2NIPNd+7SLs8jbuvE4vbI 72HKqKJKn0dOyhCo9mFm2R7Qq4s1nPvi3ASo0i9v4Dr+EVQjR4XbFyryBSJsj+9KjfHw DPY3LPkcA88XNKvSaVuu51dy9MbCthRnISxbsrtnQcxp+jCKx8UCBMuq9l14Cu8lCOgv 4sVBVAWadquqB10AV39/E6odQIqEeJEY0Q/v049F5fpuc41Xm850iFKbnZGEKdWjQdtL oEUFaDQ5go535koIfJcCwe79sJgDIPkBdz8inC7qQgnv8eBCbadu3A561HCJGLVb4xai TaEQ== 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=Wt3yp88+Cm1KTdI2MRHjcH+v+u5VFHPGlUmmHyszAcw=; b=eMwz6NdLtZuYJGDHJNq5zuyAnH7fHpuqiimPauze+j1d/0eyGaqDLJ0DLH90E20HQV Ms0ImiTkF/nf+Lbp++qSJ//OqKeALZYShnQcx7Jyb3dSKbKQNnrTjcnUgYQ25EunjcYY y/DuJQnSvJ10RTJm9r2Sf9WrIskjUK5djV7klmajcC7ZMFO0SMTmB3LHxOQToI/IBoUh GsU+J+9Cparz9ryaH2zOXFy18KaLGErj+Sh32gWNwlXo2TK/v9MqL8W1ruazUD6pWoDh JsnsJP/A+x23VCRXezq2Mo5XKFzSdTah/nXFgkws5GEfg+HcxOrjA/8jUzEyzcqKyiex 2PXg== 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 h12si2635374ejy.369.2021.08.04.10.03.47; Wed, 04 Aug 2021 10:03:48 -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 32FC1688095; Wed, 4 Aug 2021 20:03:27 +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 D28D068A13C for ; Wed, 4 Aug 2021 20:03:19 +0300 (EEST) Received: from localhost.localdomain (unknown [58.247.209.118]) by mail-app3 (Coremail) with SMTP id cC_KCgD3_xtQyAphu2KPAg--.37631S4; Thu, 05 Aug 2021 01:03:15 +0800 (CST) From: Linjie Fu To: ffmpeg-devel@ffmpeg.org Date: Thu, 5 Aug 2021 01:03:11 +0800 Message-Id: <20210804170311.86426-3-fulinjie@zju.edu.cn> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210804170311.86426-1-fulinjie@zju.edu.cn> References: <20210804170311.86426-1-fulinjie@zju.edu.cn> MIME-Version: 1.0 X-CM-TRANSID: cC_KCgD3_xtQyAphu2KPAg--.37631S4 X-Coremail-Antispam: 1UD129KBjvJXoW7tw17Gw48GF47Wr45Zw43Wrg_yoW8Zr4xpr 4rK3W7JFyfArWfAFWvqr1UGa15GaykZF9F9FWfAry5XF98Jr1xta4fKayY9ry5K3W7uan7 Za4Yga4UWa4Utw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBYb7Iv0xC_Cr1lb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI 8067AKxVWUXwA2048vs2IY020Ec7CjxVAFwI0_Jrv_JF4l8cAvFVAK0II2c7xJM28CjxkF 64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcV CY1x0267AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwVC2z280 aVCY1x0267AKxVWxJr0_GcWle2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4 CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvj eVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCY02Avz4vE14v_GwCF04k20xvY0x 0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E 7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jrv_JF1lIxkGc2Ij64vIr41lIxAIcV C0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF 04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7 CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU01CJJUUUUU== X-CM-SenderInfo: ysrvjiarsuq6lmxovvfxof0/ Subject: [FFmpeg-devel] [PATCH v4 3/3] fftools/ffmpeg_filter: fix the flags parsing for scaler 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: 1tmSJrtx4Eju From: Linjie Fu Scaler relys on "-sws_flags" option to pass the flags to swscale and scale filter. Currently passing "sws_flags=xxx" as a filter option to scaler leads to an incorrect option parsing. Check and change the string to "flags=xxx" and dumped flags information. (Refer to parse_sws_flags()) CMD: $ffmpeg -v verbose -i input.mp4 -sws_flags lanczos+bitexact+accurate_rnd \ -vf format=yuv420p,scale=800x600 -an -vframes 10 -f md5 - Before: [auto_scaler_0 @ 0x7f96c3808680] w:iw h:ih flags:'' interl:0 [auto_scaler_0 @ 0x7f96c3808680] w:1920 h:1080 fmt:yuvj420p sar:0/1 -> w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0x0 [Parsed_scale_1 @ 0x7f96c3806e40] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x0 MD5=ff1d6091690c6fcd36d458d2a9f648ce After: [auto_scaler_0 @ 0x7fe94563b4c0] w:iw h:ih flags:'lanczos+bitexact+accurate_rnd' interl:0 [auto_scaler_0 @ 0x7fe94563b4c0] w:1920 h:1080 fmt:yuvj420p sar:0/1 -> w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0xc0200 [Parsed_scale_1 @ 0x7fe945639d00] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0xc0200 MD5=ff1d6091690c6fcd36d458d2a9f648ce Signed-off-by: Linjie Fu --- fftools/ffmpeg_filter.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 958d74f008..94838adc56 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -977,7 +977,11 @@ int configure_filtergraph(FilterGraph *fg) } if (strlen(args)) args[strlen(args)-1] = 0; - fg->graph->scale_sws_opts = av_strdup(args); + + if (!strncmp(args, "sws_flags=", 10)) { + // keep the 'flags=' part + fg->graph->scale_sws_opts = av_strdup(args+4); + } args[0] = 0; while ((e = av_dict_get(ost->swr_opts, "", e,