|
|
|
@ -304,6 +304,41 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Return index of option opt in argv or 0 if not found. |
|
|
|
|
*/ |
|
|
|
|
static int locate_option(int argc, char **argv, const OptionDef *options, const char *optname) |
|
|
|
|
{ |
|
|
|
|
const OptionDef *po; |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
for (i = 1; i < argc; i++) { |
|
|
|
|
const char *cur_opt = argv[i]; |
|
|
|
|
|
|
|
|
|
if (*cur_opt++ != '-') |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
po = find_option(options, cur_opt); |
|
|
|
|
if (!po->name && cur_opt[0] == 'n' && cur_opt[1] == 'o') |
|
|
|
|
po = find_option(options, cur_opt + 2); |
|
|
|
|
|
|
|
|
|
if ((!po->name && !strcmp(cur_opt, optname)) || |
|
|
|
|
(po->name && !strcmp(optname, po->name))) |
|
|
|
|
return i; |
|
|
|
|
|
|
|
|
|
if (!po || po->flags & HAS_ARG) |
|
|
|
|
i++; |
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void parse_loglevel(int argc, char **argv, const OptionDef *options) |
|
|
|
|
{ |
|
|
|
|
int idx = locate_option(argc, argv, options, "loglevel"); |
|
|
|
|
if (idx && argv[idx + 1]) |
|
|
|
|
opt_loglevel("loglevel", argv[idx + 1]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#define FLAGS (o->type == FF_OPT_TYPE_FLAGS) ? AV_DICT_APPEND : 0 |
|
|
|
|
int opt_default(const char *opt, const char *arg) |
|
|
|
|
{ |
|
|
|
|