static const char unit_byte_str[] = "byte" ;
static const char unit_bit_per_second_str[] = "bit/s";
-void exit_program(int ret)
+static void exit_program(void)
{
av_dict_free(&fmt_entries_to_show);
- exit(ret);
}
/*
const char *profile;
char val_str[128];
AVRational display_aspect_ratio;
+ const AVPixFmtDescriptor *desc;
probe_object_header("stream");
rational_string(val_str, sizeof(val_str), ":",
&display_aspect_ratio));
}
- probe_str("pix_fmt",
- dec_ctx->pix_fmt != PIX_FMT_NONE ? av_pix_fmt_descriptors[dec_ctx->pix_fmt].name
- : "unknown");
+ desc = av_pix_fmt_desc_get(dec_ctx->pix_fmt);
+ probe_str("pix_fmt", desc ? desc->name : "unknown");
probe_int("level", dec_ctx->level);
break;
printf("\n");
}
-static int opt_format(const char *opt, const char *arg)
+static int opt_format(void *optctx, const char *opt, const char *arg)
{
iformat = av_find_input_format(arg);
if (!iformat) {
return 0;
}
-static int opt_output_format(const char *opt, const char *arg)
+static int opt_output_format(void *optctx, const char *opt, const char *arg)
{
if (!strcmp(arg, "json")) {
return 0;
}
-static int opt_show_format_entry(const char *opt, const char *arg)
+static int opt_show_format_entry(void *optctx, const char *opt, const char *arg)
{
do_show_format = 1;
nb_fmt_entries_to_show++;
show_help_children(avformat_get_class(), AV_OPT_FLAG_DECODING_PARAM);
}
-static void opt_pretty(void)
+static int opt_pretty(void *optctx, const char *opt, const char *arg)
{
show_value_unit = 1;
use_value_prefix = 1;
use_byte_value_binary_prefix = 1;
use_value_sexagesimal_format = 1;
+ return 0;
}
static const OptionDef real_options[] = {
#include "cmdutils_common_opts.h"
- { "f", HAS_ARG, {(void*)opt_format}, "force format", "format" },
- { "of", HAS_ARG, {(void*)&opt_output_format}, "output the document either as ini or json", "output_format" },
- { "unit", OPT_BOOL, {(void*)&show_value_unit},
+ { "f", HAS_ARG, {.func_arg = opt_format}, "force format", "format" },
+ { "of", HAS_ARG, {.func_arg = opt_output_format}, "output the document either as ini or json", "output_format" },
+ { "unit", OPT_BOOL, {&show_value_unit},
"show unit of the displayed values" },
- { "prefix", OPT_BOOL, {(void*)&use_value_prefix},
+ { "prefix", OPT_BOOL, {&use_value_prefix},
"use SI prefixes for the displayed values" },
- { "byte_binary_prefix", OPT_BOOL, {(void*)&use_byte_value_binary_prefix},
+ { "byte_binary_prefix", OPT_BOOL, {&use_byte_value_binary_prefix},
"use binary prefixes for byte units" },
- { "sexagesimal", OPT_BOOL, {(void*)&use_value_sexagesimal_format},
+ { "sexagesimal", OPT_BOOL, {&use_value_sexagesimal_format},
"use sexagesimal format HOURS:MM:SS.MICROSECONDS for time units" },
- { "pretty", 0, {(void*)&opt_pretty},
+ { "pretty", 0, {.func_arg = opt_pretty},
"prettify the format of displayed values, make it more human readable" },
- { "show_format", OPT_BOOL, {(void*)&do_show_format} , "show format/container info" },
- { "show_format_entry", HAS_ARG, {(void*)opt_show_format_entry},
+ { "show_format", OPT_BOOL, {&do_show_format} , "show format/container info" },
+ { "show_format_entry", HAS_ARG, {.func_arg = opt_show_format_entry},
"show a particular entry from the format/container info", "entry" },
- { "show_packets", OPT_BOOL, {(void*)&do_show_packets}, "show packets info" },
- { "show_streams", OPT_BOOL, {(void*)&do_show_streams}, "show streams info" },
- { "default", HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {(void*)opt_default},
+ { "show_packets", OPT_BOOL, {&do_show_packets}, "show packets info" },
+ { "show_streams", OPT_BOOL, {&do_show_streams}, "show streams info" },
+ { "default", HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {.func_arg = opt_default},
"generic catch all option", "" },
{ NULL, },
};
if (!buffer)
exit(1);
+ atexit(exit_program);
+
options = real_options;
parse_loglevel(argc, argv, options);
av_register_all();