From 2cff86b07b56d2923f60923e7dd21a546c2cc6fa Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Thu, 7 Sep 2023 18:42:03 +0200 Subject: [PATCH] avcodec/mjpegdec: add frame threading for mjpeg decoder Signed-off-by: Paul B Mahol --- libavcodec/mjpegdec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 29f281231c..cc38b6c4a9 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -52,12 +52,12 @@ #include "jpeglsdec.h" #include "profiles.h" #include "put_bits.h" +#include "thread.h" #include "tiff.h" #include "exif.h" #include "bytestream.h" #include "tiff_common.h" - static int init_default_huffman_tables(MJpegDecodeContext *s) { static const struct { @@ -753,8 +753,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) } av_frame_unref(s->picture_ptr); - if (ff_get_buffer(s->avctx, s->picture_ptr, AV_GET_BUFFER_FLAG_REF) < 0) - return -1; + if ((ret = ff_thread_get_buffer(s->avctx, s->picture_ptr, AV_GET_BUFFER_FLAG_REF)) < 0) + return ret; s->picture_ptr->pict_type = AV_PICTURE_TYPE_I; s->picture_ptr->flags |= AV_FRAME_FLAG_KEY; s->got_picture = 1; @@ -3006,7 +3006,7 @@ const FFCodec ff_mjpeg_decoder = { .close = ff_mjpeg_decode_end, FF_CODEC_DECODE_CB(ff_mjpeg_decode_frame), .flush = decode_flush, - .p.capabilities = AV_CODEC_CAP_DR1, + .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS, .p.max_lowres = 3, .p.priv_class = &mjpegdec_class, .p.profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles), -- 2.39.1