Skip to content

Commit f6b2b49

Browse files
committed
Merge pull request opencv#16932 from alalek:imgproc_resize_nn_cleanup
2 parents e1322cf + 61c4cfd commit f6b2b49

File tree

4 files changed

+42
-43
lines changed

4 files changed

+42
-43
lines changed

modules/imgproc/src/resize.avx2.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ class resizeNNInvokerAVX4 CV_FINAL :
5959
public ParallelLoopBody
6060
{
6161
public:
62-
resizeNNInvokerAVX4(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) :
63-
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4),
62+
resizeNNInvokerAVX4(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) :
63+
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs),
6464
ify(_ify)
6565
{
6666
}
@@ -129,9 +129,9 @@ class resizeNNInvokerAVX4 CV_FINAL :
129129
}
130130

131131
private:
132-
const Mat src;
133-
Mat dst;
134-
int* x_ofs, pix_size4;
132+
const Mat& src;
133+
Mat& dst;
134+
int* x_ofs;
135135
double ify;
136136

137137
resizeNNInvokerAVX4(const resizeNNInvokerAVX4&);
@@ -142,8 +142,8 @@ class resizeNNInvokerAVX2 CV_FINAL :
142142
public ParallelLoopBody
143143
{
144144
public:
145-
resizeNNInvokerAVX2(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) :
146-
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4),
145+
resizeNNInvokerAVX2(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) :
146+
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs),
147147
ify(_ify)
148148
{
149149
}
@@ -235,24 +235,24 @@ class resizeNNInvokerAVX2 CV_FINAL :
235235
}
236236

237237
private:
238-
const Mat src;
239-
Mat dst;
240-
int* x_ofs, pix_size4;
238+
const Mat& src;
239+
Mat& dst;
240+
int* x_ofs;
241241
double ify;
242242

243243
resizeNNInvokerAVX2(const resizeNNInvokerAVX2&);
244244
resizeNNInvokerAVX2& operator=(const resizeNNInvokerAVX2&);
245245
};
246246

247-
void resizeNN2_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify)
247+
void resizeNN2_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify)
248248
{
249-
resizeNNInvokerAVX2 invoker(src, dst, x_ofs, pix_size4, ify);
249+
resizeNNInvokerAVX2 invoker(src, dst, x_ofs, ify);
250250
parallel_for_(range, invoker, dst.total() / (double)(1 << 16));
251251
}
252252

253-
void resizeNN4_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify)
253+
void resizeNN4_AVX2(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify)
254254
{
255-
resizeNNInvokerAVX4 invoker(src, dst, x_ofs, pix_size4, ify);
255+
resizeNNInvokerAVX4 invoker(src, dst, x_ofs, ify);
256256
parallel_for_(range, invoker, dst.total() / (double)(1 << 16));
257257
}
258258

modules/imgproc/src/resize.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -970,8 +970,8 @@ class resizeNNInvoker :
970970
public ParallelLoopBody
971971
{
972972
public:
973-
resizeNNInvoker(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) :
974-
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4),
973+
resizeNNInvoker(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) :
974+
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs),
975975
ify(_ify)
976976
{
977977
}
@@ -1052,9 +1052,9 @@ class resizeNNInvoker :
10521052
}
10531053

10541054
private:
1055-
const Mat src;
1056-
Mat dst;
1057-
int* x_ofs, pix_size4;
1055+
const Mat& src;
1056+
Mat& dst;
1057+
int* x_ofs;
10581058
double ify;
10591059

10601060
resizeNNInvoker(const resizeNNInvoker&);
@@ -1068,7 +1068,6 @@ resizeNN( const Mat& src, Mat& dst, double fx, double fy )
10681068
AutoBuffer<int> _x_ofs(dsize.width);
10691069
int* x_ofs = _x_ofs.data();
10701070
int pix_size = (int)src.elemSize();
1071-
int pix_size4 = (int)(pix_size / sizeof(int));
10721071
double ifx = 1./fx, ify = 1./fy;
10731072
int x;
10741073

@@ -1083,24 +1082,24 @@ resizeNN( const Mat& src, Mat& dst, double fx, double fy )
10831082
if(CV_CPU_HAS_SUPPORT_AVX2 && ((pix_size == 2) || (pix_size == 4)))
10841083
{
10851084
if(pix_size == 2)
1086-
opt_AVX2::resizeNN2_AVX2(range, src, dst, x_ofs, pix_size4, ify);
1085+
opt_AVX2::resizeNN2_AVX2(range, src, dst, x_ofs, ify);
10871086
else
1088-
opt_AVX2::resizeNN4_AVX2(range, src, dst, x_ofs, pix_size4, ify);
1087+
opt_AVX2::resizeNN4_AVX2(range, src, dst, x_ofs, ify);
10891088
}
10901089
else
10911090
#endif
10921091
#if CV_TRY_SSE4_1
10931092
if(CV_CPU_HAS_SUPPORT_SSE4_1 && ((pix_size == 2) || (pix_size == 4)))
10941093
{
10951094
if(pix_size == 2)
1096-
opt_SSE4_1::resizeNN2_SSE4_1(range, src, dst, x_ofs, pix_size4, ify);
1095+
opt_SSE4_1::resizeNN2_SSE4_1(range, src, dst, x_ofs, ify);
10971096
else
1098-
opt_SSE4_1::resizeNN4_SSE4_1(range, src, dst, x_ofs, pix_size4, ify);
1097+
opt_SSE4_1::resizeNN4_SSE4_1(range, src, dst, x_ofs, ify);
10991098
}
11001099
else
11011100
#endif
11021101
{
1103-
resizeNNInvoker invoker(src, dst, x_ofs, pix_size4, ify);
1102+
resizeNNInvoker invoker(src, dst, x_ofs, ify);
11041103
parallel_for_(range, invoker, dst.total()/(double)(1<<16));
11051104
}
11061105
}

