Message ID | GV1P250MB073722E20166CCF2883487CF8F529@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM |
---|---|
State | Accepted |
Commit | 6d0a7e96e746a8a0fc03725a0f5e2c908c82b7c3 |
Headers | show |
Series | [FFmpeg-devel,1/5] avutil/pixdesc: Remove always-false checks | 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 |
Andreas Rheinhardt: > ff_check_pixfmt_descriptors() was added in commit > 20e99a9c10cdbe9ad659dce5bdec569d744f8219. At this time, > the values of enum AVPixelFormat were not contiguous; > instead there was a jump from 111 to 291 (or from 115 > to 295 depending upon AV_PIX_FMT_ABI_GIT_MASTER). > ff_check_pixfmt_descriptors() accounts for this > by skipping empty descriptors. Yet this issue no longer > exists: There are no holes. > > The check for said holes makes GCC believe that the name > can be NULL; because it is used as argument corresponding to > %s in a log statement, it therefore emits a warning > (since d75c4693fef51e8f0a1b88798530f4c5147ea906). Therefore > this commit simply removes these checks. > > Also move the checks for name before the log statement. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > libavutil/pixdesc.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c > index 3ac44614a7..c42a0242c5 100644 > --- a/libavutil/pixdesc.c > +++ b/libavutil/pixdesc.c > @@ -2922,13 +2922,11 @@ void ff_check_pixfmt_descriptors(void){ > int linesize[4] = {0,0,0,0}; > uint16_t tmp[2]; > > - if (!d->name && !d->nb_components && !d->log2_chroma_w && !d->log2_chroma_h && !d->flags) > - continue; > + av_assert0(d->name && d->name[0]); > av_log(NULL, AV_LOG_INFO, "Checking: %s\n", d->name); > av_assert0(d->log2_chroma_w <= 3); > av_assert0(d->log2_chroma_h <= 3); > av_assert0(d->nb_components <= 4); > - av_assert0(d->name && d->name[0]); > av_assert2(av_get_pix_fmt(d->name) == i); > > for (j=0; j<FF_ARRAY_ELEMS(d->comp); j++) { Will apply this patchset (with the issue pointed out by Anton fixed) tomorrow unless there are objections. - Andreas
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index 3ac44614a7..c42a0242c5 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2922,13 +2922,11 @@ void ff_check_pixfmt_descriptors(void){ int linesize[4] = {0,0,0,0}; uint16_t tmp[2]; - if (!d->name && !d->nb_components && !d->log2_chroma_w && !d->log2_chroma_h && !d->flags) - continue; + av_assert0(d->name && d->name[0]); av_log(NULL, AV_LOG_INFO, "Checking: %s\n", d->name); av_assert0(d->log2_chroma_w <= 3); av_assert0(d->log2_chroma_h <= 3); av_assert0(d->nb_components <= 4); - av_assert0(d->name && d->name[0]); av_assert2(av_get_pix_fmt(d->name) == i); for (j=0; j<FF_ARRAY_ELEMS(d->comp); j++) {
ff_check_pixfmt_descriptors() was added in commit 20e99a9c10cdbe9ad659dce5bdec569d744f8219. At this time, the values of enum AVPixelFormat were not contiguous; instead there was a jump from 111 to 291 (or from 115 to 295 depending upon AV_PIX_FMT_ABI_GIT_MASTER). ff_check_pixfmt_descriptors() accounts for this by skipping empty descriptors. Yet this issue no longer exists: There are no holes. The check for said holes makes GCC believe that the name can be NULL; because it is used as argument corresponding to %s in a log statement, it therefore emits a warning (since d75c4693fef51e8f0a1b88798530f4c5147ea906). Therefore this commit simply removes these checks. Also move the checks for name before the log statement. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavutil/pixdesc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)