From 57dad685d1f8c37c0c6b49598ac1f83892f63067 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Thu, 26 Apr 2018 12:42:37 +0300 Subject: [PATCH] core: disabled IPP AVX2 normL1(a, b, mask) for cv::Mat with width < 16 --- modules/core/src/norm.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/core/src/norm.cpp b/modules/core/src/norm.cpp index a8d19cb21c..09cd677799 100644 --- a/modules/core/src/norm.cpp +++ b/modules/core/src/norm.cpp @@ -1005,6 +1005,11 @@ static bool ipp_norm(InputArray _src1, InputArray _src2, int normType, InputArra type == CV_16UC3 ? (ippiMaskNormDiffFuncC3)ippiNormDiff_L2_16u_C3CMR : type == CV_32FC3 ? (ippiMaskNormDiffFuncC3)ippiNormDiff_L2_32f_C3CMR : 0) : 0; + if (cv::ipp::getIppTopFeatures() & ippCPUID_AVX2) // IPP_DISABLE_NORM_16UC3_mask_small (#11399) + { + if (normType == NORM_L1 && type == CV_16UC3 && sz.width < 16) + return false; + } if( ippiNormDiff_C3CMR ) { Ipp64f norm1, norm2, norm3;