James Almer: > On 7/30/2023 9:47 PM, Andreas Rheinhardt wrote: >> Also combine multiple printfs. >> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> >> --- >> fftools/opt_common.c | 28 ++++++++++++++-------------- >> 1 file changed, 14 insertions(+), 14 deletions(-) >> >> diff --git a/fftools/opt_common.c b/fftools/opt_common.c >> index 7c996f140d..3881d5bbef 100644 >> --- a/fftools/opt_common.c >> +++ b/fftools/opt_common.c >> @@ -692,14 +692,13 @@ int show_codecs(void *optctx, const char *opt, >> const char *arg) >> if (strstr(desc->name, "_deprecated")) >> continue; >> - printf(" "); >> - printf(avcodec_find_decoder(desc->id) ? "D" : "."); >> - printf(avcodec_find_encoder(desc->id) ? "E" : "."); >> - >> - printf("%c", get_media_type_char(desc->type)); >> - printf((desc->props & AV_CODEC_PROP_INTRA_ONLY) ? "I" : "."); >> - printf((desc->props & AV_CODEC_PROP_LOSSY) ? "L" : "."); >> - printf((desc->props & AV_CODEC_PROP_LOSSLESS) ? "S" : "."); >> + printf(" %c%c%c%c%c%c", >> + avcodec_find_decoder(desc->id) ? 'D' : '.', >> + avcodec_find_encoder(desc->id) ? 'E' : '.', >> + get_media_type_char(desc->type), >> + (desc->props & AV_CODEC_PROP_INTRA_ONLY) ? 'I' : '.', >> + (desc->props & AV_CODEC_PROP_LOSSY) ? 'L' : '.', >> + (desc->props & AV_CODEC_PROP_LOSSLESS) ? 'S' : '.'); >> printf(" %-20s %s", desc->name, desc->long_name ? >> desc->long_name : ""); >> @@ -747,12 +746,13 @@ static void print_codecs(int encoder) >> void *iter = NULL; >> while ((codec = next_codec_for_id(desc->id, &iter, >> encoder))) { >> - printf(" %c", get_media_type_char(desc->type)); >> - printf((codec->capabilities & AV_CODEC_CAP_FRAME_THREADS) >> ? "F" : "."); >> - printf((codec->capabilities & AV_CODEC_CAP_SLICE_THREADS) >> ? "S" : "."); >> - printf((codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL) >> ? "X" : "."); >> - printf((codec->capabilities & >> AV_CODEC_CAP_DRAW_HORIZ_BAND)?"B" : "."); >> - printf((codec->capabilities & AV_CODEC_CAP_DR1) >> ? "D" : "."); >> + printf(" %c%c%c%c%c%c", >> + get_media_type_char(desc->type), >> + (codec->capabilities & >> AV_CODEC_CAP_FRAME_THREADS) ? 'F' : '.', >> + (codec->capabilities & >> AV_CODEC_CAP_SLICE_THREADS) ? 'S' : '.', >> + (codec->capabilities & >> AV_CODEC_CAP_EXPERIMENTAL) ? 'X' : '.', >> + (codec->capabilities & >> AV_CODEC_CAP_DRAW_HORIZ_BAND) ? 'B' : '.', >> + (codec->capabilities & >> AV_CODEC_CAP_DR1) ? 'D' : '.'); >> printf(" %-20s %s", codec->name, codec->long_name ? >> codec->long_name : ""); >> if (strcmp(codec->name, desc->name)) > > You could instead port this function to AVBPrint, to only print to > stderr once.
I do not think this is a good idea as it would add another potential source of errors (for the implicit (re)allocations that happen when using the AVBPrint API). - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".