Am Fr., 2. Sept. 2022 um 23:56 Uhr schrieb Andreas Rheinhardt <andreas.rheinha...@outlook.com>: > > Carl Eugen Hoyos: > > Fixes several warnings: > > warning: format specifies type 'unsigned char' but the argument has type > > 'unsigned int' > > --- > > libavformat/hevc.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/libavformat/hevc.c b/libavformat/hevc.c > > index 1841dd5785..ca5187a92e 100644 > > --- a/libavformat/hevc.c > > +++ b/libavformat/hevc.c > > @@ -848,15 +848,15 @@ static int hvcc_write(AVIOContext *pb, > > HEVCDecoderConfigurationRecord *hvcc) > > if (array->numNalus == 0) > > continue; > > > > - av_log(NULL, AV_LOG_TRACE, "array_completeness[%"PRIu8"]: > > %"PRIu8"\n", > > + av_log(NULL, AV_LOG_TRACE, "array_completeness[%u]: > > %"PRIu8"\n", > > j, array->array_completeness); > > - av_log(NULL, AV_LOG_TRACE, "NAL_unit_type[%"PRIu8"]: > > %"PRIu8"\n", > > + av_log(NULL, AV_LOG_TRACE, "NAL_unit_type[%u]: > > %"PRIu8"\n", > > j, array->NAL_unit_type); > > - av_log(NULL, AV_LOG_TRACE, "numNalus[%"PRIu8"]: > > %"PRIu16"\n", > > + av_log(NULL, AV_LOG_TRACE, "numNalus[%u]: > > %"PRIu16"\n", > > j, array->numNalus); > > for (unsigned k = 0; k < array->numNalus; k++) > > av_log(NULL, AV_LOG_TRACE, > > - "nalUnitLength[%"PRIu8"][%"PRIu16"]: > > %"PRIu16"\n", > > + "nalUnitLength[%u][%u]: %"PRIu16"\n", > > j, k, array->nalUnitLength[k]); > > j++; > > } > > -- > > I didn't catch this, as I didn't get a warning at all. The reason for > this is that it is actually not problematic: > "The ellipsis notation in a function prototype declarator causes > argument type conversion to stop after the last declared parameter. The > default argument > promotions are performed on trailing arguments." The default argument > promotions include promoting integral types of conversion rank < int to > int. So av_log() has to read an int/unsigned even when one uses a > %"PRIu8". And so my inttypes.h contains this: > > # define PRIu8 "u"
On Windows where clang shows a warning it is #define PRIu8 "hhu" See "Size Prefixes" in https://docs.microsoft.com/en-us/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions > # define PRIu16 "u" > # define PRIu32 "u" > > No wonder neither GCC nor Clang warned about this. > Anyway, patch LGTM. Please push, I currently have no access to my development system. Thank you, Carl Eugen _______________________________________________ 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".