From 230f9e23072d971f184b90a8f108517fc866461f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= <g...@haerdin.se>
Date: Tue, 31 May 2022 10:54:08 +0200
Subject: [PATCH] lavc/libopenjpegdec: Enable slice threading

---
 libavcodec/libopenjpegdec.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c
index 58715b43ee..649aadad42 100644
--- a/libavcodec/libopenjpegdec.c
+++ b/libavcodec/libopenjpegdec.c
@@ -369,6 +369,10 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture,
     // Tie decoder with decoding parameters
     opj_setup_decoder(dec, &ctx->dec_params);
 
+    if (avctx->active_thread_type == FF_THREAD_SLICE) {
+        opj_codec_set_threads(dec, avctx->thread_count);
+    }
+
     stream = opj_stream_default_create(OPJ_STREAM_READ);
 
     if (!stream) {
@@ -505,7 +509,7 @@ const FFCodec ff_libopenjpeg_decoder = {
     .p.long_name    = NULL_IF_CONFIG_SMALL("OpenJPEG JPEG 2000"),
     .p.type         = AVMEDIA_TYPE_VIDEO,
     .p.id           = AV_CODEC_ID_JPEG2000,
-    .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
+    .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
     .p.max_lowres   = 31,
     .p.priv_class   = &openjpeg_class,
     .p.wrapper_name = "libopenjpeg",
-- 
2.30.2

_______________________________________________
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".

Reply via email to