Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
977d2c43
Commit
977d2c43
authored
Aug 01, 2019
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #15197 from mshabunin:restore-ipp-cut
parents
3f4004ae
6d5ac676
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
43 additions
and
20 deletions
+43
-20
matrix_operations.cpp
modules/core/src/matrix_operations.cpp
+5
-0
mean.dispatch.cpp
modules/core/src/mean.dispatch.cpp
+6
-0
minmax.cpp
modules/core/src/minmax.cpp
+6
-0
sum.dispatch.cpp
modules/core/src/sum.dispatch.cpp
+6
-0
box_filter.dispatch.cpp
modules/imgproc/src/box_filter.dispatch.cpp
+2
-2
corner.cpp
modules/imgproc/src/corner.cpp
+3
-3
deriv.cpp
modules/imgproc/src/deriv.cpp
+3
-3
filter.dispatch.cpp
modules/imgproc/src/filter.dispatch.cpp
+3
-3
median_blur.dispatch.cpp
modules/imgproc/src/median_blur.dispatch.cpp
+2
-2
morph.dispatch.cpp
modules/imgproc/src/morph.dispatch.cpp
+5
-5
smooth.dispatch.cpp
modules/imgproc/src/smooth.dispatch.cpp
+2
-2
No files found.
modules/core/src/matrix_operations.cpp
View file @
977d2c43
...
@@ -8,6 +8,11 @@
...
@@ -8,6 +8,11 @@
#include "opencl_kernels_core.hpp"
#include "opencl_kernels_core.hpp"
#include "precomp.hpp"
#include "precomp.hpp"
#undef HAVE_IPP
#undef CV_IPP_RUN_FAST
#define CV_IPP_RUN_FAST(f, ...)
#undef CV_IPP_RUN
#define CV_IPP_RUN(c, f, ...)
/*************************************************************************************************\
/*************************************************************************************************\
Matrix Operations
Matrix Operations
...
...
modules/core/src/mean.dispatch.cpp
View file @
977d2c43
...
@@ -11,6 +11,12 @@
...
@@ -11,6 +11,12 @@
#include "mean.simd.hpp"
#include "mean.simd.hpp"
#include "mean.simd_declarations.hpp" // defines CV_CPU_DISPATCH_MODES_ALL=AVX2,...,BASELINE based on CMakeLists.txt content
#include "mean.simd_declarations.hpp" // defines CV_CPU_DISPATCH_MODES_ALL=AVX2,...,BASELINE based on CMakeLists.txt content
#undef HAVE_IPP
#undef CV_IPP_RUN_FAST
#define CV_IPP_RUN_FAST(f, ...)
#undef CV_IPP_RUN
#define CV_IPP_RUN(c, f, ...)
namespace
cv
{
namespace
cv
{
#if defined HAVE_IPP
#if defined HAVE_IPP
...
...
modules/core/src/minmax.cpp
View file @
977d2c43
...
@@ -8,6 +8,12 @@
...
@@ -8,6 +8,12 @@
#include "opencv2/core/openvx/ovx_defs.hpp"
#include "opencv2/core/openvx/ovx_defs.hpp"
#include "stat.hpp"
#include "stat.hpp"
#undef HAVE_IPP
#undef CV_IPP_RUN_FAST
#define CV_IPP_RUN_FAST(f, ...)
#undef CV_IPP_RUN
#define CV_IPP_RUN(c, f, ...)
#define IPP_DISABLE_MINMAXIDX_MANY_ROWS 1 // see Core_MinMaxIdx.rows_overflow test
#define IPP_DISABLE_MINMAXIDX_MANY_ROWS 1 // see Core_MinMaxIdx.rows_overflow test
/****************************************************************************************\
/****************************************************************************************\
...
...
modules/core/src/sum.dispatch.cpp
View file @
977d2c43
...
@@ -10,6 +10,12 @@
...
@@ -10,6 +10,12 @@
#include "sum.simd.hpp"
#include "sum.simd.hpp"
#include "sum.simd_declarations.hpp" // defines CV_CPU_DISPATCH_MODES_ALL=AVX2,...,BASELINE based on CMakeLists.txt content
#include "sum.simd_declarations.hpp" // defines CV_CPU_DISPATCH_MODES_ALL=AVX2,...,BASELINE based on CMakeLists.txt content
#undef HAVE_IPP
#undef CV_IPP_RUN_FAST
#define CV_IPP_RUN_FAST(f, ...)
#undef CV_IPP_RUN
#define CV_IPP_RUN(c, f, ...)
namespace
cv
namespace
cv
{
{
...
...
modules/imgproc/src/box_filter.dispatch.cpp
View file @
977d2c43
...
@@ -389,7 +389,7 @@ Ptr<FilterEngine> createBoxFilter(int srcType, int dstType, Size ksize,
...
@@ -389,7 +389,7 @@ Ptr<FilterEngine> createBoxFilter(int srcType, int dstType, Size ksize,
}
}
#endif
#endif
#if defined(HAVE_IPP)
#if
0 //
defined(HAVE_IPP)
static bool ipp_boxfilter(Mat &src, Mat &dst, Size ksize, Point anchor, bool normalize, int borderType)
static bool ipp_boxfilter(Mat &src, Mat &dst, Size ksize, Point anchor, bool normalize, int borderType)
{
{
#ifdef HAVE_IPP_IW
#ifdef HAVE_IPP_IW
...
@@ -476,7 +476,7 @@ void boxFilter(InputArray _src, OutputArray _dst, int ddepth,
...
@@ -476,7 +476,7 @@ void boxFilter(InputArray _src, OutputArray _dst, int ddepth,
CV_OVX_RUN
(
true
,
CV_OVX_RUN
(
true
,
openvx_boxfilter
(
src
,
dst
,
ddepth
,
ksize
,
anchor
,
normalize
,
borderType
))
openvx_boxfilter
(
src
,
dst
,
ddepth
,
ksize
,
anchor
,
normalize
,
borderType
))
CV_IPP_RUN_FAST
(
ipp_boxfilter
(
src
,
dst
,
ksize
,
anchor
,
normalize
,
borderType
));
//
CV_IPP_RUN_FAST(ipp_boxfilter(src, dst, ksize, anchor, normalize, borderType));
borderType
=
(
borderType
&~
BORDER_ISOLATED
);
borderType
=
(
borderType
&~
BORDER_ISOLATED
);
...
...
modules/imgproc/src/corner.cpp
View file @
977d2c43
...
@@ -475,7 +475,7 @@ static bool ocl_preCornerDetect( InputArray _src, OutputArray _dst, int ksize, i
...
@@ -475,7 +475,7 @@ static bool ocl_preCornerDetect( InputArray _src, OutputArray _dst, int ksize, i
}
}
#if defined(HAVE_IPP)
#if
0 //
defined(HAVE_IPP)
namespace cv
namespace cv
{
{
static bool ipp_cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, int ksize, int borderType )
static bool ipp_cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, int ksize, int borderType )
...
@@ -558,7 +558,7 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in
...
@@ -558,7 +558,7 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in
CV_OCL_RUN
(
_src
.
dims
()
<=
2
&&
_dst
.
isUMat
(),
CV_OCL_RUN
(
_src
.
dims
()
<=
2
&&
_dst
.
isUMat
(),
ocl_cornerMinEigenValVecs
(
_src
,
_dst
,
blockSize
,
ksize
,
0.0
,
borderType
,
MINEIGENVAL
))
ocl_cornerMinEigenValVecs
(
_src
,
_dst
,
blockSize
,
ksize
,
0.0
,
borderType
,
MINEIGENVAL
))
#ifdef HAVE_IPP
/*
#ifdef HAVE_IPP
int kerSize = (ksize < 0)?3:ksize;
int kerSize = (ksize < 0)?3:ksize;
bool isolated = (borderType & BORDER_ISOLATED) != 0;
bool isolated = (borderType & BORDER_ISOLATED) != 0;
int borderTypeNI = borderType & ~BORDER_ISOLATED;
int borderTypeNI = borderType & ~BORDER_ISOLATED;
...
@@ -566,7 +566,7 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in
...
@@ -566,7 +566,7 @@ void cv::cornerMinEigenVal( InputArray _src, OutputArray _dst, int blockSize, in
CV_IPP_RUN(((borderTypeNI == BORDER_REPLICATE && (!_src.isSubmatrix() || isolated)) &&
CV_IPP_RUN(((borderTypeNI == BORDER_REPLICATE && (!_src.isSubmatrix() || isolated)) &&
(kerSize == 3 || kerSize == 5) && (blockSize == 3 || blockSize == 5)) && IPP_VERSION_X100 >= 800,
(kerSize == 3 || kerSize == 5) && (blockSize == 3 || blockSize == 5)) && IPP_VERSION_X100 >= 800,
ipp_cornerMinEigenVal( _src, _dst, blockSize, ksize, borderType ));
ipp_cornerMinEigenVal( _src, _dst, blockSize, ksize, borderType ));
*/
Mat
src
=
_src
.
getMat
();
Mat
src
=
_src
.
getMat
();
_dst
.
create
(
src
.
size
(),
CV_32FC1
);
_dst
.
create
(
src
.
size
(),
CV_32FC1
);
...
...
modules/imgproc/src/deriv.cpp
View file @
977d2c43
...
@@ -260,7 +260,7 @@ namespace cv
...
@@ -260,7 +260,7 @@ namespace cv
}
}
#endif
#endif
#if
def
HAVE_IPP
#if
0 //defined
HAVE_IPP
namespace cv
namespace cv
{
{
...
@@ -457,7 +457,7 @@ void cv::Sobel( InputArray _src, OutputArray _dst, int ddepth, int dx, int dy,
...
@@ -457,7 +457,7 @@ void cv::Sobel( InputArray _src, OutputArray _dst, int ddepth, int dx, int dy,
CV_OVX_RUN
(
true
,
CV_OVX_RUN
(
true
,
openvx_sobel
(
src
,
dst
,
dx
,
dy
,
ksize
,
scale
,
delta
,
borderType
))
openvx_sobel
(
src
,
dst
,
dx
,
dy
,
ksize
,
scale
,
delta
,
borderType
))
CV_IPP_RUN_FAST
(
ipp_Deriv
(
src
,
dst
,
dx
,
dy
,
ksize
,
scale
,
delta
,
borderType
));
//
CV_IPP_RUN_FAST(ipp_Deriv(src, dst, dx, dy, ksize, scale, delta, borderType));
sepFilter2D
(
src
,
dst
,
ddepth
,
kx
,
ky
,
Point
(
-
1
,
-
1
),
delta
,
borderType
);
sepFilter2D
(
src
,
dst
,
ddepth
,
kx
,
ky
,
Point
(
-
1
,
-
1
),
delta
,
borderType
);
}
}
...
@@ -507,7 +507,7 @@ void cv::Scharr( InputArray _src, OutputArray _dst, int ddepth, int dx, int dy,
...
@@ -507,7 +507,7 @@ void cv::Scharr( InputArray _src, OutputArray _dst, int ddepth, int dx, int dy,
CALL_HAL
(
scharr
,
cv_hal_scharr
,
src
.
ptr
(),
src
.
step
,
dst
.
ptr
(),
dst
.
step
,
src
.
cols
,
src
.
rows
,
sdepth
,
ddepth
,
cn
,
CALL_HAL
(
scharr
,
cv_hal_scharr
,
src
.
ptr
(),
src
.
step
,
dst
.
ptr
(),
dst
.
step
,
src
.
cols
,
src
.
rows
,
sdepth
,
ddepth
,
cn
,
ofs
.
x
,
ofs
.
y
,
wsz
.
width
-
src
.
cols
-
ofs
.
x
,
wsz
.
height
-
src
.
rows
-
ofs
.
y
,
dx
,
dy
,
scale
,
delta
,
borderType
&~
BORDER_ISOLATED
);
ofs
.
x
,
ofs
.
y
,
wsz
.
width
-
src
.
cols
-
ofs
.
x
,
wsz
.
height
-
src
.
rows
-
ofs
.
y
,
dx
,
dy
,
scale
,
delta
,
borderType
&~
BORDER_ISOLATED
);
CV_IPP_RUN_FAST
(
ipp_Deriv
(
src
,
dst
,
dx
,
dy
,
0
,
scale
,
delta
,
borderType
));
//
CV_IPP_RUN_FAST(ipp_Deriv(src, dst, dx, dy, 0, scale, delta, borderType));
sepFilter2D
(
src
,
dst
,
ddepth
,
kx
,
ky
,
Point
(
-
1
,
-
1
),
delta
,
borderType
);
sepFilter2D
(
src
,
dst
,
ddepth
,
kx
,
ky
,
Point
(
-
1
,
-
1
),
delta
,
borderType
);
}
}
...
...
modules/imgproc/src/filter.dispatch.cpp
View file @
977d2c43
...
@@ -1022,7 +1022,7 @@ static bool replacementFilter2D(int stype, int dtype, int kernel_type,
...
@@ -1022,7 +1022,7 @@ static bool replacementFilter2D(int stype, int dtype, int kernel_type,
return
success
;
return
success
;
}
}
#if
def
HAVE_IPP
#if
0 //defined
HAVE_IPP
static bool ippFilter2D(int stype, int dtype, int kernel_type,
static bool ippFilter2D(int stype, int dtype, int kernel_type,
uchar * src_data, size_t src_step,
uchar * src_data, size_t src_step,
uchar * dst_data, size_t dst_step,
uchar * dst_data, size_t dst_step,
...
@@ -1286,7 +1286,7 @@ void filter2D(int stype, int dtype, int kernel_type,
...
@@ -1286,7 +1286,7 @@ void filter2D(int stype, int dtype, int kernel_type,
if
(
res
)
if
(
res
)
return
;
return
;
CV_IPP_RUN_FAST
(
ippFilter2D
(
stype
,
dtype
,
kernel_type
,
/*
CV_IPP_RUN_FAST(ippFilter2D(stype, dtype, kernel_type,
src_data, src_step,
src_data, src_step,
dst_data, dst_step,
dst_data, dst_step,
width, height,
width, height,
...
@@ -1295,7 +1295,7 @@ void filter2D(int stype, int dtype, int kernel_type,
...
@@ -1295,7 +1295,7 @@ void filter2D(int stype, int dtype, int kernel_type,
kernel_data, kernel_step,
kernel_data, kernel_step,
kernel_width, kernel_height,
kernel_width, kernel_height,
anchor_x, anchor_y,
anchor_x, anchor_y,
delta
,
borderType
,
isSubmatrix
))
delta, borderType, isSubmatrix))
*/
res
=
dftFilter2D
(
stype
,
dtype
,
kernel_type
,
res
=
dftFilter2D
(
stype
,
dtype
,
kernel_type
,
src_data
,
src_step
,
src_data
,
src_step
,
...
...
modules/imgproc/src/median_blur.dispatch.cpp
View file @
977d2c43
...
@@ -203,7 +203,7 @@ static bool openvx_medianFilter(InputArray _src, OutputArray _dst, int ksize)
...
@@ -203,7 +203,7 @@ static bool openvx_medianFilter(InputArray _src, OutputArray _dst, int ksize)
}
}
#endif
#endif
#if
def
HAVE_IPP
#if
0 //defined
HAVE_IPP
static bool ipp_medianFilter(Mat &src0, Mat &dst, int ksize)
static bool ipp_medianFilter(Mat &src0, Mat &dst, int ksize)
{
{
CV_INSTRUMENT_REGION_IPP();
CV_INSTRUMENT_REGION_IPP();
...
@@ -301,7 +301,7 @@ void medianBlur( InputArray _src0, OutputArray _dst, int ksize )
...
@@ -301,7 +301,7 @@ void medianBlur( InputArray _src0, OutputArray _dst, int ksize )
CV_OVX_RUN
(
true
,
CV_OVX_RUN
(
true
,
openvx_medianFilter
(
_src0
,
_dst
,
ksize
))
openvx_medianFilter
(
_src0
,
_dst
,
ksize
))
CV_IPP_RUN_FAST
(
ipp_medianFilter
(
src0
,
dst
,
ksize
));
//
CV_IPP_RUN_FAST(ipp_medianFilter(src0, dst, ksize));
#ifdef HAVE_TEGRA_OPTIMIZATION
#ifdef HAVE_TEGRA_OPTIMIZATION
if
(
tegra
::
useTegra
()
&&
tegra
::
medianBlur
(
src0
,
dst
,
ksize
))
if
(
tegra
::
useTegra
()
&&
tegra
::
medianBlur
(
src0
,
dst
,
ksize
))
...
...
modules/imgproc/src/morph.dispatch.cpp
View file @
977d2c43
...
@@ -221,7 +221,7 @@ static bool halMorph(int op, int src_type, int dst_type,
...
@@ -221,7 +221,7 @@ static bool halMorph(int op, int src_type, int dst_type,
}
}
// ===== 2. IPP implementation
// ===== 2. IPP implementation
#if
def
HAVE_IPP
#if
0 //defined
HAVE_IPP
#ifdef HAVE_IPP_IW
#ifdef HAVE_IPP_IW
static inline IwiMorphologyType ippiGetMorphologyType(int morphOp)
static inline IwiMorphologyType ippiGetMorphologyType(int morphOp)
{
{
...
@@ -495,12 +495,12 @@ void morph(int op, int src_type, int dst_type,
...
@@ -495,12 +495,12 @@ void morph(int op, int src_type, int dst_type,
return
;
return
;
}
}
CV_IPP_RUN_FAST
(
ippMorph
(
op
,
src_type
,
dst_type
,
src_data
,
src_step
,
dst_data
,
dst_step
,
width
,
height
,
/*
CV_IPP_RUN_FAST(ippMorph(op, src_type, dst_type, src_data, src_step, dst_data, dst_step, width, height,
roi_width, roi_height, roi_x, roi_y,
roi_width, roi_height, roi_x, roi_y,
roi_width2, roi_height2, roi_x2, roi_y2,
roi_width2, roi_height2, roi_x2, roi_y2,
kernel_type, kernel_data, kernel_step,
kernel_type, kernel_data, kernel_step,
kernel_width, kernel_height, anchor_x, anchor_y,
kernel_width, kernel_height, anchor_x, anchor_y,
borderType
,
borderValue
,
iterations
,
isSubmatrix
));
borderType, borderValue, iterations, isSubmatrix));
*/
ocvMorph
(
op
,
src_type
,
dst_type
,
src_data
,
src_step
,
dst_data
,
dst_step
,
width
,
height
,
ocvMorph
(
op
,
src_type
,
dst_type
,
src_data
,
src_step
,
dst_data
,
dst_step
,
width
,
height
,
roi_width
,
roi_height
,
roi_x
,
roi_y
,
roi_width
,
roi_height
,
roi_x
,
roi_y
,
...
@@ -1079,7 +1079,7 @@ static bool ocl_morphologyEx(InputArray _src, OutputArray _dst, int op,
...
@@ -1079,7 +1079,7 @@ static bool ocl_morphologyEx(InputArray _src, OutputArray _dst, int op,
#endif
#endif
#define IPP_DISABLE_MORPH_ADV 1
#define IPP_DISABLE_MORPH_ADV 1
#if
def
HAVE_IPP
#if
0 //defined
HAVE_IPP
#if !IPP_DISABLE_MORPH_ADV
#if !IPP_DISABLE_MORPH_ADV
static bool ipp_morphologyEx(int op, InputArray _src, OutputArray _dst,
static bool ipp_morphologyEx(int op, InputArray _src, OutputArray _dst,
InputArray _kernel,
InputArray _kernel,
...
@@ -1174,7 +1174,7 @@ void morphologyEx( InputArray _src, OutputArray _dst, int op,
...
@@ -1174,7 +1174,7 @@ void morphologyEx( InputArray _src, OutputArray _dst, int op,
Mat
dst
=
_dst
.
getMat
();
Mat
dst
=
_dst
.
getMat
();
#if !IPP_DISABLE_MORPH_ADV
#if !IPP_DISABLE_MORPH_ADV
CV_IPP_RUN_FAST
(
ipp_morphologyEx
(
op
,
src
,
dst
,
kernel
,
anchor
,
iterations
,
borderType
,
borderValue
));
//
CV_IPP_RUN_FAST(ipp_morphologyEx(op, src, dst, kernel, anchor, iterations, borderType, borderValue));
#endif
#endif
switch
(
op
)
switch
(
op
)
...
...
modules/imgproc/src/smooth.dispatch.cpp
View file @
977d2c43
...
@@ -363,7 +363,7 @@ static bool openvx_gaussianBlur(InputArray _src, OutputArray _dst, Size ksize,
...
@@ -363,7 +363,7 @@ static bool openvx_gaussianBlur(InputArray _src, OutputArray _dst, Size ksize,
#endif
#endif
#if
def
HAVE_IPP
#if
0 //defined
HAVE_IPP
// IW 2017u2 has bug which doesn't allow use of partial inMem with tiling
// IW 2017u2 has bug which doesn't allow use of partial inMem with tiling
#if IPP_DISABLE_GAUSSIANBLUR_PARALLEL
#if IPP_DISABLE_GAUSSIANBLUR_PARALLEL
#define IPP_GAUSSIANBLUR_PARALLEL 0
#define IPP_GAUSSIANBLUR_PARALLEL 0
...
@@ -533,7 +533,7 @@ void GaussianBlur(InputArray _src, OutputArray _dst, Size ksize,
...
@@ -533,7 +533,7 @@ void GaussianBlur(InputArray _src, OutputArray _dst, Size ksize,
CV_OVX_RUN
(
true
,
CV_OVX_RUN
(
true
,
openvx_gaussianBlur
(
src
,
dst
,
ksize
,
sigma1
,
sigma2
,
borderType
))
openvx_gaussianBlur
(
src
,
dst
,
ksize
,
sigma1
,
sigma2
,
borderType
))
CV_IPP_RUN_FAST
(
ipp_GaussianBlur
(
src
,
dst
,
ksize
,
sigma1
,
sigma2
,
borderType
));
//
CV_IPP_RUN_FAST(ipp_GaussianBlur(src, dst, ksize, sigma1, sigma2, borderType));
if
(
sdepth
==
CV_8U
&&
((
borderType
&
BORDER_ISOLATED
)
||
!
_src
.
getMat
().
isSubmatrix
()))
if
(
sdepth
==
CV_8U
&&
((
borderType
&
BORDER_ISOLATED
)
||
!
_src
.
getMat
().
isSubmatrix
()))
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment