diff options
author | Anton Khirnov <anton@khirnov.net> | 2012-08-15 10:31:46 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-08-19 19:23:43 +0200 |
commit | f9fada2704df7994e8e4451ac78d8d5569faa8a2 (patch) | |
tree | eaa4086e74cffcde48ee94a04b165755de9bb836 | |
parent | 6e3857fa8cd620d528fb73fe5f7f692db780c4df (diff) | |
download | ffmpeg-f9fada2704df7994e8e4451ac78d8d5569faa8a2.tar.gz |
avconv: split printing "main options" into global and per-file.
-rw-r--r-- | avconv_opt.c | 32 | ||||
-rw-r--r-- | avplay.c | 4 | ||||
-rw-r--r-- | avprobe.c | 2 | ||||
-rw-r--r-- | avserver.c | 2 | ||||
-rw-r--r-- | cmdutils.c | 3 | ||||
-rw-r--r-- | cmdutils.h | 3 |
6 files changed, 29 insertions, 17 deletions
diff --git a/avconv_opt.c b/avconv_opt.c index 7d4922c375..2c6af6a94b 100644 --- a/avconv_opt.c +++ b/avconv_opt.c @@ -1791,6 +1791,8 @@ static int opt_filter_complex(const char *opt, const char *arg) void show_help_default(const char *opt, const char *arg) { + /* per-file options have at least one of those set */ + const int per_file = OPT_SPEC | OPT_OFFSET | OPT_FUNC2; int show_advanced = 0, show_avoptions = 0; if (opt) { @@ -1812,27 +1814,35 @@ void show_help_default(const char *opt, const char *arg) "\n", program_name); show_help_options(options, "Print help / information / capabilities:", - OPT_EXIT, 0); - show_help_options(options, "Main options:", - 0, OPT_EXPERT | OPT_AUDIO | OPT_VIDEO | OPT_SUBTITLE | - OPT_EXIT); + OPT_EXIT, 0, 0); + + show_help_options(options, "Global options (affect whole program " + "instead of just one file:", + 0, per_file | OPT_EXIT | OPT_EXPERT, 0); + if (show_advanced) + show_help_options(options, "Advanced global options:", OPT_EXPERT, + per_file | OPT_EXIT, 0); + + show_help_options(options, "Per-file main options:", 0, + OPT_EXPERT | OPT_AUDIO | OPT_VIDEO | OPT_SUBTITLE | + OPT_EXIT, per_file); if (show_advanced) - show_help_options(options, "Advanced options:", - OPT_EXPERT, OPT_AUDIO | OPT_VIDEO | OPT_SUBTITLE); + show_help_options(options, "Advanced per-file options:", + OPT_EXPERT, OPT_AUDIO | OPT_VIDEO | OPT_SUBTITLE, per_file); show_help_options(options, "Video options:", - OPT_VIDEO, OPT_EXPERT | OPT_AUDIO); + OPT_VIDEO, OPT_EXPERT | OPT_AUDIO, 0); if (show_advanced) show_help_options(options, "Advanced Video options:", - OPT_EXPERT | OPT_VIDEO, OPT_AUDIO); + OPT_EXPERT | OPT_VIDEO, OPT_AUDIO, 0); show_help_options(options, "Audio options:", - OPT_AUDIO, OPT_EXPERT | OPT_VIDEO); + OPT_AUDIO, OPT_EXPERT | OPT_VIDEO, 0); if (show_advanced) show_help_options(options, "Advanced Audio options:", - OPT_EXPERT | OPT_AUDIO, OPT_VIDEO); + OPT_EXPERT | OPT_AUDIO, OPT_VIDEO, 0); show_help_options(options, "Subtitle options:", - OPT_SUBTITLE, 0); + OPT_SUBTITLE, 0, 0); printf("\n"); if (show_avoptions) { @@ -2924,8 +2924,8 @@ void show_help_default(const char *opt, const char *arg) { av_log_set_callback(log_callback_help); show_usage(); - show_help_options(options, "Main options:", 0, OPT_EXPERT); - show_help_options(options, "Advanced options:", OPT_EXPERT, 0); + show_help_options(options, "Main options:", 0, OPT_EXPERT, 0); + show_help_options(options, "Advanced options:", OPT_EXPERT, 0, 0); printf("\n"); show_help_children(avcodec_get_class(), AV_OPT_FLAG_DECODING_PARAM); show_help_children(avformat_get_class(), AV_OPT_FLAG_DECODING_PARAM); @@ -872,7 +872,7 @@ void show_help_default(const char *opt, const char *arg) { av_log_set_callback(log_callback_help); show_usage(); - show_help_options(options, "Main options:", 0, 0); + show_help_options(options, "Main options:", 0, 0, 0); printf("\n"); show_help_children(avformat_get_class(), AV_OPT_FLAG_DECODING_PARAM); } diff --git a/avserver.c b/avserver.c index c97b4ca213..9e6289914a 100644 --- a/avserver.c +++ b/avserver.c @@ -4634,7 +4634,7 @@ void show_help_default(const char *opt, const char *arg) printf("usage: avserver [options]\n" "Hyper fast multi format Audio/Video streaming server\n"); printf("\n"); - show_help_options(options, "Main options:", 0, 0); + show_help_options(options, "Main options:", 0, 0, 0); } static const OptionDef options[] = { diff --git a/cmdutils.c b/cmdutils.c index 50076c231d..6576eba95c 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -114,7 +114,7 @@ int64_t parse_time_or_die(const char *context, const char *timestr, } void show_help_options(const OptionDef *options, const char *msg, int req_flags, - int rej_flags) + int rej_flags, int alt_flags) { const OptionDef *po; int first; @@ -124,6 +124,7 @@ void show_help_options(const OptionDef *options, const char *msg, int req_flags, char buf[64]; if (((po->flags & req_flags) != req_flags) || + (alt_flags && !(po->flags & alt_flags)) || (po->flags & rej_flags)) continue; diff --git a/cmdutils.h b/cmdutils.h index 39125ce4ba..212aa71fc6 100644 --- a/cmdutils.h +++ b/cmdutils.h @@ -160,9 +160,10 @@ typedef struct { * @param msg title of this group. Only printed if at least one option matches. * @param req_flags print only options which have all those flags set. * @param rej_flags don't print options which have any of those flags set. + * @param alt_flags print only options that have at least one of those flags set */ void show_help_options(const OptionDef *options, const char *msg, int req_flags, - int rej_flags); + int rej_flags, int alt_flags); /** * Show help for all options with given flags in class and all its |