modules/imgproc/src/resize.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,16 @@ namespace cv
5656
namespace opt_AVX2
5757
{
5858
#if CV_TRY_AVX2
59-
void resizeNN2_AVX2(const Range&, const Mat&, Mat&, int*, int, double);
60-
void resizeNN4_AVX2(const Range&, const Mat&, Mat&, int*, int, double);
59+
void resizeNN2_AVX2(const Range&, const Mat&, Mat&, int*, double);
60+
void resizeNN4_AVX2(const Range&, const Mat&, Mat&, int*, double);
6161
#endif
6262
}
6363

6464
namespace opt_SSE4_1
6565
{
6666
#if CV_TRY_SSE4_1
67-
void resizeNN2_SSE4_1(const Range&, const Mat&, Mat&, int*, int, double);
68-
void resizeNN4_SSE4_1(const Range&, const Mat&, Mat&, int*, int, double);
67+
void resizeNN2_SSE4_1(const Range&, const Mat&, Mat&, int*, double);
68+
void resizeNN4_SSE4_1(const Range&, const Mat&, Mat&, int*, double);
6969

7070
int VResizeLanczos4Vec_32f16u_SSE41(const float** src, ushort* dst, const float* beta, int width);
7171
#endif

modules/imgproc/src/resize.sse4_1.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ class resizeNNInvokerSSE2 :
5959
public ParallelLoopBody
6060
{
6161
public:
62-
resizeNNInvokerSSE2(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) :
63-
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4),
62+
resizeNNInvokerSSE2(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) :
63+
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs),
6464
ify(_ify)
6565
{
6666
}
@@ -110,9 +110,9 @@ class resizeNNInvokerSSE2 :
110110
}
111111

112112
private:
113-
const Mat src;
114-
Mat dst;
115-
int* x_ofs, pix_size4;
113+
const Mat& src;
114+
Mat& dst;
115+
int* x_ofs;
116116
double ify;
117117

118118
resizeNNInvokerSSE2(const resizeNNInvokerSSE2&);
@@ -123,8 +123,8 @@ class resizeNNInvokerSSE4 :
123123
public ParallelLoopBody
124124
{
125125
public:
126-
resizeNNInvokerSSE4(const Mat& _src, Mat &_dst, int *_x_ofs, int _pix_size4, double _ify) :
127-
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs), pix_size4(_pix_size4),
126+
resizeNNInvokerSSE4(const Mat& _src, Mat &_dst, int *_x_ofs, double _ify) :
127+
ParallelLoopBody(), src(_src), dst(_dst), x_ofs(_x_ofs),
128128
ify(_ify)
129129
{
130130
}
@@ -165,24 +165,24 @@ class resizeNNInvokerSSE4 :
165165
}
166166

167167
private:
168-
const Mat src;
169-
Mat dst;
170-
int* x_ofs, pix_size4;
168+
const Mat& src;
169+
Mat& dst;
170+
int* x_ofs;
171171
double ify;
172172

173173
resizeNNInvokerSSE4(const resizeNNInvokerSSE4&);
174174
resizeNNInvokerSSE4& operator=(const resizeNNInvokerSSE4&);
175175
};
176176

177-
void resizeNN2_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify)
177+
void resizeNN2_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify)
178178
{
179-
resizeNNInvokerSSE2 invoker(src, dst, x_ofs, pix_size4, ify);
179+
resizeNNInvokerSSE2 invoker(src, dst, x_ofs, ify);
180180
parallel_for_(range, invoker, dst.total() / (double)(1 << 16));
181181
}
182182

183-
void resizeNN4_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, int pix_size4, double ify)
183+
void resizeNN4_SSE4_1(const Range& range, const Mat& src, Mat &dst, int *x_ofs, double ify)
184184
{
185-
resizeNNInvokerSSE4 invoker(src, dst, x_ofs, pix_size4, ify);
185+
resizeNNInvokerSSE4 invoker(src, dst, x_ofs, ify);
186186
parallel_for_(range, invoker, dst.total() / (double)(1 << 16));
187187
}
188188

0 commit comments

Comments
 (0)