[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