From 9c899474333dc065b2fe5f9ea2440161f6990cfc Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 24 Sep 2012 13:46:09 +0400 Subject: [PATCH] edited misprint --- modules/imgproc/src/imgwarp.cpp | 57 ++++++++------------------------- 1 file changed, 14 insertions(+), 43 deletions(-) diff --git a/modules/imgproc/src/imgwarp.cpp b/modules/imgproc/src/imgwarp.cpp index 6752d22b84..b899ae0683 100644 --- a/modules/imgproc/src/imgwarp.cpp +++ b/modules/imgproc/src/imgwarp.cpp @@ -1400,9 +1400,13 @@ struct DecimateAlpha }; #ifdef __APPLE__ - #define HAVE_TBB HAVE_GDC + #define HAVE_GDC #elif defined _MSC_VER && _MSC_VER >= 1600 - #define HABE_TBB HAVE_CONCURRENCY + #define HAVE_CONCURRENCY +#endif + +#if defined(HAVE_TBB) || defined(HAVE_OPENMP) || defined(HAVE_GDC) || defined(HAVE_CONCURRENCY) + #define HAVE_PARALLEL #endif template @@ -1412,21 +1416,19 @@ class resizeArea_Invoker : public: resizeArea_Invoker(const Mat& _src, Mat& _dst, const DecimateAlpha* _xofs, int _xofs_count, double _scale_y_ -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL , const int* _cur_dy_ofs, const std::vector >& _bands #endif ) : ParallelLoopBody(), src(_src), dst(_dst), xofs(_xofs), xofs_count(_xofs_count), scale_y_(_scale_y_) -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL , cur_dy_ofs(_cur_dy_ofs), bands(_bands) #endif { -// if (src.size() == Size(16, 16) && dst.size() == Size(5, 5)) -// std::cout << "scale_y = " << scale_y_ << std::endl << std::endl; } -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL void resize_signle_band(const Range& range) const #else virtual void operator() (const Range& range) const @@ -1444,7 +1446,7 @@ public: for( dx = 0; dx < dsize.width; dx++ ) buf[dx] = sum[dx] = 0; -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL cur_dy = cur_dy_ofs[range.start]; #endif for (sy = range.start; sy < range.end; sy++) @@ -1494,9 +1496,6 @@ public: if( (cur_dy + 1)*scale_y <= sy + 1 || sy == ssize.height - 1 ) { -// if (dsize == Size(5, 5) && ssize == Size(16, 16)) -// std::cout << "Band: (" << range.start << ", " << range.end << ")" << std::endl; - WT beta = std::max(sy + 1 - (cur_dy+1)*scale_y, (WT)0); WT beta1 = 1 - beta; T* D = (T*)(dst.data + dst.step*cur_dy); @@ -1507,14 +1506,6 @@ public: for( dx = 0; dx < dsize.width; dx++ ) { D[dx] = saturate_cast((sum[dx] + buf[dx]) / min(scale_y, src.rows - cur_dy * scale_y)); // -// if (dsize == Size(5, 5) && ssize == Size(16, 16)) -// { -// std::cout << "sum[" << dx << "] = " << sum[dx] << std::endl; -// std::cout << "buf[" << dx << "] = " << buf[dx] << std::endl; -// std::cout << "min(scale_y, src.rows - cur_dy * scale_y) = " << min(scale_y, src.rows - cur_dy * scale_y) << std::endl; -// std::cout << "D[" << dx << "] = " << D[dx] << std::endl; -// std::cout << std::endl; -// } sum[dx] = buf[dx] = 0; } } @@ -1522,15 +1513,6 @@ public: for( dx = 0; dx < dsize.width; dx++ ) { D[dx] = saturate_cast((sum[dx] + buf[dx]* beta1)/ min(scale_y, src.rows - cur_dy*scale_y)); // -// if (dsize == Size(5, 5) && ssize == Size(16, 16)) -// { -// std::cout << "sum[" << dx << "] = " << sum[dx] << std::endl; -// std::cout << "buf[" << dx << "] = " << buf[dx] << std::endl; -// std::cout << "beta1 = " << beta1 << std::endl; -// std::cout << "min(scale_y, src.rows - cur_dy * scale_y) = " << min(scale_y, src.rows - cur_dy * scale_y) << std::endl; -// std::cout << "D[" << dx << "] = " << D[dx] << std::endl; -// std::cout << std::endl; -// } sum[dx] = buf[dx]*beta; buf[dx] = 0; } @@ -1554,7 +1536,7 @@ public: } } -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL virtual void operator() (const Range& range) const { for (int i = range.start; i < range.end; ++i) @@ -1571,7 +1553,7 @@ private: const DecimateAlpha* xofs; const int xofs_count; const double scale_y_; -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL const int *cur_dy_ofs; std::vector > bands; #endif @@ -1582,7 +1564,7 @@ private: template static void resizeArea_( const Mat& src, Mat& dst, const DecimateAlpha* xofs, int xofs_count, double scale_y_) { -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL Size ssize = src.size(), dsize = dst.size(); AutoBuffer _yofs(ssize.height); int *cur_dy_ofs = _yofs; @@ -1590,7 +1572,6 @@ static void resizeArea_( const Mat& src, Mat& dst, const DecimateAlpha* xofs, in std::vector > bands; // cur_dy_ofs - dy for the current sy - // yofs - a starting row for calculating a band according to the current sy for (int sy = 0; sy < ssize.height; sy++) { @@ -1609,20 +1590,10 @@ static void resizeArea_( const Mat& src, Mat& dst, const DecimateAlpha* xofs, in cur_dy++; } } -// bands.push_back(std::make_pair(index, ssize.height)); #endif -#ifdef HAVE_TBB +#ifdef HAVE_PARALLEL Range range(0, bands.size()); - -// if (dsize == Size(5, 5) && ssize == Size(16, 16)) -// { -// std::cout << "Bands" << std::endl; -// for (std::vector >::const_iterator i = bands.begin(), end = bands.end(); i != end; ++i) -// std::cout << i->first << " " << i->second << std::endl; -// std::cout << std::endl; -// } - resizeArea_Invoker invoker(src, dst, xofs, xofs_count, scale_y_, cur_dy_ofs, bands); #else Range range(0, src.rows);