MCPcopy Create free account
hub / github.com/byhook/ffmpeg4android / print_codecs

Function print_codecs

ffmpeg-single-cmd/src/main/cpp/cmdutils.c:1550–1586  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1548}
1549
1550static void print_codecs(int encoder)
1551{
1552 const AVCodecDescriptor **codecs;
1553 unsigned i, nb_codecs = get_codecs_sorted(&codecs);
1554
1555 printf("%s:\n"
1556 " V..... = Video\n"
1557 " A..... = Audio\n"
1558 " S..... = Subtitle\n"
1559 " .F.... = Frame-level multithreading\n"
1560 " ..S... = Slice-level multithreading\n"
1561 " ...X.. = Codec is experimental\n"
1562 " ....B. = Supports draw_horiz_band\n"
1563 " .....D = Supports direct rendering method 1\n"
1564 " ------\n",
1565 encoder ? "Encoders" : "Decoders");
1566 for (i = 0; i < nb_codecs; i++) {
1567 const AVCodecDescriptor *desc = codecs[i];
1568 const AVCodec *codec = NULL;
1569
1570 while ((codec = next_codec_for_id(desc->id, codec, encoder))) {
1571 printf(" %c", get_media_type_char(desc->type));
1572 printf((codec->capabilities & AV_CODEC_CAP_FRAME_THREADS) ? "F" : ".");
1573 printf((codec->capabilities & AV_CODEC_CAP_SLICE_THREADS) ? "S" : ".");
1574 printf((codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL) ? "X" : ".");
1575 printf((codec->capabilities & AV_CODEC_CAP_DRAW_HORIZ_BAND)?"B" : ".");
1576 printf((codec->capabilities & AV_CODEC_CAP_DR1) ? "D" : ".");
1577
1578 printf(" %-20s %s", codec->name, codec->long_name ? codec->long_name : "");
1579 if (strcmp(codec->name, desc->name))
1580 printf(" (codec %s)", desc->name);
1581
1582 printf("\n");
1583 }
1584 }
1585 av_free(codecs);
1586}
1587
1588int show_decoders(void *optctx, const char *opt, const char *arg)
1589{

Callers 2

show_decodersFunction · 0.85
show_encodersFunction · 0.85

Calls 3

get_codecs_sortedFunction · 0.85
next_codec_for_idFunction · 0.85
get_media_type_charFunction · 0.85

Tested by

no test coverage detected