From 50d0f6cee92833ad346a5ce915f3055c6c50f39f Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Thu, 5 Jul 2012 16:46:19 +0200 Subject: Extend -codecs output. Allow to show different supported multi-threading methods for an encoder/decoder pair. Fixes ticket #1512 --- cmdutils.c | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) (limited to 'cmdutils.c') diff --git a/cmdutils.c b/cmdutils.c index 8b2bcd7d85..024c801951 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -812,17 +812,20 @@ int opt_codecs(const char *opt, const char *arg) AVCodec *p = NULL, *p2; const char *last_name; printf("Codecs:\n" - " D...... = Decoding supported\n" - " .E..... = Encoding supported\n" - " ..V.... = Video codec\n" - " ..A.... = Audio codec\n" - " ..S.... = Subtitle codec\n" - " ...S... = Supports draw_horiz_band\n" - " ....D.. = Supports direct rendering method 1\n" - " .....T. = Supports weird frame truncation\n" - " ......F = Supports frame-based multi-threading\n" - " ......S = Supports slice-based multi-threading\n" - " ......B = Supports both frame-based and slice-based multi-threading\n" + " D....... = Decoding supported\n" + " .E...... = Encoding supported\n" + " ..V..... = Video codec\n" + " ..A..... = Audio codec\n" + " ..S..... = Subtitle codec\n" + " ...S.... = Supports draw_horiz_band\n" + " ....D... = Supports direct rendering method 1\n" + " .....T.. = Supports weird frame truncation\n" + " ......F. = Supports frame-based multi-threaded decoding\n" + " ......S. = Supports slice-based multi-threaded decoding\n" + " ......B. = Supports both frame-based and slice-based multi-threaded decoding\n" + " .......F = Supports frame-based multi-threaded encoding\n" + " .......S = Supports slice-based multi-threaded encoding\n" + " .......B = Supports both frame-based and slice-based multi-threaded encoding\n" " --------\n"); last_name= "000"; for (;;) { @@ -849,15 +852,21 @@ int opt_codecs(const char *opt, const char *arg) break; last_name = p2->name; - printf(" %s%s%c%s%s%s%s %-15s %s", + printf(" %s%s%c%s%s%s%s%s %-15s %s", decode ? "D" : (/* p2->decoder ? "d" : */ " "), encode ? "E" : " ", get_media_type_char(p2->type), cap & CODEC_CAP_DRAW_HORIZ_BAND ? "S" : " ", cap & CODEC_CAP_DR1 ? "D" : " ", cap & CODEC_CAP_TRUNCATED ? "T" : " ", + decode ? cap & CODEC_CAP_FRAME_THREADS ? cap & CODEC_CAP_SLICE_THREADS ? "B" : "F" : - cap & CODEC_CAP_SLICE_THREADS ? "S" : " ", + cap & CODEC_CAP_SLICE_THREADS ? "S" : " " + : " ", + encode ? + cap & CODEC_CAP_FRAME_THREADS ? cap & CODEC_CAP_SLICE_THREADS ? "B" : "F" : + cap & CODEC_CAP_SLICE_THREADS ? "S" : " " + : " ", p2->name, p2->long_name ? p2->long_name : ""); #if 0 -- cgit v1.2.3