{\r
(void)interpolation;\r
\r
- //TODO: add assert to picture size\r
int iscale_x = round(fx);\r
int iscale_y = round(fy);\r
\r
thred_lines = divUp(src.rows, threads);\r
blocks = dst.cols * thred_lines;\r
\r
- printf("device code executed for Y coordinate with:\nwarps %d, threads %d, thred_lines %d, blocks %d\n",\r
- warps, threads, thred_lines, blocks);\r
+ printf("device code executed for Y coordinate with:\nsize %d warps %d, threads %d, thred_lines %d, blocks %d\n",\r
+ dst.rows, warps, threads, thred_lines, blocks);\r
\r
resise_scan_fast_y<T, smem_type><<<blocks, threads, warps * 32 * sizeof(smem_type)>>>\r
(buffer, dst, iscale_x, iscale_y, thred_lines);\r
CV_Assert(interpolation == INTER_AREA);\r
CV_Assert( (fx < 1.0) && (fy < 1.0));\r
CV_Assert(!(dsize == Size()) || (fx > 0 && fy > 0));\r
+ CV_Assert(src.cols >= 128 && src.rows >= 128);\r
\r
if (dsize == Size())\r
dsize = Size(saturate_cast<int>(src.cols * fx), saturate_cast<int>(src.rows * fy));\r
cv::Mat gpu;\r
dst.download(gpu);\r
\r
- // std::cout << src\r
+ std::cout //<< src\r
// << std::endl << std::endl\r
// << gpu_buff\r
// << std::endl << std::endl\r
- // << gpu\r
- // << std::endl << std::endl\r
- // << dst_cpu<< std::endl;\r
+ << gpu\r
+ << std::endl << std::endl\r
+ << dst_cpu<< std::endl;\r
\r
\r
EXPECT_MAT_NEAR(dst_cpu, dst, src.depth() == CV_32F ? 1e-2 : 1.0);\r
\r
INSTANTIATE_TEST_CASE_P(GPU_ImgProc, ResizeArea, testing::Combine(\r
ALL_DEVICES,\r
- testing::Values(cv::Size(512, 256)),//DIFFERENT_SIZES,\r
+ testing::Values(cv::Size(640, 10 * 128)),//DIFFERENT_SIZES,\r
testing::Values(MatType(CV_8UC1)/*MatType(CV_8UC3), MatType(CV_16UC1), MatType(CV_16UC3), MatType(CV_16UC4), MatType(CV_32FC1), MatType(CV_32FC3), MatType(CV_32FC4)*/),\r
- testing::Values(0.5),\r
+ testing::Values(0.1),\r
testing::Values(Interpolation(cv::INTER_AREA)),\r
WHOLE_SUBMAT));\r
\r