cmdutils: support filters in the help topic system.

This commit is contained in:
Clément Bœsch 2013-03-31 15:04:04 +02:00
parent 7d8ad6c1fa
commit 999a46b12c
1 changed files with 24 additions and 0 deletions

View File

@ -1613,6 +1613,28 @@ static void show_help_muxer(const char *name)
show_help_children(fmt->priv_class, AV_OPT_FLAG_ENCODING_PARAM);
}
static void show_help_filter(const char *name)
{
const AVFilter *filter;
if (!name) {
av_log(NULL, AV_LOG_ERROR, "No filter name specified.\n");
return;
}
filter = avfilter_get_by_name(name);
if (!filter) {
av_log(NULL, AV_LOG_ERROR, "Filter '%s' not found.\n", name);
return;
}
printf("Filter %s\n", filter->name);
if (filter->description)
printf(" %s\n", filter->description);
if (filter->priv_class)
show_help_children(filter->priv_class, AV_OPT_FLAG_FILTERING_PARAM);
else
printf("No AVOption available\n");
}
int show_help(void *optctx, const char *opt, const char *arg)
{
char *topic, *par;
@ -1633,6 +1655,8 @@ int show_help(void *optctx, const char *opt, const char *arg)
show_help_demuxer(par);
} else if (!strcmp(topic, "muxer")) {
show_help_muxer(par);
} else if (!strcmp(topic, "filter")) {
show_help_filter(par);
} else {
show_help_default(topic, par);
}