From 73b16af81ce4edbf0ebfc652d048829586c6766c Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Cerveau?= Date: Mon, 13 Feb 2023 12:05:27 +0100 Subject: [PATCH] openjpegdec: allow multithread decoding only in subframe mode To avoid mis-ordered frames, allow multithread decoding only in subframe mode. Fixes #1786 Part-of: --- subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegdec.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegdec.c b/subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegdec.c index 4909d9a..6962134 100644 --- a/subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegdec.c +++ b/subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegdec.c @@ -217,10 +217,14 @@ gst_openjpeg_dec_start (GstVideoDecoder * decoder) GST_DEBUG_OBJECT (self, "Starting"); self->available_threads = self->max_slice_threads; - if (self->available_threads) - self->decode_frame = gst_openjpeg_dec_decode_frame_multiple; - else - self->decode_frame = gst_openjpeg_dec_decode_frame_single; + self->decode_frame = gst_openjpeg_dec_decode_frame_single; + if (self->available_threads) { + if (gst_video_decoder_get_subframe_mode (decoder)) + self->decode_frame = gst_openjpeg_dec_decode_frame_multiple; + else + GST_INFO_OBJECT (self, + "Multiple threads decoding only available in subframe mode."); + } return TRUE; } -- 2.7.4