Message ID | GV1P250MB0737C9CA14F1CE0CAD8EB9E38F05A@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM |
---|---|
State | Accepted |
Commit | 41409405d42977d4544110ccc3667b662a9efc9b |
Headers | show |
Series | [FFmpeg-devel,1/2] fftools/opt_common: Use %c instead of %s to write single char | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On 7/30/2023 9:47 PM, Andreas Rheinhardt wrote: > Also combine multiple printfs. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@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.
James Almer: > On 7/30/2023 9:47 PM, Andreas Rheinhardt wrote: >> Also combine multiple printfs. >> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@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 could do so, but it is not "instead" of this patch. It is mostly orthogonal. (Btw: printf output goes to stdout.) - Andreas
James Almer: > On 7/30/2023 9:47 PM, Andreas Rheinhardt wrote: >> Also combine multiple printfs. >> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@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
Andreas Rheinhardt: > Also combine multiple printfs. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@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)) Will apply these patches tomorrow unless there are objections. - Andreas
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))
Also combine multiple printfs. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- fftools/opt_common.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-)