[FFmpeg-devel] [PATCH 1/5] avfilter/vf_signature: Allocate arrays together
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Wed Feb 14 14:24:21 EET 2024
epirat07 at gmail.com:
> On 14 Feb 2024, at 13:03, Andreas Rheinhardt wrote:
>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>> ---
>> libavfilter/vf_signature.c | 9 ++-------
>> 1 file changed, 2 insertions(+), 7 deletions(-)
>>
>> diff --git a/libavfilter/vf_signature.c b/libavfilter/vf_signature.c
>> index 4896e8f2c1..eb48bf773d 100644
>> --- a/libavfilter/vf_signature.c
>> +++ b/libavfilter/vf_signature.c
>> @@ -250,14 +250,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
>> int64_t* elemsignature;
>> uint64_t* sortsignature;
>>
>> - elemsignature = av_malloc_array(elemcat->elem_count, sizeof(int64_t));
>> + elemsignature = av_malloc_array(elemcat->elem_count, 2 * sizeof(int64_t));
>> if (!elemsignature)
>> return AVERROR(ENOMEM);
>> - sortsignature = av_malloc_array(elemcat->elem_count, sizeof(int64_t));
>> - if (!sortsignature) {
>> - av_freep(&elemsignature);
>> - return AVERROR(ENOMEM);
>> - }
>> + sortsignature = elemsignature + elemcat->elem_count;
>
> Just my 2cents as someone not maintaining this code, so feel free to ignore completely:
>
> IMHO this makes it harder to understand what is going on, does it provide any meaningful
> benefit?
>
> At the very least I would suggest to add a comment for the sake of whoever looks a this
> code next and tries to grasp what is happening there.
>
The benefit is to have less code; e.g. if the second allocation fails,
one needs to have special cleanup code for the first one.
- Andreas
More information about the ffmpeg-devel
mailing list