From dcea7ca752e631baf96c0a5a490ae5285eb56004 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Thu, 19 Jan 2012 20:50:44 +0100 Subject: [PATCH] cmdutils: include type in filter list. --- cmdutils.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/cmdutils.c b/cmdutils.c index 06eb3ad558..386db3d48b 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -872,11 +872,31 @@ int opt_protocols(const char *opt, const char *arg) int opt_filters(const char *opt, const char *arg) { AVFilter av_unused(**filter) = NULL; + char descr[64], *descr_cur; + int i, j; + const AVFilterPad *pad; printf("Filters:\n"); #if CONFIG_AVFILTER - while ((filter = av_filter_next(filter)) && *filter) - printf("%-16s %s\n", (*filter)->name, (*filter)->description); + while ((filter = av_filter_next(filter)) && *filter) { + descr_cur = descr; + for (i = 0; i < 2; i++) { + if (i) { + *(descr_cur++) = '-'; + *(descr_cur++) = '>'; + } + pad = i ? (*filter)->outputs : (*filter)->inputs; + for (j = 0; pad[j].name; j++) { + if (descr_cur >= descr + sizeof(descr) - 4) + break; + *(descr_cur++) = get_media_type_char(pad[j].type); + } + if (!j) + *(descr_cur++) = '|'; + } + *descr_cur = 0; + printf("%-16s %-10s %s\n", (*filter)->name, descr, (*filter)->description); + } #endif return 0; }