[FFmpeg-devel] [PATCH] avformat/movenc: Reduce size of the allocated MOVIentry array

James Almer jamrial at gmail.com
Thu Mar 26 16:18:53 EET 2020


On 3/26/2020 11:06 AM, Anton Khirnov wrote:
> Quoting James Almer (2020-03-25 18:56:44)
>> Increase it in a linear way instead.
>> Helps reduce memory usage, especially on long, non fragmented output.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>> An alternative is using av_fast_realloc(), in a similar fashion as
>> ff_add_index_entry(), which will keep the memory usage more closely tied to the
>> amount of entries needed, but the amount of reallocations will be much higher,
>> so i don't know if the tradeof is beneficial.
> 
> Wait, wouldn't fast_realloc() do pretty much the same as your patch? Why
> should the number of reallocations be higher?

I meant mimicking the behavior of ff_add_index_entry(), doing something like

cluster = av_fast_realloc(trk->cluster,
                          &trk->cluster_capacity,
                          (trk->entry + 1) * sizeof(*trk->cluster));
trk->cluster = cluster;

Which will get rid of the fixed MOV_INDEX_CLUSTER_SIZE increase per
realloc, and resulting in more, smaller size increment reallocs (but of
course not after every single new entry, which is the entire point of
av_fast_realloc()).


More information about the ffmpeg-devel mailing list