summaryrefslogtreecommitdiff
path: root/fftools
diff options
context:
space:
mode:
authorJun Zhao <mypopydev@gmail.com>2018-03-08 13:50:31 +0800
committerMichael Niedermayer <michael@niedermayer.cc>2018-03-16 02:09:59 +0100
commita675eed17538708a4efb90946b83161ec788b36a (patch)
tree00961c1697b7aff90e4f4dbea53ac91b5ca356e8 /fftools
parent7b5cf0a410760bbd516d5c72cbb867c45017f9a7 (diff)
ffmpeg: support dump bit stream filter options.
Support dump bit stream filter option in ffmpeg -h full and ffmpeg -h bsf=FooBar. Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'fftools')
-rw-r--r--fftools/cmdutils.c17
-rw-r--r--fftools/ffmpeg_opt.c3
2 files changed, 19 insertions, 1 deletions
diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
index 0c7d13c27a..f9d87f6724 100644
--- a/fftools/cmdutils.c
+++ b/fftools/cmdutils.c
@@ -1897,6 +1897,21 @@ static void show_help_filter(const char *name)
}
#endif
+static void show_help_bsf(const char *name)
+{
+ const AVBitStreamFilter *bsf = av_bsf_get_by_name(name);
+
+ if (!bsf) {
+ av_log(NULL, AV_LOG_ERROR, "Unknown bit stream filter '%s'.\n", name);
+ return;
+ }
+
+ printf("Bit stream filter %s\n", bsf->name);
+ if (bsf->priv_class)
+ show_help_children(bsf->priv_class, AV_OPT_FLAG_BSF_PARAM);
+ printf("\n");
+}
+
int show_help(void *optctx, const char *opt, const char *arg)
{
char *topic, *par;
@@ -1923,6 +1938,8 @@ int show_help(void *optctx, const char *opt, const char *arg)
} else if (!strcmp(topic, "filter")) {
show_help_filter(par);
#endif
+ } else if (!strcmp(topic, "bsf")) {
+ show_help_bsf(par);
} else {
show_help_default(topic, par);
}
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index 1b591d9695..d7a7eb0662 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -3114,7 +3114,7 @@ void show_help_default(const char *opt, const char *arg)
" -h -- print basic options\n"
" -h long -- print more options\n"
" -h full -- print all options (including all format and codec specific options, very long)\n"
- " -h type=name -- print all options for the named decoder/encoder/demuxer/muxer/filter\n"
+ " -h type=name -- print all options for the named decoder/encoder/demuxer/muxer/filter/bsf\n"
" See man %s for detailed description of the options.\n"
"\n", program_name);
@@ -3159,6 +3159,7 @@ void show_help_default(const char *opt, const char *arg)
#endif
show_help_children(swr_get_class(), AV_OPT_FLAG_AUDIO_PARAM);
show_help_children(avfilter_get_class(), AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_FILTERING_PARAM);
+ show_help_children(av_bsf_get_class(), AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_BSF_PARAM);
}
}