diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2023-02-16 16:31:36 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-02-17 09:56:30 +0000 |
commit | d875692185cd0bc6c1ec6d5d505566b64ff56c4a (patch) | |
tree | a98361e4a8376bffb9d4e958b52a466a83929780 | |
parent | b07333a18f5da27e2a4c1ce09c4bae7081c27e5e (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.cpp | 10 |
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; } |