Added setIppErrorStatus()
authorAlexander Karsakov <alexander.karsakov@itseez.com>
Fri, 18 Apr 2014 05:01:08 +0000 (09:01 +0400)
committerAlexander Karsakov <alexander.karsakov@itseez.com>
Thu, 24 Apr 2014 12:48:46 +0000 (16:48 +0400)
modules/imgproc/perf/perf_corners.cpp
modules/imgproc/src/corner.cpp

index 451b5e0..dd1e2cc 100644 (file)
@@ -28,8 +28,7 @@ PERF_TEST_P(Img_BlockSize_ApertureSize_k_BorderType, cornerHarris,
     BorderType borderType = get<4>(GetParam());
 
     Mat src = imread(filename, IMREAD_GRAYSCALE);
-    if (src.empty())
-        FAIL() << "Unable to load source image" << filename;
+    ASSERT_FALSE(src.empty()) << "Unable to load source image: " << filename;
 
     Mat dst;
 
@@ -56,8 +55,7 @@ PERF_TEST_P(Img_BlockSize_ApertureSize_BorderType, cornerEigenValsAndVecs,
     BorderType borderType = get<3>(GetParam());
 
     Mat src = imread(filename, IMREAD_GRAYSCALE);
-    if (src.empty())
-        FAIL() << "Unable to load source image" << filename;
+    ASSERT_FALSE(src.empty()) << "Unable to load source image: " << filename;
 
     Mat dst;
 
@@ -84,8 +82,7 @@ PERF_TEST_P(Img_BlockSize_ApertureSize_BorderType, cornerMinEigenVal,
     BorderType borderType = get<3>(GetParam());
 
     Mat src = imread(filename, IMREAD_GRAYSCALE);
-    if (src.empty())
-        FAIL() << "Unable to load source image" << filename;
+    ASSERT_FALSE(src.empty()) << "Unable to load source image: " << filename;
 
     Mat dst;
 
index d0ed626..62a6b21 100644 (file)
@@ -461,7 +461,7 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in
     _dst.create( src.size(), CV_32FC1 );
     Mat dst = _dst.getMat();
 
-#if defined(HAVE_IPP) && (IPP_VERSION_MAJOR >= 8)
+#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY) && (IPP_VERSION_MAJOR >= 8)
     typedef IppStatus (CV_STDCALL * ippiMinEigenValGetBufferSize)(IppiSize, int, int, int*);
     typedef IppStatus (CV_STDCALL * ippiMinEigenVal)(const void*, int, Ipp32f*, int, IppiSize, IppiKernelType, int, int, Ipp8u*);
     IppiKernelType kerType;
@@ -505,12 +505,13 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in
                 Ipp8u* buffer = ippsMalloc_8u(bufferSize);
                 ok = minEigenValFunc(src.data, (int) src.step, (Ipp32f*) dst.data, (int) dst.step, srcRoi, kerType, kerSize, blockSize, buffer);
                 CV_SUPPRESS_DEPRECATED_START
-                if (ok >= 0) ippiMulC_32f_C1IR(norm_coef, (Ipp32f*) dst.data, (int) dst.step, srcRoi);
+                if (ok >= 0) ok = ippiMulC_32f_C1IR(norm_coef, (Ipp32f*) dst.data, (int) dst.step, srcRoi);
                 CV_SUPPRESS_DEPRECATED_END
                 ippsFree(buffer);
                 if (ok >= 0)
                     return;
             }
+            setIppErrorStatus();
         }
     }
 #endif