diff options
author | Paul B Mahol <onemda@gmail.com> | 2013-07-02 13:31:28 +0000 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2013-07-03 20:32:30 +0000 |
commit | a64248d1ec154779473be90ce1608702cc4a6496 (patch) | |
tree | a043540da1d3e3515aeec8415ff0523e73244697 | |
parent | 4943eff2cd281518461baf89775859e86dd83d0e (diff) | |
download | ffmpeg-a64248d1ec154779473be90ce1608702cc4a6496.tar.gz |
lavu/opt: show default values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-rw-r--r-- | libavutil/opt.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libavutil/opt.c b/libavutil/opt.c index 4d06039273..191ac2dcae 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -936,6 +936,40 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit, av_opt_freep_ranges(&r); } + if (opt->type != AV_OPT_TYPE_CONST && + opt->type != AV_OPT_TYPE_BINARY && + !((opt->type == AV_OPT_TYPE_COLOR || + opt->type == AV_OPT_TYPE_IMAGE_SIZE || + opt->type == AV_OPT_TYPE_STRING || + opt->type == AV_OPT_TYPE_VIDEO_RATE) && + !opt->default_val.str)) { + av_log(av_log_obj, AV_LOG_INFO, " (default "); + switch (opt->type) { + case AV_OPT_TYPE_FLAGS: + av_log(av_log_obj, AV_LOG_INFO, "%0llX", opt->default_val.i64); + break; + case AV_OPT_TYPE_DURATION: + case AV_OPT_TYPE_INT: + case AV_OPT_TYPE_INT64: + log_value(av_log_obj, AV_LOG_INFO, opt->default_val.i64); + break; + case AV_OPT_TYPE_DOUBLE: + case AV_OPT_TYPE_FLOAT: + log_value(av_log_obj, AV_LOG_INFO, opt->default_val.dbl); + break; + case AV_OPT_TYPE_RATIONAL: { + AVRational q = av_d2q(opt->default_val.dbl, INT_MAX); + av_log(av_log_obj, AV_LOG_INFO, "%d/%d", q.num, q.den); } + break; + case AV_OPT_TYPE_COLOR: + case AV_OPT_TYPE_IMAGE_SIZE: + case AV_OPT_TYPE_STRING: + case AV_OPT_TYPE_VIDEO_RATE: + av_log(av_log_obj, AV_LOG_INFO, "\"%s\"", opt->default_val.str); + } + av_log(av_log_obj, AV_LOG_INFO, ")"); + } + 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); |