[FFmpeg-devel] [PATCH v4 03/13] avutil/frame: add helper for uninitializing side data sets
James Almer
jamrial at gmail.com
Tue Sep 5 14:53:05 EEST 2023
On 9/5/2023 8:48 AM, Anton Khirnov wrote:
> 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.
Ok. Will amend my set then.
More information about the ffmpeg-devel
mailing list