On Sun, Dec 19, 2021 at 09:00:27PM -0300, James Almer wrote: > > > On 12/19/2021 8:56 PM, Michael Niedermayer wrote: > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > > --- > > libavcodec/ass.c | 33 +++++++++++++++++++++++++++------ > > libavcodec/ass.h | 7 +++++++ > > 2 files changed, 34 insertions(+), 6 deletions(-) > > > > diff --git a/libavcodec/ass.c b/libavcodec/ass.c > > index 725e4d42ba1..06714678722 100644 > > --- a/libavcodec/ass.c > > +++ b/libavcodec/ass.c > > @@ -114,17 +114,31 @@ char *ff_ass_get_dialog(int readorder, int layer, > > const char *style, > > speaker ? speaker : "", text); > > } > > -int ff_ass_add_rect(AVSubtitle *sub, const char *dialog, > > +int ff_ass_add_rect2(AVSubtitle *sub, const char *dialog, > > int readorder, int layer, const char *style, > > - const char *speaker) > > + const char *speaker, unsigned *nb_rect_allocated) > > { > > - AVSubtitleRect **rects, *rect; > > + AVSubtitleRect **rects = sub->rects, *rect; > > char *ass_str; > > + uint64_t new_nb = 0; > > - rects = av_realloc_array(sub->rects, sub->num_rects+1, > > sizeof(*sub->rects)); > > - if (!rects) > > + if (sub->num_rects >= UINT_MAX) > > return AVERROR(ENOMEM); > > - sub->rects = rects; > > + > > + if (nb_rect_allocated && *nb_rect_allocated <= sub->num_rects) { > > + new_nb = FFMIN(sub->num_rects + sub->num_rects/16LL + 1, UINT_MAX); > > Isn't this what av_fast_realloc() is for?
No, its what av_fast_realloc_array() would be for but that is not in git yet I think we should wait for that to become available before changing the used function (1 change less / less work) thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Republics decline into democracies and democracies degenerate into despotisms. -- Aristotle
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".