[FFmpeg-devel] [PATCH v4 03/13] avutil/frame: add helper for uninitializing side data sets
Anton Khirnov
anton at khirnov.net
Tue Sep 5 14:48:15 EEST 2023
Quoting James Almer (2023-09-02 15:12:20)
> On 9/1/2023 5:38 PM, Jan Ekström wrote:
> > ---
> > libavutil/frame.c | 5 +++++
> > libavutil/frame.h | 8 ++++++++
> > 2 files changed, 13 insertions(+)
> >
> > diff --git a/libavutil/frame.c b/libavutil/frame.c
> > index 4b8481b756..b03f8d6c73 100644
> > --- a/libavutil/frame.c
> > +++ b/libavutil/frame.c
> > @@ -90,6 +90,11 @@ static void frame_side_data_wipe(AVFrame *frame)
> > wipe_side_data(&frame->side_data, &frame->nb_side_data);
> > }
> >
> > +void av_frame_side_data_set_uninit(AVFrameSideDataSet *set)
> > +{
> > + wipe_side_data(&set->sd, &set->nb_sd);
> > +}
> > +
> > AVFrame *av_frame_alloc(void)
> > {
> > AVFrame *frame = av_malloc(sizeof(*frame));
> > diff --git a/libavutil/frame.h b/libavutil/frame.h
> > index 6155226c1d..dc87d38adc 100644
> > --- a/libavutil/frame.h
> > +++ b/libavutil/frame.h
> > @@ -1057,6 +1057,14 @@ int av_frame_apply_cropping(AVFrame *frame, int flags);
> > */
> > const char *av_frame_side_data_name(enum AVFrameSideDataType type);
> >
> > +/**
> > + * Free all side data items and their contents, then zeroes out the
> > + * struct values.
> > + *
> > + * @param set the set which should be uninitialized
> > + */
> > +void av_frame_side_data_set_uninit(AVFrameSideDataSet *set);
>
> av_frame_side_data_set_free()?
uninit is better IMO because the function cleans the struct contents,
but does not free the struct itself.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list