From patchwork Fri Oct 4 08:42:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 52018 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:938f:0:b0:48e:c0f8:d0de with SMTP id z15csp257275vqg; Fri, 4 Oct 2024 01:43:01 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUiimeS5wzPTFvqy2P1z3Doi3e8reV5vOYCTMcrXY4RlYw6QkxhEM9LuY/7xsa03MXwhP8iBz09LKyv3N4lXkxw@gmail.com X-Google-Smtp-Source: AGHT+IGD8cRTiSZmheSZeXJ5GwI9NrtqJ2GNQ7mgE48cIx6FkSUNBl76ycrZPXYJ9TI4APT97pUf X-Received: by 2002:a2e:a9a5:0:b0:2f7:5993:f4d7 with SMTP id 38308e7fff4ca-2faf3d9d140mr10604181fa.35.1728031381347; Fri, 04 Oct 2024 01:43:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1728031381; cv=none; d=google.com; s=arc-20240605; b=Tjiwsxb4JqbggOVdRvlxt4JsdMy3dsUoB0TDFn+fgiNOqkZcX0aR9QNm+NRIcMFfFv VmutaeSgqKrwYRCJagT1OB+Y6s6yUDjvONKmE8eSXCbyZyT9Go/bt5BdFsi0h5CaOjEJ ezk7dkuXhoTtzXvDJZOrzRQkfwhrVuu5W3CB3xs6wHEi0amVqE1M21ZAobOLVPDrsYZ1 E6O/WDOR+2f6cJUSId5IZLVNaqHHs8QggfsLc60IllbP/0NZk3Nx1lAwSz4Vyz+jwuIX TFW6JQNePcvgU7kNlruFS+VfpbYRhpxqqf/cEL0X5eecjpE0Kuk76tSGLxYjgv0Xo2r5 WRWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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=WJ3BiEztpzSf/BW1FHIBuKZ8YHdfZKz97OqmQqHV6B0=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=V0r+fNt9rMUIdGDbAu78IZCIuj2skqo3lGRMcL+tbaev+H5VDZGzcQG1JlQTUfIlky Bi/XyQ+u/JsdTRHHhiwnhta7vi9HGt8XUKDgZdq410gGlSCJRoFK1wrwdSWdVG3XNqSp TjNg9qduHtbCZyLHCPw6bhGhG1Ma3qJw2ngcp2EdMmuOZhU/qhA7s8YKzNGLmGbdFs7j OBxq5YtCcGd4AG26OKITmE287DuGe9g0CAnC4m7uRSnYMKo+uZ1dxr3FpNhE/hYds3g9 84m/iJSqKG8F8/H0gnzbQLFwlY38+aZRSA5I+9VJB2VPtpXH0g1C1QW7bOsvSDNZZaM2 wjBQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=QI0Ncu0y; 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 38308e7fff4ca-2faecc94d76si9967381fa.478.2024.10.04.01.43.00; Fri, 04 Oct 2024 01:43:01 -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; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=QI0Ncu0y; 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 F253468D4BF; Fri, 4 Oct 2024 11:42:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 233B368C74A for ; Fri, 4 Oct 2024 11:42:51 +0300 (EEST) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=QI0Ncu0y; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id C07BF4E25 for ; Fri, 4 Oct 2024 10:42:50 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id 47kMnAr1JTNe for ; Fri, 4 Oct 2024 10:42:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1728031369; bh=B/9DCMDRGQqLWtbGIcXEsbltEku3VV3SnT+sqgR9aIc=; h=From:To:Subject:Date:From; b=QI0Ncu0yXMVwhFt6aW7yb2w/UAa9opb7z+x68XoDfKHXz6vHsJS7CYa+tzkh/GYnH Q7ZlUMzlI91nOnrM4ZjzZlKO73GejTOqlfXN6GJVCI74xWh2nzstZOA2m52s42Lnh9 KjBMKvKr8Tcbpgsi8VyBafRubJXyC6PFTUvXiZg5LgNEyMF/FOJO0VLFon7hSZ/rKN 6+54h8X0wQWi9b0Nfm6TrjiiVPbCWCh4sFqBqyBfdGGFM5t2ALl34QndTaJok3l6Ee shJ14ijeShbh7lCQ5W4QLzeiDPcGvNJTya2xuE3/U33uNA3lQERUmCE+1hQgav/lEn reWDKXf1lGsKg== Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id AC5C04DEE for ; Fri, 4 Oct 2024 10:42:49 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 7E78F3A0139 for ; Fri, 04 Oct 2024 10:42:49 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Fri, 4 Oct 2024 10:42:11 +0200 Message-ID: <20241004084230.27419-1-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/20] lavfi/vf_alphamerge: switch to query_func2() 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: Nl2zZwjG61tW Simplify the implementation by using the fact that ff_set_common_*() will ignore those links on which the formats have already been set. --- libavfilter/vf_alphamerge.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/libavfilter/vf_alphamerge.c b/libavfilter/vf_alphamerge.c index 2abb7e5583..c732f29367 100644 --- a/libavfilter/vf_alphamerge.c +++ b/libavfilter/vf_alphamerge.c @@ -96,7 +96,9 @@ static av_cold int init(AVFilterContext *ctx) return 0; } -static int query_formats(AVFilterContext *ctx) +static int query_formats(const AVFilterContext *ctx, + AVFilterFormatsConfig **cfg_in, + AVFilterFormatsConfig **cfg_out) { static const enum AVPixelFormat main_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, @@ -105,15 +107,18 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_NONE }; static const enum AVPixelFormat alpha_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; - AVFilterFormats *main_formats = ff_make_format_list(main_fmts); int ret; - if ((ret = ff_formats_ref(main_formats, &ctx->inputs[0]->outcfg.formats)) < 0 || - (ret = ff_formats_ref(main_formats, &ctx->outputs[0]->incfg.formats)) < 0) - return ret; + ret = ff_formats_ref(ff_make_format_list(alpha_fmts), + &cfg_in[1]->formats); + if (ret < 0) + return ret; - return ff_formats_ref(ff_make_format_list(alpha_fmts), - &ctx->inputs[1]->outcfg.formats); + ret = ff_set_common_formats_from_list2(ctx, cfg_in, cfg_out, main_fmts); + if (ret < 0) + return ret; + + return 0; } static int config_input_main(AVFilterLink *inlink) @@ -203,7 +208,7 @@ const AVFilter ff_vf_alphamerge = { .init = init, FILTER_INPUTS(alphamerge_inputs), FILTER_OUTPUTS(alphamerge_outputs), - FILTER_QUERY_FUNC(query_formats), + FILTER_QUERY_FUNC2(query_formats), .uninit = uninit, .activate = activate, .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,