imgproc: sepFilter: update OpenCL condition
authorAlexander Alekhin <alexander.alekhin@intel.com>
Thu, 4 Aug 2016 15:05:39 +0000 (18:05 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Fri, 5 Aug 2016 09:27:24 +0000 (12:27 +0300)
Problem is observed with test_loop_times=100
in corner cases like 93x1 or similar

modules/imgproc/src/filter.cpp

index 50b3809..1a7f27a 100644 (file)
@@ -5019,7 +5019,7 @@ void cv::sepFilter2D( InputArray _src, OutputArray _dst, int ddepth,
                       InputArray _kernelX, InputArray _kernelY, Point anchor,
                       double delta, int borderType )
 {
-    CV_OCL_RUN(_dst.isUMat() && _src.dims() <= 2,
+    CV_OCL_RUN(_dst.isUMat() && _src.dims() <= 2 && (size_t)_src.rows() > _kernelY.total() && (size_t)_src.cols() > _kernelX.total(),
                ocl_sepFilter2D(_src, _dst, ddepth, _kernelX, _kernelY, anchor, delta, borderType))
 
     Mat src = _src.getMat(), kernelX = _kernelX.getMat(), kernelY = _kernelY.getMat();