summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Dyomin <artem.dyomin@qt.io>2023-02-16 16:31:36 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-02-17 09:56:30 +0000
commitd875692185cd0bc6c1ec6d5d505566b64ff56c4a (patch)
treea98361e4a8376bffb9d4e958b52a466a83929780
parentb07333a18f5da27e2a4c1ce09c4bae7081c27e5e (diff)
Ensure thread-safe qInitConvertFuncsAsm
Change-Id: Ibce8162ff461a5798ecd5720e41f60077ad19ab4 Reviewed-by: Lars Knoll <lars@knoll.priv.no> (cherry picked from commit 6f6a501567f7c1557f53b5ca9e29d597e0764741) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/multimedia/video/qvideoframeconversionhelper.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/multimedia/video/qvideoframeconversionhelper.cpp b/src/multimedia/video/qvideoframeconversionhelper.cpp
index ab226d0d8..30ca146e2 100644
--- a/src/multimedia/video/qvideoframeconversionhelper.cpp
+++ b/src/multimedia/video/qvideoframeconversionhelper.cpp
@@ -4,6 +4,8 @@
#include "qvideoframeconversionhelper_p.h"
#include "qrgb.h"
+#include <mutex>
+
QT_BEGIN_NAMESPACE
#define CLAMP(n) (n > 255 ? 255 : (n < 0 ? 0 : n))
@@ -552,11 +554,9 @@ static void qInitConvertFuncsAsm()
VideoFrameConvertFunc qConverterForFormat(QVideoFrameFormat::PixelFormat format)
{
- static bool initAsmFuncsDone = false;
- if (!initAsmFuncsDone) {
- qInitConvertFuncsAsm();
- initAsmFuncsDone = true;
- }
+ static std::once_flag once;
+ std::call_once(once, &qInitConvertFuncsAsm);
+
VideoFrameConvertFunc convert = qConvertFuncs[format];
return convert;
}