[FFmpeg-devel] [PATCH] lavfi/buffersink: cast to uint64_t before shifting.
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Tue Sep 8 21:14:18 EEST 2020
Nicolas George:
> Fix CID 1466666.
>
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
> libavfilter/buffersink.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c
> index 9338969bf1..58848941d4 100644
> --- a/libavfilter/buffersink.c
> +++ b/libavfilter/buffersink.c
> @@ -72,10 +72,10 @@ static void cleanup_redundant_layouts(AVFilterContext *ctx)
>
> for (i = 0; i < nb_counts; i++)
> if (buf->channel_counts[i] < 64)
> - counts |= 1 << buf->channel_counts[i];
> + counts |= (uint64_t)1 << buf->channel_counts[i];
> for (i = lc = 0; i < nb_layouts; i++) {
> n = av_get_channel_layout_nb_channels(buf->channel_layouts[i]);
> - if (n < 64 && (counts & (1 << n)))
> + if (n < 64 && (counts & ((uint64_t)1 << n)))
> av_log(ctx, AV_LOG_WARNING,
> "Removing channel layout 0x%"PRIx64", redundant with %d channels\n",
> buf->channel_layouts[i], n);
>
Using ULL would be shorter.
- Andreas
More information about the ffmpeg-devel
mailing list