From patchwork Wed Jan 17 12:40:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 45639 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c58a:b0:199:de12:6fa6 with SMTP id gn10csp320996pzb; Wed, 17 Jan 2024 04:42:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IFwp4NZOp3Q4YFVRZoca7JsgWiIEgo1ApOw0eoQwXANeQn+3bA8if6WMSS1Ovlb+TXF5W1Z X-Received: by 2002:a05:6512:310d:b0:50e:587f:b21e with SMTP id n13-20020a056512310d00b0050e587fb21emr2036627lfb.14.1705495355769; Wed, 17 Jan 2024 04:42:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705495355; cv=none; d=google.com; s=arc-20160816; b=HlmsvPRODlrx84NlrP10aTrj+1vadbOxh3ffmSWRtrzsqHZ4CXXDrlS5O37ZPGBGgQ 2nB/NYn7ie9O2irrOtDcDPUmbykweMbK2GyZ6RtwqC4SniG6Ht8C+8FfIzLooUI2HL1t q+s57tQVmiwxSE+xm2CLCzFB9hn/spqNcRvuHnfZ8vrmCLEMwRm8piSmEgD/pg3RZMov 9y4lCYyQaOx8flZJAHsWOOvBQX0M2+CHbKGy5ByATrqq16nEtcBlzwcqkVh2sE1+ALa4 L8KwTL7dwiEawQdRNWAI44WaQ9AM4aiAI9KxGbDV0sZChxxJg6LdQRrYu+0Nz6u/g9eZ jVeQ== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=TIhD0hlmfo/ezc4Vfdh1EFeqp7WHBJyIxQUqY1j6ixQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=b+5hNl9Q937TqFvfu85IDoI/8D7PlgxHwv7tND0nt/UGJuo7udb9qbXOE3m+LBADFy WSW6tMmmY3GCeACq4CJS1C9Z4pMtAjQu1c2VQmH7w7pOpgKIniv2Rdn4RZS/nkAIavWF oTbYsSe58qT4ZvmBNosyhaZuhC9ZC5HWhjZMxtUE5oA/5zULd8d9LDWo24qco1quKp5v xq49ZXJwVKK1TCnQid39uzKcbND51m1V0AYXp1moBX2gZAD8qaYLzLzt3if0q/8ip1p3 93l/CPODtNoxJvPWK9cljoLQHnCj2jpitDQ/NcT6DjNhX72bcu5uD1mOJiQtyqXCPTze 5JHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b="MQKG6/CH"; 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 ew3-20020a056402538300b005597fd1b80csi1881214edb.589.2024.01.17.04.42.35; Wed, 17 Jan 2024 04:42:35 -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=@khirnov.net header.s=mail header.b="MQKG6/CH"; 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 91A5F68D073; Wed, 17 Jan 2024 14:41:44 +0200 (EET) 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 7B53B68D01F for ; Wed, 17 Jan 2024 14:41:36 +0200 (EET) 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=MQKG6/CH; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id C387F19C2 for ; Wed, 17 Jan 2024 13:41:31 +0100 (CET) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id mzKPNbSF_2_H for ; Wed, 17 Jan 2024 13:41:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1705495289; bh=3cGASKu69dLV4Bpl2TIPTW5dN4PsjIHOlBjSg5PMK2g=; h=From:To:Subject:Date:In-Reply-To:References:From; b=MQKG6/CH0U9aaCBGAsMKruPO4L2bE8t9w8iaL0dXBH9c7qNA/K5Cb2aT48fCEZPkr uKAEw5tqLFiF4qh2eTLDtwOrVvjnGRBmjeh49QplDbVdes3DZsJFrL7arwPK6XBpIo NucxN+fFpBzuPDK3dpUxpfbNJwWZctZ/0joZyhQWoHPva/SZ5lfK35o+2GIgJclocf eMs8uwbvbsfsGeTAfrCbZhtQzLN83fNw9moZ4FVDmoXQLvHPdF3rQaZJbDf4JaoYsl kBT72QwO/hSYRvKHSTtArTFQOuyv19MJtUnmC9vo6ZO+vICGfmO1SVZUo+mYiR7Owq 9vnW5ItQLNCMw== 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 7CC1F19B9 for ; Wed, 17 Jan 2024 13:41:29 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 66C7B3A061F for ; Wed, 17 Jan 2024 13:41:29 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Wed, 17 Jan 2024 13:40:31 +0100 Message-ID: <20240117124036.7877-4-anton@khirnov.net> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20240117124036.7877-1-anton@khirnov.net> References: <20240117124036.7877-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/8] fftools/ffmpeg_opt: add more structure to long help output 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: F6IptBXfLouk Split the "Per-file main options" section into * per-file input and output * per-file input-only * per-file output-only * per-stream --- fftools/ffmpeg_opt.c | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c index 919e1eae46..4abdd457d3 100644 --- a/fftools/ffmpeg_opt.c +++ b/fftools/ffmpeg_opt.c @@ -1209,12 +1209,45 @@ void show_help_default(const char *opt, const char *arg) show_help_options(options, "Advanced global options:", OPT_EXPERT, OPT_PERFILE | OPT_EXIT); - show_help_options(options, "Per-file main options:", OPT_PERFILE, - OPT_EXPERT | OPT_AUDIO | OPT_VIDEO | OPT_SUBTITLE | OPT_DATA | - OPT_EXIT); + show_help_options(options, "Per-file options (input and output):", + OPT_PERFILE | OPT_INPUT | OPT_OUTPUT, + OPT_EXIT | OPT_FLAG_PERSTREAM | OPT_EXPERT | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); if (show_advanced) - show_help_options(options, "Advanced per-file options:", - OPT_EXPERT | OPT_PERFILE, OPT_AUDIO | OPT_VIDEO | OPT_SUBTITLE); + show_help_options(options, "Advanced per-file options (input and output):", + OPT_PERFILE | OPT_INPUT | OPT_OUTPUT | OPT_EXPERT, + OPT_EXIT | OPT_FLAG_PERSTREAM | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); + + show_help_options(options, "Per-file options (input-only):", + OPT_PERFILE | OPT_INPUT, + OPT_EXIT | OPT_FLAG_PERSTREAM | OPT_OUTPUT | OPT_EXPERT | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); + if (show_advanced) + show_help_options(options, "Advanced per-file options (input-only):", + OPT_PERFILE | OPT_INPUT | OPT_EXPERT, + OPT_EXIT | OPT_FLAG_PERSTREAM | OPT_OUTPUT | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); + + show_help_options(options, "Per-file options (output-only):", + OPT_PERFILE | OPT_OUTPUT, + OPT_EXIT | OPT_FLAG_PERSTREAM | OPT_INPUT | OPT_EXPERT | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); + if (show_advanced) + show_help_options(options, "Advanced per-file options (output-only):", + OPT_PERFILE | OPT_OUTPUT | OPT_EXPERT, + OPT_EXIT | OPT_FLAG_PERSTREAM | OPT_INPUT | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); + + show_help_options(options, "Per-stream options:", + OPT_FLAG_PERSTREAM, + OPT_EXIT | OPT_EXPERT | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); + if (show_advanced) + show_help_options(options, "Advanced per-stream options:", + OPT_FLAG_PERSTREAM | OPT_EXPERT, + OPT_EXIT | + OPT_VIDEO | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA); show_help_options(options, "Video options:", OPT_VIDEO, OPT_EXPERT | OPT_AUDIO | OPT_SUBTITLE | OPT_DATA);