[FFmpeg-devel] [PATCH 01/11] avcodec/packet: add generic side data helpers
Anton Khirnov
anton at khirnov.net
Tue Oct 3 15:54:48 EEST 2023
Quoting James Almer (2023-09-27 15:12:32)
> +static AVPacketSideData *packet_side_data_add(AVPacketSideData **psd, int *pnb_sd,
> + enum AVPacketSideDataType type,
> + void *data, size_t size)
> +{
> + AVPacketSideData *sd = *psd, *tmp;
> + int nb_sd = *pnb_sd;
> +
> + for (int i = 0; i < nb_sd; i++) {
> + if (sd[i].type != type)
> + continue;
> +
> + av_free(sd[i].data);
> + sd[i].data = data;
> + sd[i].size = size;
> + return &sd[i];
> + }
> +
> + if (nb_sd + 1U > INT_MAX)
seems simpler to write it as nb_sd == INT_MAX
> +AVPacketSideData *av_packet_side_data_new(AVPacketSideData **psd, int *pnb_sd,
> + enum AVPacketSideDataType type,
> + size_t size, int flags)
> +{
> + AVPacketSideData *sd = NULL;
> + void *data;
> +
> + if (size > SIZE_MAX - AV_INPUT_BUFFER_PADDING_SIZE)
> + return NULL;
> +
> + data = av_malloc(size + AV_INPUT_BUFFER_PADDING_SIZE);
> + if (!data)
> + return NULL;
IIRC padding needs to be memset to zero
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list