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

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Sep 30 00:04:08 EEST 2022


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

Will apply this patchset (with the issue pointed out by Anton fixed)
tomorrow unless there are objections.

- Andreas



More information about the ffmpeg-devel mailing list