diff --git a/modules/imgproc/src/resize.avx2.cpp b/modules/imgproc/src/resize.avx2.cpp index cf568878eb..c9f53dc622 100644 --- a/modules/imgproc/src/resize.avx2.cpp +++ b/modules/imgproc/src/resize.avx2.cpp @@ -59,8 +59,8 @@ class resizeNNInvokerAVX4 CV_FINAL : public ParallelLoopBody { public: - resizeNNInvokerAVX4(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) : - ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4), + resizeNNInvokerAVX4(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) : + ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), ify(_ify) { } @@ -129,9 +129,9 @@ public: } private: - const Mat src; - Mat dst; - int* x_ofs, pix_size4; + const Mat& src; + Mat& dst; + int* x_ofs; double ify; resizeNNInvokerAVX4(const resizeNNInvokerAVX4&); @@ -142,8 +142,8 @@ class resizeNNInvokerAVX2 CV_FINAL : public ParallelLoopBody { public: - resizeNNInvokerAVX2(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) : - ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4), + resizeNNInvokerAVX2(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) : + ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), ify(_ify) { } @@ -235,24 +235,24 @@ public: } private: - const Mat src; - Mat dst; - int* x_ofs, pix_size4; + const Mat& src; + Mat& dst; + int* x_ofs; double ify; resizeNNInvokerAVX2(const resizeNNInvokerAVX2&); resizeNNInvokerAVX2& operator=(const resizeNNInvokerAVX2&); }; -void resizeNN2_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify) +void resizeNN2_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify) { - resizeNNInvokerAVX2 invoker(src, dst, x_ofs, pix_size4, ify); + resizeNNInvokerAVX2 invoker(src, dst, x_ofs, ify); parallel_for_(range, invoker, dst.total() / (double)(1 << 16)); } -void resizeNN4_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify) +void resizeNN4_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify) { - resizeNNInvokerAVX4 invoker(src, dst, x_ofs, pix_size4, ify); + resizeNNInvokerAVX4 invoker(src, dst, x_ofs, ify); parallel_for_(range, invoker, dst.total() / (double)(1 << 16)); } diff --git a/modules/imgproc/src/resize.cpp b/modules/imgproc/src/resize.cpp index cd039fe896..2f060b6ae0 100644 --- a/modules/imgproc/src/resize.cpp +++ b/modules/imgproc/src/resize.cpp @@ -970,8 +970,8 @@ class resizeNNInvoker : public ParallelLoopBody { public: - resizeNNInvoker(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) : - ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4), + resizeNNInvoker(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) : + ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), ify(_ify) { } @@ -1052,9 +1052,9 @@ public: } private: - const Mat src; - Mat dst; - int* x_ofs, pix_size4; + const Mat& src; + Mat& dst; + int* x_ofs; double ify; resizeNNInvoker(const resizeNNInvoker&); @@ -1068,7 +1068,6 @@ resizeNN( const Mat& src, Mat& dst, double fx, double fy ) AutoBuffer _x_ofs(dsize.width); int* x_ofs = _x_ofs.data(); int pix_size = (int)src.elemSize(); - int pix_size4 = (int)(pix_size / sizeof(int)); double ifx = 1./fx, ify = 1./fy; int x; @@ -1083,9 +1082,9 @@ resizeNN( const Mat& src, Mat& dst, double fx, double fy ) if(CV_CPU_HAS_SUPPORT_AVX2 && ((pix_size == 2) || (pix_size == 4))) { if(pix_size == 2) - opt_AVX2::resizeNN2_AVX2(range, src, dst, x_ofs, pix_size4, ify); + opt_AVX2::resizeNN2_AVX2(range, src, dst, x_ofs, ify); else - opt_AVX2::resizeNN4_AVX2(range, src, dst, x_ofs, pix_size4, ify); + opt_AVX2::resizeNN4_AVX2(range, src, dst, x_ofs, ify); } else #endif @@ -1093,14 +1092,14 @@ resizeNN( const Mat& src, Mat& dst, double fx, double fy ) if(CV_CPU_HAS_SUPPORT_SSE4_1 && ((pix_size == 2) || (pix_size == 4))) { if(pix_size == 2) - opt_SSE4_1::resizeNN2_SSE4_1(range, src, dst, x_ofs, pix_size4, ify); + opt_SSE4_1::resizeNN2_SSE4_1(range, src, dst, x_ofs, ify); else - opt_SSE4_1::resizeNN4_SSE4_1(range, src, dst, x_ofs, pix_size4, ify); + opt_SSE4_1::resizeNN4_SSE4_1(range, src, dst, x_ofs, ify); } else #endif { - resizeNNInvoker invoker(src, dst, x_ofs, pix_size4, ify); + resizeNNInvoker invoker(src, dst, x_ofs, ify); parallel_for_(range, invoker, dst.total()/(double)(1<<16)); } } diff --git a/modules/imgproc/src/resize.hpp b/modules/imgproc/src/resize.hpp index 53a0eb7c48..67cf5184af 100644 --- a/modules/imgproc/src/resize.hpp +++ b/modules/imgproc/src/resize.hpp @@ -56,16 +56,16 @@ namespace cv namespace opt_AVX2 { #if CV_TRY_AVX2 -void resizeNN2_AVX2(const Range&, const Mat&, Mat&, int*, int, double); -void resizeNN4_AVX2(const Range&, const Mat&, Mat&, int*, int, double); +void resizeNN2_AVX2(const Range&, const Mat&, Mat&, int*, double); +void resizeNN4_AVX2(const Range&, const Mat&, Mat&, int*, double); #endif } namespace opt_SSE4_1 { #if CV_TRY_SSE4_1 -void resizeNN2_SSE4_1(const Range&, const Mat&, Mat&, int*, int, double); -void resizeNN4_SSE4_1(const Range&, const Mat&, Mat&, int*, int, double); +void resizeNN2_SSE4_1(const Range&, const Mat&, Mat&, int*, double); +void resizeNN4_SSE4_1(const Range&, const Mat&, Mat&, int*, double); int VResizeLanczos4Vec_32f16u_SSE41(const float** src, ushort* dst, const float* beta, int width); #endif diff --git a/modules/imgproc/src/resize.sse4_1.cpp b/modules/imgproc/src/resize.sse4_1.cpp index 43f6cc67b8..311a0036f4 100644 --- a/modules/imgproc/src/resize.sse4_1.cpp +++ b/modules/imgproc/src/resize.sse4_1.cpp @@ -59,8 +59,8 @@ class resizeNNInvokerSSE2 : public ParallelLoopBody { public: - resizeNNInvokerSSE2(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) : - ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4), + resizeNNInvokerSSE2(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) : + ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), ify(_ify) { } @@ -110,9 +110,9 @@ public: } private: - const Mat src; - Mat dst; - int* x_ofs, pix_size4; + const Mat& src; + Mat& dst; + int* x_ofs; double ify; resizeNNInvokerSSE2(const resizeNNInvokerSSE2&); @@ -123,8 +123,8 @@ class resizeNNInvokerSSE4 : public ParallelLoopBody { public: - resizeNNInvokerSSE4(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) : - ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4), + resizeNNInvokerSSE4(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) : + ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), ify(_ify) { } @@ -165,24 +165,24 @@ public: } private: - const Mat src; - Mat dst; - int* x_ofs, pix_size4; + const Mat& src; + Mat& dst; + int* x_ofs; double ify; resizeNNInvokerSSE4(const resizeNNInvokerSSE4&); resizeNNInvokerSSE4& operator=(const resizeNNInvokerSSE4&); }; -void resizeNN2_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify) +void resizeNN2_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify) { - resizeNNInvokerSSE2 invoker(src, dst, x_ofs, pix_size4, ify); + resizeNNInvokerSSE2 invoker(src, dst, x_ofs, ify); parallel_for_(range, invoker, dst.total() / (double)(1 << 16)); } -void resizeNN4_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify) +void resizeNN4_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify) { - resizeNNInvokerSSE4 invoker(src, dst, x_ofs, pix_size4, ify); + resizeNNInvokerSSE4 invoker(src, dst, x_ofs, ify); parallel_for_(range, invoker, dst.total() / (double)(1 << 16)); }