From: wm4 Date: Thu, 23 Jan 2014 17:38:51 +0000 (+0100) Subject: Allocate track array exponentially X-Git-Tag: 0.11.0~39 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5114ff4f2cef1846fbcc9ffcdfddea32bddb0657;p=libass Allocate track array exponentially This reduces the frequency of reallocations. --- diff --git a/libass/ass.c b/libass/ass.c index aa49246..c45adaf 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -57,7 +57,6 @@ struct parser_priv { }; #define ASS_STYLES_ALLOC 20 -#define ASS_EVENTS_ALLOC 200 int ass_library_version(void) { @@ -122,7 +121,7 @@ int ass_alloc_event(ASS_Track *track) assert(track->n_events <= track->max_events); if (track->n_events == track->max_events) { - track->max_events += ASS_EVENTS_ALLOC; + track->max_events = track->max_events * 2 + 1; track->events = (ASS_Event *) realloc(track->events, sizeof(ASS_Event) *