[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