mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avutil/opt: Print out numeric values of option constants
It's often not obvious how option constants relate to numerical values. Defaults are sometimes printed as numbers and from/to are always printed as numbers. Printing the numeric values of options constants avoids this confusion. It also allows to see which constants are equivalent. Before this patch: -segment_list_type <int> E........ set the segment list type (from -1 to 4) (default -1) flat E........ flat format csv E........ csv format ext E........ extended format ffconcat E........ ffconcat format m3u8 E........ M3U8 format hls E........ Apple HTTP Live Streaming compatible Afterwards: -segment_list_type <int> E........ set the segment list type (from -1 to 4) (default -1) flat 0 E........ flat format csv 1 E........ csv format ext 3 E........ extended format ffconcat 4 E........ ffconcat format m3u8 2 E........ M3U8 format hls 2 E........ Apple HTTP Live Streaming compatible Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
667df60b14
commit
9e0a071ede
@ -1119,7 +1119,7 @@ static char *get_opt_flags_string(void *obj, const char *unit, int64_t value)
|
||||
}
|
||||
|
||||
static void opt_list(void *obj, void *av_log_obj, const char *unit,
|
||||
int req_flags, int rej_flags)
|
||||
int req_flags, int rej_flags, enum AVOptionType parent_type)
|
||||
{
|
||||
const AVOption *opt = NULL;
|
||||
AVOptionRanges *r;
|
||||
@ -1199,6 +1199,11 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
|
||||
av_log(av_log_obj, AV_LOG_INFO, "%-12s ", "<boolean>");
|
||||
break;
|
||||
case AV_OPT_TYPE_CONST:
|
||||
if (parent_type == AV_OPT_TYPE_INT)
|
||||
av_log(av_log_obj, AV_LOG_INFO, "%-12d ", opt->default_val.i64);
|
||||
else
|
||||
av_log(av_log_obj, AV_LOG_INFO, "%-12s ", "");
|
||||
break;
|
||||
default:
|
||||
av_log(av_log_obj, AV_LOG_INFO, "%-12s ", "");
|
||||
break;
|
||||
@ -1303,7 +1308,7 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
|
||||
|
||||
av_log(av_log_obj, AV_LOG_INFO, "\n");
|
||||
if (opt->unit && opt->type != AV_OPT_TYPE_CONST)
|
||||
opt_list(obj, av_log_obj, opt->unit, req_flags, rej_flags);
|
||||
opt_list(obj, av_log_obj, opt->unit, req_flags, rej_flags, opt->type);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1314,7 +1319,7 @@ int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags)
|
||||
|
||||
av_log(av_log_obj, AV_LOG_INFO, "%s AVOptions:\n", (*(AVClass **)obj)->class_name);
|
||||
|
||||
opt_list(obj, av_log_obj, NULL, req_flags, rej_flags);
|
||||
opt_list(obj, av_log_obj, NULL, req_flags, rej_flags, -1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user