[FFmpeg-devel] [PATCH 1/5] avutil/pixdesc: Remove always-false checks

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Mon Sep 26 22:57:21 EEST 2022


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 at 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++) {
-- 
2.34.1



More information about the ffmpeg-devel mailing list