You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avconv: split printing "main options" into global and per-file.
This commit is contained in:
		
							
								
								
									
										32
									
								
								avconv_opt.c
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								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 options:", | ||||
|                           OPT_EXPERT, OPT_AUDIO | OPT_VIDEO | OPT_SUBTITLE); | ||||
|         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 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) { | ||||
|   | ||||
							
								
								
									
										4
									
								
								avplay.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								avplay.c
									
									
									
									
									
								
							| @@ -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); | ||||
| } | ||||
|   | ||||
| @@ -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[] = { | ||||
|   | ||||
| @@ -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; | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user