[FFmpeg-devel] [PATCH] Add log severity level to default log formatting
hjiodjf 97xgw46
jfbvxt at gmail.com
Tue Apr 29 23:22:49 CEST 2014
On Sat, Apr 26, 2014 at 10:43 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Thu, Apr 24, 2014 at 03:08:38PM -0700, hjiodjf 97xgw46 wrote:
> [...]
>> @@ -958,6 +969,12 @@ int opt_report(const char *opt)
>> return init_report(NULL);
>> }
>>
>> +int opt_print_level(const char *opt)
>> +{
>> + av_log_set_flags(av_log_get_flags() | AV_LOG_PRINT_LEVEL);
>> + return 0;
>> +}
>
> this allows enabling but not disabling the feature
>
>
>
>> +
>> int opt_max_alloc(void *optctx, const char *opt, const char *arg)
>> {
>> char *tail;
>> diff --git a/cmdutils.h b/cmdutils.h
>> index 2b9a825..be855d1 100644
>> --- a/cmdutils.h
>> +++ b/cmdutils.h
>> @@ -95,6 +95,8 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg);
>>
>> int opt_report(const char *opt);
>>
>> +int opt_print_level(const char *opt);
>> +
>> int opt_max_alloc(void *optctx, const char *opt, const char *arg);
>>
>> int opt_codec_debug(void *optctx, const char *opt, const char *arg);
>> diff --git a/cmdutils_common_opts.h b/cmdutils_common_opts.h
>> index 190dba6..4dde4fc 100644
>> --- a/cmdutils_common_opts.h
>> +++ b/cmdutils_common_opts.h
>> @@ -22,6 +22,7 @@
>> { "max_alloc" , HAS_ARG, {.func_arg = opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
>> { "cpuflags" , HAS_ARG | OPT_EXPERT, { .func_arg = opt_cpuflags }, "force specific cpu flags", "flags" },
>> { "hide_banner", OPT_BOOL | OPT_EXPERT, {&hide_banner}, "do not show program banner", "hide_banner" },
>> + { "print_level", 0, {(void*)opt_print_level}, "include log level in console output"},
>
> why is this not OPT_BOOL? that should allow disabling as well
An OPT_BOOL would let me set a flag somewhere, but something still
needs to read the flag and pass it to av_log_set_flags. I couldn't
find a good common place in the code to do that.
>> diff --git a/libavutil/log.c b/libavutil/log.c
>> index cf4d990..0a8220b 100644
>> --- a/libavutil/log.c
>> +++ b/libavutil/log.c
>> @@ -212,13 +212,38 @@ static int get_category(void *ptr){
>> return avc->category + 16;
>> }
>>
>> +static const char *get_level_str(int level)
>> +{
>> + switch (level) {
>> + case AV_LOG_QUIET:
>> + return "quiet";
>> + case AV_LOG_DEBUG:
>> + return "debug";
>> + case AV_LOG_VERBOSE:
>> + return "verbose";
>> + case AV_LOG_INFO:
>> + return "info";
>> + case AV_LOG_WARNING:
>> + return "warning";
>> + case AV_LOG_ERROR:
>> + return "error";
>> + case AV_LOG_FATAL:
>> + return "fatal";
>> + case AV_LOG_PANIC:
>> + return "panic";
>> + default:
>> + return "";
>> + }
>> +}
>
> that probably is fine with most or all existing code but there are
> intermediate log levels too
>
> also APIChanges update is missing
>
> [...]
For intermediate log levels, should I print the level with the
next-lowest severity?
More information about the ffmpeg-devel
mailing list