enabled 3-channels support for cv::createSuperResolution_BTVL1
This commit is contained in:
		| @@ -3425,8 +3425,6 @@ static bool ocl_sepColFilter2D(const UMat & buf, UMat & dst, const Mat & kernelY | |||||||
|     return k.run(2, globalsize, localsize, false); |     return k.run(2, globalsize, localsize, false); | ||||||
| } | } | ||||||
|  |  | ||||||
| #if 0 |  | ||||||
|  |  | ||||||
| const int optimizedSepFilterLocalSize = 16; | const int optimizedSepFilterLocalSize = 16; | ||||||
|  |  | ||||||
| static bool ocl_sepFilter2D_SinglePass(InputArray _src, OutputArray _dst, | static bool ocl_sepFilter2D_SinglePass(InputArray _src, OutputArray _dst, | ||||||
| @@ -3484,13 +3482,11 @@ static bool ocl_sepFilter2D_SinglePass(InputArray _src, OutputArray _dst, | |||||||
|     return k.run(2, gt2, lt2, false); |     return k.run(2, gt2, lt2, false); | ||||||
| } | } | ||||||
|  |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth, | static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth, | ||||||
|                       InputArray _kernelX, InputArray _kernelY, Point anchor, |                       InputArray _kernelX, InputArray _kernelY, Point anchor, | ||||||
|                       double delta, int borderType ) |                       double delta, int borderType ) | ||||||
| { | { | ||||||
| //    Size imgSize = _src.size(); |     Size imgSize = _src.size(); | ||||||
|  |  | ||||||
|     if (abs(delta)> FLT_MIN) |     if (abs(delta)> FLT_MIN) | ||||||
|         return false; |         return false; | ||||||
| @@ -3515,10 +3511,11 @@ static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth, | |||||||
|     if (ddepth < 0) |     if (ddepth < 0) | ||||||
|         ddepth = sdepth; |         ddepth = sdepth; | ||||||
|  |  | ||||||
| //    CV_OCL_RUN_(kernelY.rows <= 21 && kernelX.rows <= 21 && |     CV_OCL_RUN_(kernelY.rows <= 21 && kernelX.rows <= 21 && | ||||||
| //        imgSize.width > optimizedSepFilterLocalSize + (kernelX.rows >> 1) && |         imgSize.width > optimizedSepFilterLocalSize + (kernelX.rows >> 1) && | ||||||
| //        imgSize.height > optimizedSepFilterLocalSize + (kernelY.rows >> 1), |         imgSize.height > optimizedSepFilterLocalSize + (kernelY.rows >> 1) && | ||||||
| //        ocl_sepFilter2D_SinglePass(_src, _dst, _kernelX, _kernelY, borderType, ddepth), true) |         (borderType & BORDER_ISOLATED) != 0, | ||||||
|  |         ocl_sepFilter2D_SinglePass(_src, _dst, _kernelX, _kernelY, borderType, ddepth), true) | ||||||
|  |  | ||||||
|     UMat src = _src.getUMat(); |     UMat src = _src.getUMat(); | ||||||
|     Size srcWholeSize; Point srcOffset; |     Size srcWholeSize; Point srcOffset; | ||||||
|   | |||||||
| @@ -85,7 +85,7 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool) | |||||||
|         temp = randomMat(Size(1, ksize.height),  CV_MAKE_TYPE(CV_32F, 1), -MAX_VALUE, MAX_VALUE); |         temp = randomMat(Size(1, ksize.height),  CV_MAKE_TYPE(CV_32F, 1), -MAX_VALUE, MAX_VALUE); | ||||||
|         cv::normalize(temp, kernelY, 1.0, 0.0, NORM_L1); |         cv::normalize(temp, kernelY, 1.0, 0.0, NORM_L1); | ||||||
|  |  | ||||||
|         Size roiSize = randomSize(ksize.width + 16, MAX_VALUE, ksize.height + 20, MAX_VALUE); |         Size roiSize = randomSize(ksize.width, MAX_VALUE, ksize.height, MAX_VALUE); | ||||||
|         int rest = roiSize.width % 4; |         int rest = roiSize.width % 4; | ||||||
|         if (rest != 0) |         if (rest != 0) | ||||||
|             roiSize.width += (4 - rest); |             roiSize.width += (4 - rest); | ||||||
| @@ -115,7 +115,7 @@ PARAM_TEST_CASE(SepFilter2D, MatDepth, Channels, BorderType, bool, bool) | |||||||
|  |  | ||||||
| OCL_TEST_P(SepFilter2D, Mat) | OCL_TEST_P(SepFilter2D, Mat) | ||||||
| { | { | ||||||
|     for (int j = 0; j < test_loop_times; j++) |     for (int j = 0; j < test_loop_times + 1; j++) | ||||||
|     { |     { | ||||||
|         random_roi(); |         random_roi(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1014,10 +1014,8 @@ namespace | |||||||
|             return; |             return; | ||||||
|  |  | ||||||
| #ifdef HAVE_OPENCL | #ifdef HAVE_OPENCL | ||||||
|         if (isUmat_ && curFrame_.channels() == 1) |         if (isUmat_) | ||||||
|             curFrame_.copyTo(ucurFrame_); |             curFrame_.copyTo(ucurFrame_); | ||||||
|         else |  | ||||||
|             isUmat_ = false; |  | ||||||
| #endif | #endif | ||||||
|         ++storePos_; |         ++storePos_; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Ilya Lavrenov
					Ilya Lavrenov