[FFmpeg-cvslog] Extend -codecs output.

Carl Eugen Hoyos git at videolan.org
Thu Jul 5 16:51:19 CEST 2012


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Jul  5 16:46:19 2012 +0200| [50d0f6cee92833ad346a5ce915f3055c6c50f39f] | committer: Carl Eugen Hoyos

Extend -codecs output.

Allow to show different supported multi-threading methods for an
encoder/decoder pair.

Fixes ticket #1512

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=50d0f6cee92833ad346a5ce915f3055c6c50f39f
---

 cmdutils.c |   35 ++++++++++++++++++++++-------------
 1 file changed, 22 insertions(+), 13 deletions(-)

diff --git a/cmdutils.c b/cmdutils.c
index 8b2bcd7..024c801 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



More information about the ffmpeg-cvslog mailing list