Merge pull request #18449 from alalek:ios_dont_disable_world_automatically
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Mon, 28 Sep 2020 18:46:28 +0000 (18:46 +0000)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Mon, 28 Sep 2020 18:46:28 +0000 (18:46 +0000)
cmake/OpenCVFindIPP.cmake
modules/dnn/src/ocl4dnn/src/ocl4dnn_conv_spatial.cpp
modules/dnn/src/opencl/conv_layer_spatial.cl
modules/dnn/test/test_layers.cpp
modules/ml/misc/python/test/test_goodfeatures.py

index 59cd497..9bc215f 100644 (file)
@@ -252,6 +252,7 @@ if(NOT DEFINED IPPROOT)
   else()
     ocv_install_3rdparty_licenses(ippicv "${ICV_PACKAGE_ROOT}/EULA.txt")
   endif()
+  ocv_install_3rdparty_licenses(ippicv "${ICV_PACKAGE_ROOT}/third-party-programs.txt")
 endif()
 
 file(TO_CMAKE_PATH "${IPPROOT}" __IPPROOT)
index 3cca52d..3707a31 100644 (file)
@@ -607,6 +607,7 @@ void OCL4DNNConvSpatial<Dtype>::calculateBenchmark(const UMat &bottom, UMat &ver
 {
     options_.str(""); options_.clear(); // clear contents and state flags
     createBasicKernel(1, 1, 1);
+    CV_Assert(!kernelQueue.empty());  // basic kernel must be available
     kernel_index_ = kernelQueue.size() - 1;
     convolve(bottom, verifyTop, weight, bias, numImages, kernelQueue[kernel_index_]);
     CV_Assert(phash.find(kernelQueue[kernel_index_]->kernelName) != phash.end());
@@ -1713,6 +1714,7 @@ void OCL4DNNConvSpatial<float>::useFirstAvailable(const UMat &bottom,
                                     tunerItems[i]->blockHeight,
                                     tunerItems[i]->blockDepth))
         {
+            CV_Assert(!kernelQueue.empty());  // basic kernel must be available
             int kernelIdx = kernelQueue.size() - 1;
             kernelConfig* config = kernelQueue[kernelIdx].get();
             bool failed = false;
@@ -1883,6 +1885,7 @@ void OCL4DNNConvSpatial<float>::setupConvolution(const UMat &bottom,
         CV_LOG_INFO(NULL, "fallback to basic kernel");
         options_.str(""); options_.clear(); // clear contents and state flags
         createBasicKernel(1, 1, 1);
+        CV_Assert(!kernelQueue.empty());  // basic kernel must be available
         kernel_index_ = kernelQueue.size() - 1;
     }
     this->bestKernelConfig = kernelQueue[kernel_index_];
index 5d4d6f3..236e8d0 100644 (file)
@@ -205,7 +205,7 @@ __kernel void ConvolveBasic(
 #if APPLY_BIAS
                 ACTIVATION_FUNCTION(convolved_image, offset, sum[kern] + bias[biasIndex + kern], biasIndex + kern);
 #else
-                ACTIVATION_FUNCTION(convolved_image, offset, sum[kern], biasIndex + kern);
+                ACTIVATION_FUNCTION(convolved_image, offset, sum[kern], kernelNum + kern);
 #endif
             }
         }
index f9b0f62..085e5a5 100644 (file)
@@ -2223,13 +2223,6 @@ TEST_P(ConvolutionActivationFusion, Accuracy)
     if (actType == "Power" && backendId == DNN_BACKEND_OPENCV && (targetId == DNN_TARGET_OPENCL || targetId == DNN_TARGET_OPENCL_FP16))
         applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL);
 
-    // bug: https://github.com/opencv/opencv/issues/17953
-    if (actType == "ChannelsPReLU" && bias_term == false &&
-        backendId == DNN_BACKEND_OPENCV && (targetId == DNN_TARGET_OPENCL || targetId == DNN_TARGET_OPENCL_FP16))
-    {
-        applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL);
-    }
-
     Net net;
     int convId = net.addLayer(convParams.name, convParams.type, convParams);
     int activId = net.addLayerToPrev(activationParams.name, activationParams.type, activationParams);
index 91fc885..a590ba9 100644 (file)
@@ -11,7 +11,7 @@ from tests_common import NewOpenCVTests
 class TestGoodFeaturesToTrack_test(NewOpenCVTests):
     def test_goodFeaturesToTrack(self):
         arr = self.get_sample('samples/data/lena.jpg', 0)
-        original = arr.copy(True)
+        original = arr.copy()
         threshes = [ x / 100. for x in range(1,10) ]
         numPoints = 20000