[FFmpeg-cvslog] fftools/ffmpeg_opt: add more structure to long help output

Anton Khirnov git at videolan.org
Sat Jan 20 11:42:22 EET 2024


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Jan 17 12:43:10 2024 +0100| [43323c38020665d7b5459b1ed487356c82bcb703] | committer: Anton Khirnov

fftools/ffmpeg_opt: add more structure to long help output

Split the "Per-file main options" section into
* per-file input and output
* per-file input-only
* per-file output-only
* per-stream

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=43323c38020665d7b5459b1ed487356c82bcb703
---

 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 20f8dc56fc..771599c96a 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -1210,12 +1210,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);



More information about the ffmpeg-cvslog mailing list