[FFmpeg-devel] [PATCH 17/18] avcodec/pthread_slice: Reuse buffer if possible
Tomas Härdin
tjoppen at acc.umu.se
Fri Jul 1 16:21:09 EEST 2022
fre 2022-07-01 klockan 00:29 +0200 skrev Andreas Rheinhardt:
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> libavcodec/pthread_slice.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/pthread_slice.c b/libavcodec/pthread_slice.c
> index 756cc59dbf..a4d31c6f4d 100644
> --- a/libavcodec/pthread_slice.c
> +++ b/libavcodec/pthread_slice.c
> @@ -242,9 +242,11 @@ int
> ff_slice_thread_allocz_entries(AVCodecContext *avctx, int count)
> if (avctx->active_thread_type & FF_THREAD_SLICE) {
> SliceThreadContext *p = avctx->internal->thread_ctx;
>
> - if (p->entries) {
> - av_freep(&p->entries);
> + if (p->entries_count == count) {
> + memset(p->entries, 0, p->entries_count * sizeof(*p-
> >entries));
> + return 0;
Couldn't this trivially handle p->entries_count < count also?
> }
> + av_freep(&p->entries);
>
> p->entries = av_calloc(count, sizeof(*p->entries));
> if (!p->entries) {
Looks like we could use an av_fast_calloc()
/Tomas
More information about the ffmpeg-devel
mailing list