From 286c2c236b302efdc9e9ab54c77f7e46f72d19d8 Mon Sep 17 00:00:00 2001 From: cyy Date: Fri, 7 Sep 2018 23:43:47 +0800 Subject: [PATCH] Merge pull request #12458 from DEEPIR:3.4 * may be an typo fix * remove identical branch,may be paste error * add parentheses around macro parameter * simplify if condition * check malloc fail * change the condition of branch removed by commit 3041502861318c85d901e8c08226ff67898c77ed --- modules/core/include/opencv2/core/utils/trace.hpp | 2 +- modules/core/include/opencv2/core/vsx_utils.hpp | 4 ++-- modules/core/src/precomp.hpp | 2 +- modules/imgcodecs/src/grfmt_webp.cpp | 4 ++-- modules/photo/src/align.cpp | 2 +- modules/video/src/bgfg_KNN.cpp | 2 +- modules/video/src/bgfg_gaussmix2.cpp | 2 +- modules/videoio/src/cap_ffmpeg_impl.hpp | 2 ++ 8 files changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/core/include/opencv2/core/utils/trace.hpp b/modules/core/include/opencv2/core/utils/trace.hpp index 1539fb9add..194c8d7a11 100644 --- a/modules/core/include/opencv2/core/utils/trace.hpp +++ b/modules/core/include/opencv2/core/utils/trace.hpp @@ -142,7 +142,7 @@ CV_EXPORTS void traceArg(const TraceArg& arg, double value); static const CV_TRACE_NS::details::Region::LocationStaticStorage \ CV__TRACE_LOCATION_VARNAME(loc_id) = { &(CV__TRACE_LOCATION_EXTRA_VARNAME(loc_id)), name, CV_TRACE_FILENAME, __LINE__, flags}; -#define CV__TRACE_DEFINE_LOCATION_FN(name, flags) CV__TRACE_DEFINE_LOCATION_(fn, name, (flags | CV_TRACE_NS::details::REGION_FLAG_FUNCTION)) +#define CV__TRACE_DEFINE_LOCATION_FN(name, flags) CV__TRACE_DEFINE_LOCATION_(fn, name, ((flags) | CV_TRACE_NS::details::REGION_FLAG_FUNCTION)) #define CV__TRACE_OPENCV_FUNCTION() \ diff --git a/modules/core/include/opencv2/core/vsx_utils.hpp b/modules/core/include/opencv2/core/vsx_utils.hpp index ca55d97f1e..d4dab9eed7 100644 --- a/modules/core/include/opencv2/core/vsx_utils.hpp +++ b/modules/core/include/opencv2/core/vsx_utils.hpp @@ -203,7 +203,7 @@ VSX_FINLINE(rt) fnm(const rg& a, const rg& b) \ #if __GNUG__ < 5 // vec_xxpermdi in gcc4 missing little-endian supports just like clang -# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ ((c & 1) << 1 | c >> 1))) +# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ (((c) & 1) << 1 | (c) >> 1))) #else # define vec_permi vec_xxpermdi #endif // __GNUG__ < 5 @@ -320,7 +320,7 @@ VSX_FINLINE(rt) fnm(const rg& a) { return __builtin_convertvector(a, rt); } # define vec_xxsldwi(a, b, c) vec_sld(a, b, (c) * 4) #else // vec_xxpermdi is missing little-endian supports in clang 4 just like gcc4 -# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ ((c & 1) << 1 | c >> 1))) +# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ (((c) & 1) << 1 | (c) >> 1))) #endif // __clang_major__ < 5 // shift left double by word immediate diff --git a/modules/core/src/precomp.hpp b/modules/core/src/precomp.hpp index 54d0a227cd..6349aa2dfd 100644 --- a/modules/core/src/precomp.hpp +++ b/modules/core/src/precomp.hpp @@ -204,7 +204,7 @@ struct NoVec size_t operator()(const void*, const void*, void*, size_t) const { return 0; } }; -#define CV_SPLIT_MERGE_MAX_BLOCK_SIZE(cn) ((INT_MAX/4)/cn) // HAL implementation accepts 'int' len, so INT_MAX doesn't work here +#define CV_SPLIT_MERGE_MAX_BLOCK_SIZE(cn) ((INT_MAX/4)/(cn)) // HAL implementation accepts 'int' len, so INT_MAX doesn't work here enum { BLOCK_SIZE = 1024 }; diff --git a/modules/imgcodecs/src/grfmt_webp.cpp b/modules/imgcodecs/src/grfmt_webp.cpp index 58ddec3665..6b1011240c 100644 --- a/modules/imgcodecs/src/grfmt_webp.cpp +++ b/modules/imgcodecs/src/grfmt_webp.cpp @@ -207,9 +207,9 @@ bool WebPDecoder::readData(Mat &img) { cvtColor(read_img, img, COLOR_BGRA2BGR); } - else if (img.type() == CV_8UC3 && m_type == CV_8UC4) + else if (img.type() == CV_8UC4 && m_type == CV_8UC3) { - cvtColor(read_img, img, COLOR_BGRA2BGR); + cvtColor(read_img, img, COLOR_BGR2BGRA); } else { diff --git a/modules/photo/src/align.cpp b/modules/photo/src/align.cpp index cfb8a5d84b..d83bf69d92 100644 --- a/modules/photo/src/align.cpp +++ b/modules/photo/src/align.cpp @@ -123,7 +123,7 @@ public: Mat img0 = _img0.getMat(); Mat img1 = _img1.getMat(); CV_Assert(img0.channels() == 1 && img0.type() == img1.type()); - CV_Assert(img0.size() == img0.size()); + CV_Assert(img0.size() == img1.size()); int maxlevel = static_cast(log((double)max(img0.rows, img0.cols)) / log(2.0)) - 1; maxlevel = min(maxlevel, max_bits - 1); diff --git a/modules/video/src/bgfg_KNN.cpp b/modules/video/src/bgfg_KNN.cpp index 2866e2d767..794b90e7c0 100755 --- a/modules/video/src/bgfg_KNN.cpp +++ b/modules/video/src/bgfg_KNN.cpp @@ -229,7 +229,7 @@ public: virtual bool getDetectShadows() const CV_OVERRIDE { return bShadowDetection; } virtual void setDetectShadows(bool detectshadows) CV_OVERRIDE { - if ((bShadowDetection && detectshadows) || (!bShadowDetection && !detectshadows)) + if (bShadowDetection == detectshadows) return; bShadowDetection = detectshadows; #ifdef HAVE_OPENCL diff --git a/modules/video/src/bgfg_gaussmix2.cpp b/modules/video/src/bgfg_gaussmix2.cpp index 96ae0299ec..ab77fd79d8 100644 --- a/modules/video/src/bgfg_gaussmix2.cpp +++ b/modules/video/src/bgfg_gaussmix2.cpp @@ -266,7 +266,7 @@ public: virtual bool getDetectShadows() const CV_OVERRIDE { return bShadowDetection; } virtual void setDetectShadows(bool detectshadows) CV_OVERRIDE { - if ((bShadowDetection && detectshadows) || (!bShadowDetection && !detectshadows)) + if (bShadowDetection == detectshadows) return; bShadowDetection = detectshadows; #ifdef HAVE_OPENCL diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp index f4a9f9cc79..e0198be5f8 100644 --- a/modules/videoio/src/cap_ffmpeg_impl.hpp +++ b/modules/videoio/src/cap_ffmpeg_impl.hpp @@ -715,6 +715,8 @@ static int LockCallBack(void **mutex, AVLockOp op) { case AV_LOCK_CREATE: localMutex = reinterpret_cast(malloc(sizeof(ImplMutex))); + if (!localMutex) + return 1; localMutex->init(); *mutex = localMutex; if (!*mutex)