summaryrefslogtreecommitdiff
path: root/cmdutils.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2012-07-05 16:46:19 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2012-07-05 16:46:19 +0200
commit50d0f6cee92833ad346a5ce915f3055c6c50f39f (patch)
tree839fa1398518f32d9d9d5c8a017211cb4fdd0c70 /cmdutils.c
parentc88e60af76ad6cf3b193a7f160256061b085125e (diff)
Extend -codecs output.
Allow to show different supported multi-threading methods for an encoder/decoder pair. Fixes ticket #1512
Diffstat (limited to 'cmdutils.c')
-rw-r--r--cmdutils.c35
1 files changed, 22 insertions, 13 deletions
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