Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
444ab0ef
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
444ab0ef
编写于
4月 07, 2014
作者:
I
Ilya Lavrenov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixed (IppiSize&)sz
上级
c7355941
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
93 addition
and
101 deletion
+93
-101
cmake/OpenCVFindIPP.cmake
cmake/OpenCVFindIPP.cmake
+4
-2
modules/core/include/opencv2/core/private.hpp
modules/core/include/opencv2/core/private.hpp
+7
-0
modules/core/src/arithm.cpp
modules/core/src/arithm.cpp
+20
-20
modules/core/src/matmul.cpp
modules/core/src/matmul.cpp
+1
-1
modules/core/src/stat.cpp
modules/core/src/stat.cpp
+0
-8
modules/imgproc/src/accum.cpp
modules/imgproc/src/accum.cpp
+15
-15
modules/imgproc/src/color.cpp
modules/imgproc/src/color.cpp
+0
-4
modules/imgproc/src/imgwarp.cpp
modules/imgproc/src/imgwarp.cpp
+46
-47
modules/imgproc/src/morph.cpp
modules/imgproc/src/morph.cpp
+0
-4
未找到文件。
cmake/OpenCVFindIPP.cmake
浏览文件 @
444ab0ef
...
@@ -159,12 +159,14 @@ macro(ipp_set_variables _LATEST_VERSION)
...
@@ -159,12 +159,14 @@ macro(ipp_set_variables _LATEST_VERSION)
set
(
IPPM
"m"
)
# matrix math
set
(
IPPM
"m"
)
# matrix math
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPVM
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPVM
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPM
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPCC
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPCC
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPCV
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPCV
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPI
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPI
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPS
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPS
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPCORE
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPCORE
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
if
(
NOT HAVE_IPP_ICV_ONLY
)
list
(
APPEND IPP_LIBRARIES
${
IPP_LIBRARY_DIR
}
/
${
IPP_LIB_PREFIX
}${
IPP_PREFIX
}${
IPPM
}${
IPP_SUFFIX
}${
IPP_LIB_SUFFIX
}
)
endif
()
# FIXIT
# FIXIT
# if(UNIX AND NOT HAVE_IPP_ICV_ONLY)
# if(UNIX AND NOT HAVE_IPP_ICV_ONLY)
...
@@ -186,7 +188,7 @@ macro(ipp_set_variables _LATEST_VERSION)
...
@@ -186,7 +188,7 @@ macro(ipp_set_variables _LATEST_VERSION)
if
(
NOT EXISTS
${
INTEL_COMPILER_LIBRARY_DIR
}
/ia32
)
if
(
NOT EXISTS
${
INTEL_COMPILER_LIBRARY_DIR
}
/ia32
)
message
(
SEND_ERROR
"Intel compiler IA32 libraries not found"
)
message
(
SEND_ERROR
"Intel compiler IA32 libraries not found"
)
endif
()
endif
()
if
(
NOT AP
L
LE
)
if
(
NOT AP
P
LE
)
set
(
INTEL_COMPILER_LIBRARY_DIR
${
INTEL_COMPILER_LIBRARY_DIR
}
/ia32
)
set
(
INTEL_COMPILER_LIBRARY_DIR
${
INTEL_COMPILER_LIBRARY_DIR
}
/ia32
)
endif
()
endif
()
endif
()
endif
()
...
...
modules/core/include/opencv2/core/private.hpp
浏览文件 @
444ab0ef
...
@@ -223,6 +223,13 @@ static inline IppiSize ippiSize(int width, int height)
...
@@ -223,6 +223,13 @@ static inline IppiSize ippiSize(int width, int height)
IppiSize
size
=
{
width
,
height
};
IppiSize
size
=
{
width
,
height
};
return
size
;
return
size
;
}
}
static
inline
IppiSize
ippiSize
(
const
cv
::
Size
&
_size
)
{
IppiSize
size
=
{
_size
.
width
,
_size
.
height
};
return
size
;
}
#else
#else
# define IPP_VERSION_X100 0
# define IPP_VERSION_X100 0
#endif
#endif
...
...
modules/core/src/arithm.cpp
浏览文件 @
444ab0ef
...
@@ -460,7 +460,7 @@ static void add8u( const uchar* src1, size_t step1,
...
@@ -460,7 +460,7 @@ static void add8u( const uchar* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAdd_8u_C1RSfs
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
,
0
))
if
(
0
<=
ippiAdd_8u_C1RSfs
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
,
0
))
return
;
return
;
#endif
#endif
(
vBinOp
<
uchar
,
OpAdd
<
uchar
>
,
IF_SIMD
(
VAdd
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
uchar
,
OpAdd
<
uchar
>
,
IF_SIMD
(
VAdd
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -479,7 +479,7 @@ static void add16u( const ushort* src1, size_t step1,
...
@@ -479,7 +479,7 @@ static void add16u( const ushort* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAdd_16u_C1RSfs
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
,
0
))
if
(
0
<=
ippiAdd_16u_C1RSfs
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
,
0
))
return
;
return
;
#endif
#endif
(
vBinOp
<
ushort
,
OpAdd
<
ushort
>
,
IF_SIMD
(
VAdd
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
ushort
,
OpAdd
<
ushort
>
,
IF_SIMD
(
VAdd
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -491,7 +491,7 @@ static void add16s( const short* src1, size_t step1,
...
@@ -491,7 +491,7 @@ static void add16s( const short* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAdd_16s_C1RSfs
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
,
0
))
if
(
0
<=
ippiAdd_16s_C1RSfs
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
,
0
))
return
;
return
;
#endif
#endif
(
vBinOp
<
short
,
OpAdd
<
short
>
,
IF_SIMD
(
VAdd
<
short
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
short
,
OpAdd
<
short
>
,
IF_SIMD
(
VAdd
<
short
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -510,7 +510,7 @@ static void add32f( const float* src1, size_t step1,
...
@@ -510,7 +510,7 @@ static void add32f( const float* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAdd_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiAdd_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp32
<
float
,
OpAdd
<
float
>
,
IF_SIMD
(
VAdd
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp32
<
float
,
OpAdd
<
float
>
,
IF_SIMD
(
VAdd
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -529,7 +529,7 @@ static void sub8u( const uchar* src1, size_t step1,
...
@@ -529,7 +529,7 @@ static void sub8u( const uchar* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiSub_8u_C1RSfs
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
,
0
))
if
(
0
<=
ippiSub_8u_C1RSfs
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
,
0
))
return
;
return
;
#endif
#endif
(
vBinOp
<
uchar
,
OpSub
<
uchar
>
,
IF_SIMD
(
VSub
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
uchar
,
OpSub
<
uchar
>
,
IF_SIMD
(
VSub
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -548,7 +548,7 @@ static void sub16u( const ushort* src1, size_t step1,
...
@@ -548,7 +548,7 @@ static void sub16u( const ushort* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiSub_16u_C1RSfs
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
,
0
))
if
(
0
<=
ippiSub_16u_C1RSfs
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
,
0
))
return
;
return
;
#endif
#endif
(
vBinOp
<
ushort
,
OpSub
<
ushort
>
,
IF_SIMD
(
VSub
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
ushort
,
OpSub
<
ushort
>
,
IF_SIMD
(
VSub
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -560,7 +560,7 @@ static void sub16s( const short* src1, size_t step1,
...
@@ -560,7 +560,7 @@ static void sub16s( const short* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiSub_16s_C1RSfs
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
,
0
))
if
(
0
<=
ippiSub_16s_C1RSfs
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
,
0
))
return
;
return
;
#endif
#endif
(
vBinOp
<
short
,
OpSub
<
short
>
,
IF_SIMD
(
VSub
<
short
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
short
,
OpSub
<
short
>
,
IF_SIMD
(
VSub
<
short
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -579,7 +579,7 @@ static void sub32f( const float* src1, size_t step1,
...
@@ -579,7 +579,7 @@ static void sub32f( const float* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiSub_32f_C1R
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiSub_32f_C1R
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp32
<
float
,
OpSub
<
float
>
,
IF_SIMD
(
VSub
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp32
<
float
,
OpSub
<
float
>
,
IF_SIMD
(
VSub
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -801,7 +801,7 @@ static void absdiff8u( const uchar* src1, size_t step1,
...
@@ -801,7 +801,7 @@ static void absdiff8u( const uchar* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAbsDiff_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiAbsDiff_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp
<
uchar
,
OpAbsDiff
<
uchar
>
,
IF_SIMD
(
VAbsDiff
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
uchar
,
OpAbsDiff
<
uchar
>
,
IF_SIMD
(
VAbsDiff
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -820,7 +820,7 @@ static void absdiff16u( const ushort* src1, size_t step1,
...
@@ -820,7 +820,7 @@ static void absdiff16u( const ushort* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAbsDiff_16u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiAbsDiff_16u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp
<
ushort
,
OpAbsDiff
<
ushort
>
,
IF_SIMD
(
VAbsDiff
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
ushort
,
OpAbsDiff
<
ushort
>
,
IF_SIMD
(
VAbsDiff
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -846,7 +846,7 @@ static void absdiff32f( const float* src1, size_t step1,
...
@@ -846,7 +846,7 @@ static void absdiff32f( const float* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAbsDiff_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiAbsDiff_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp32
<
float
,
OpAbsDiff
<
float
>
,
IF_SIMD
(
VAbsDiff
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp32
<
float
,
OpAbsDiff
<
float
>
,
IF_SIMD
(
VAbsDiff
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -866,7 +866,7 @@ static void and8u( const uchar* src1, size_t step1,
...
@@ -866,7 +866,7 @@ static void and8u( const uchar* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAnd_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiAnd_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp
<
uchar
,
OpAnd
<
uchar
>
,
IF_SIMD
(
VAnd
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
uchar
,
OpAnd
<
uchar
>
,
IF_SIMD
(
VAnd
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -878,7 +878,7 @@ static void or8u( const uchar* src1, size_t step1,
...
@@ -878,7 +878,7 @@ static void or8u( const uchar* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiOr_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiOr_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp
<
uchar
,
OpOr
<
uchar
>
,
IF_SIMD
(
VOr
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
uchar
,
OpOr
<
uchar
>
,
IF_SIMD
(
VOr
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -890,7 +890,7 @@ static void xor8u( const uchar* src1, size_t step1,
...
@@ -890,7 +890,7 @@ static void xor8u( const uchar* src1, size_t step1,
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiXor_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiXor_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp
<
uchar
,
OpXor
<
uchar
>
,
IF_SIMD
(
VXor
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
uchar
,
OpXor
<
uchar
>
,
IF_SIMD
(
VXor
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -901,8 +901,8 @@ static void not8u( const uchar* src1, size_t step1,
...
@@ -901,8 +901,8 @@ static void not8u( const uchar* src1, size_t step1,
uchar
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
uchar
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
(
void
*
)
src2
;
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
(
void
)
src2
;
if
(
0
<=
ippiNot_8u_C1R
(
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
sz
))
if
(
0
<=
ippiNot_8u_C1R
(
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)
))
return
;
return
;
#endif
#endif
(
vBinOp
<
uchar
,
OpNot
<
uchar
>
,
IF_SIMD
(
VNot
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
(
vBinOp
<
uchar
,
OpNot
<
uchar
>
,
IF_SIMD
(
VNot
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
...
@@ -2386,7 +2386,7 @@ static void cmp8u(const uchar* src1, size_t step1, const uchar* src2, size_t ste
...
@@ -2386,7 +2386,7 @@ static void cmp8u(const uchar* src1, size_t step1, const uchar* src2, size_t ste
if
(
op
>=
0
)
if
(
op
>=
0
)
{
{
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiCompare_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
size
,
op
))
if
(
0
<=
ippiCompare_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
size
)
,
op
))
return
;
return
;
}
}
#endif
#endif
...
@@ -2469,7 +2469,7 @@ static void cmp16u(const ushort* src1, size_t step1, const ushort* src2, size_t
...
@@ -2469,7 +2469,7 @@ static void cmp16u(const ushort* src1, size_t step1, const ushort* src2, size_t
if
(
op
>=
0
)
if
(
op
>=
0
)
{
{
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiCompare_16u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
size
,
op
))
if
(
0
<=
ippiCompare_16u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
size
)
,
op
))
return
;
return
;
}
}
#endif
#endif
...
@@ -2484,7 +2484,7 @@ static void cmp16s(const short* src1, size_t step1, const short* src2, size_t st
...
@@ -2484,7 +2484,7 @@ static void cmp16s(const short* src1, size_t step1, const short* src2, size_t st
if
(
op
>
0
)
if
(
op
>
0
)
{
{
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiCompare_16s_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
size
,
op
))
if
(
0
<=
ippiCompare_16s_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
size
)
,
op
))
return
;
return
;
}
}
#endif
#endif
...
@@ -2590,7 +2590,7 @@ static void cmp32f(const float* src1, size_t step1, const float* src2, size_t st
...
@@ -2590,7 +2590,7 @@ static void cmp32f(const float* src1, size_t step1, const float* src2, size_t st
if
(
op
>=
0
)
if
(
op
>=
0
)
{
{
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
fixSteps
(
size
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiCompare_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
(
IppiSize
&
)
size
,
op
))
if
(
0
<=
ippiCompare_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
size
)
,
op
))
return
;
return
;
}
}
#endif
#endif
...
...
modules/core/src/matmul.cpp
浏览文件 @
444ab0ef
...
@@ -2227,7 +2227,7 @@ void cv::scaleAdd( InputArray _src1, double alpha, InputArray _src2, OutputArray
...
@@ -2227,7 +2227,7 @@ void cv::scaleAdd( InputArray _src1, double alpha, InputArray _src2, OutputArray
if
(
depth
==
CV_32F
&&
if
(
depth
==
CV_32F
&&
ippmSaxpy_vava_32f
((
const
Ipp32f
*
)
src1
.
data
,
(
int
)
src1
.
step
,
sizeof
(
Ipp32f
),
falpha
,
ippmSaxpy_vava_32f
((
const
Ipp32f
*
)
src1
.
data
,
(
int
)
src1
.
step
,
sizeof
(
Ipp32f
),
falpha
,
(
const
Ipp32f
*
)
src2
.
data
,
(
int
)
src2
.
step
,
sizeof
(
Ipp32f
),
(
const
Ipp32f
*
)
src2
.
data
,
(
int
)
src2
.
step
,
sizeof
(
Ipp32f
),
(
Ipp32f
*
)
dst
.
data
,
(
int
)
dst
.
step
,
sizeof
(
Ipp32f
),
len
,
1
)
>=
0
)
(
Ipp32f
*
)
dst
.
data
,
(
int
)
dst
.
step
,
sizeof
(
Ipp32f
),
(
int
)
len
,
1
)
>=
0
)
return
;
return
;
#endif
#endif
func
(
src1
.
data
,
src2
.
data
,
dst
.
data
,
(
int
)
len
,
palpha
);
func
(
src1
.
data
,
src2
.
data
,
dst
.
data
,
(
int
)
len
,
palpha
);
...
...
modules/core/src/stat.cpp
浏览文件 @
444ab0ef
...
@@ -2114,11 +2114,7 @@ double cv::norm( InputArray _src, int normType, InputArray _mask )
...
@@ -2114,11 +2114,7 @@ double cv::norm( InputArray _src, int normType, InputArray _mask )
type
==
CV_16UC3
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16u_C3R
:
type
==
CV_16UC3
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16u_C3R
:
type
==
CV_16UC4
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16u_C4R
:
type
==
CV_16UC4
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16u_C4R
:
type
==
CV_16SC1
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16s_C1R
:
type
==
CV_16SC1
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16s_C1R
:
<<<<<<<
HEAD
#if (IPP_VERSION_X100 >= 801)
#if (IPP_VERSION_X100 >= 801)
=======
#if IPP_VERSION_MAJOR * 10 + IPP_VERSION_MINOR >= 81
>>>>>>>
cv
::
scaleAdd
type
==
CV_16SC3
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16s_C3R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
type
==
CV_16SC3
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16s_C3R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
type
==
CV_16SC4
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16s_C4R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
type
==
CV_16SC4
?
(
ippiNormFuncNoHint
)
ippiNorm_Inf_16s_C4R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
#endif
#endif
...
@@ -2550,11 +2546,7 @@ double cv::norm( InputArray _src1, InputArray _src2, int normType, InputArray _m
...
@@ -2550,11 +2546,7 @@ double cv::norm( InputArray _src1, InputArray _src2, int normType, InputArray _m
type
==
CV_16UC3
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16u_C3R
:
type
==
CV_16UC3
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16u_C3R
:
type
==
CV_16UC4
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16u_C4R
:
type
==
CV_16UC4
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16u_C4R
:
type
==
CV_16SC1
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16s_C1R
:
type
==
CV_16SC1
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16s_C1R
:
<<<<<<<
HEAD
#if (IPP_VERSION_X100 >= 801)
#if (IPP_VERSION_X100 >= 801)
=======
#if IPP_VERSION_MAJOR * 10 + IPP_VERSION_MINOR >= 81
>>>>>>>
cv
::
scaleAdd
type
==
CV_16SC3
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16s_C3R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
type
==
CV_16SC3
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16s_C3R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
type
==
CV_16SC4
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16s_C4R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
type
==
CV_16SC4
?
(
ippiNormDiffFuncNoHint
)
ippiNormDiff_Inf_16s_C4R
:
//Aug 2013: problem in IPP 7.1, 8.0 : -32768
#endif
#endif
...
...
modules/imgproc/src/accum.cpp
浏览文件 @
444ab0ef
...
@@ -487,10 +487,10 @@ void cv::accumulateSquare( InputArray _src, InputOutputArray _dst, InputArray _m
...
@@ -487,10 +487,10 @@ void cv::accumulateSquare( InputArray _src, InputOutputArray _dst, InputArray _m
int
srcstep
=
(
int
)
src
.
step
,
dststep
=
(
int
)
dst
.
step
,
maskstep
=
(
int
)
mask
.
step
;
int
srcstep
=
(
int
)
src
.
step
,
dststep
=
(
int
)
dst
.
step
,
maskstep
=
(
int
)
mask
.
step
;
if
(
src
.
isContinuous
()
&&
dst
.
isContinuous
()
&&
mask
.
isContinuous
())
if
(
src
.
isContinuous
()
&&
dst
.
isContinuous
()
&&
mask
.
isContinuous
())
{
{
srcstep
=
s
rc
.
total
()
*
src
.
elemSize
(
);
srcstep
=
s
tatic_cast
<
int
>
(
src
.
total
()
*
src
.
elemSize
()
);
dststep
=
dst
.
total
()
*
dst
.
elemSize
(
);
dststep
=
static_cast
<
int
>
(
dst
.
total
()
*
dst
.
elemSize
()
);
maskstep
=
mask
.
total
()
*
mask
.
elemSize
(
);
maskstep
=
static_cast
<
int
>
(
mask
.
total
()
*
mask
.
elemSize
()
);
size
.
width
=
(
int
)
src
.
total
(
);
size
.
width
=
static_cast
<
int
>
(
src
.
total
()
);
size
.
height
=
1
;
size
.
height
=
1
;
}
}
size
.
width
*=
scn
;
size
.
width
*=
scn
;
...
@@ -564,13 +564,13 @@ void cv::accumulateProduct( InputArray _src1, InputArray _src2,
...
@@ -564,13 +564,13 @@ void cv::accumulateProduct( InputArray _src1, InputArray _src2,
Size
size
=
src1
.
size
();
Size
size
=
src1
.
size
();
int
src1step
=
(
int
)
src1
.
step
,
src2step
=
(
int
)
src2
.
step
,
dststep
=
(
int
)
dst
.
step
,
maskstep
=
(
int
)
mask
.
step
;
int
src1step
=
(
int
)
src1
.
step
,
src2step
=
(
int
)
src2
.
step
,
dststep
=
(
int
)
dst
.
step
,
maskstep
=
(
int
)
mask
.
step
;
if
(
src1
.
isContinuous
()
&&
src2
.
isContinuous
()
&&
dst
.
isContinuous
()
&&
mask
.
empty
())
if
(
src1
.
isContinuous
()
&&
src2
.
isContinuous
()
&&
dst
.
isContinuous
()
&&
mask
.
isContinuous
())
{
{
src1step
=
s
rc1
.
total
()
*
src1
.
elemSize
(
);
src1step
=
s
tatic_cast
<
int
>
(
src1
.
total
()
*
src1
.
elemSize
()
);
src2step
=
s
rc2
.
total
()
*
src2
.
elemSize
(
);
src2step
=
s
tatic_cast
<
int
>
(
src2
.
total
()
*
src2
.
elemSize
()
);
dststep
=
dst
.
total
()
*
dst
.
elemSize
(
);
dststep
=
static_cast
<
int
>
(
dst
.
total
()
*
dst
.
elemSize
()
);
maskstep
=
mask
.
total
()
*
mask
.
elemSize
(
);
maskstep
=
static_cast
<
int
>
(
mask
.
total
()
*
mask
.
elemSize
()
);
size
.
width
=
(
int
)
src1
.
total
(
);
size
.
width
=
static_cast
<
int
>
(
src1
.
total
()
);
size
.
height
=
1
;
size
.
height
=
1
;
}
}
size
.
width
*=
scn
;
size
.
width
*=
scn
;
...
@@ -645,12 +645,12 @@ void cv::accumulateWeighted( InputArray _src, InputOutputArray _dst,
...
@@ -645,12 +645,12 @@ void cv::accumulateWeighted( InputArray _src, InputOutputArray _dst,
Size
size
=
src
.
size
();
Size
size
=
src
.
size
();
int
srcstep
=
(
int
)
src
.
step
,
dststep
=
(
int
)
dst
.
step
,
maskstep
=
(
int
)
mask
.
step
;
int
srcstep
=
(
int
)
src
.
step
,
dststep
=
(
int
)
dst
.
step
,
maskstep
=
(
int
)
mask
.
step
;
if
(
src
.
isContinuous
()
&&
dst
.
isContinuous
()
&&
mask
.
empty
())
if
(
src
.
isContinuous
()
&&
dst
.
isContinuous
()
&&
mask
.
isContinuous
())
{
{
srcstep
=
s
rc
.
total
()
*
src
.
elemSize
(
);
srcstep
=
s
tatic_cast
<
int
>
(
src
.
total
()
*
src
.
elemSize
()
);
dststep
=
dst
.
total
()
*
dst
.
elemSize
(
);
dststep
=
static_cast
<
int
>
(
dst
.
total
()
*
dst
.
elemSize
()
);
maskstep
=
mask
.
total
()
*
mask
.
elemSize
(
);
maskstep
=
static_cast
<
int
>
(
mask
.
total
()
*
mask
.
elemSize
()
);
size
.
width
=
(
int
)
src
.
total
(
);
size
.
width
=
static_cast
<
int
>
((
int
)
src
.
total
()
);
size
.
height
=
1
;
size
.
height
=
1
;
}
}
size
.
width
*=
scn
;
size
.
width
*=
scn
;
...
...
modules/imgproc/src/color.cpp
浏览文件 @
444ab0ef
...
@@ -3254,11 +3254,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
...
@@ -3254,11 +3254,7 @@ void cv::cvtColor( InputArray _src, OutputArray _dst, int code, int dcn )
if
(
CvtColorIPPLoopCopy
(
src
,
dst
,
IPPReorderFunctor
(
ippiSwapChannelsC3RTab
[
depth
],
2
,
1
,
0
))
)
if
(
CvtColorIPPLoopCopy
(
src
,
dst
,
IPPReorderFunctor
(
ippiSwapChannelsC3RTab
[
depth
],
2
,
1
,
0
))
)
return
;
return
;
}
}
<<<<<<<
HEAD
#if (IPP_VERSION_X100 >= 801)
#if (IPP_VERSION_X100 >= 801)
=======
#if IPP_VERSION_MAJOR * 10 + IPP_VERSION_MINOR >= 81
>>>>>>>
cv
::
scaleAdd
else
if
(
code
==
CV_RGBA2BGRA
)
else
if
(
code
==
CV_RGBA2BGRA
)
{
{
if
(
CvtColorIPPLoopCopy
(
src
,
dst
,
IPPReorderFunctor
(
ippiSwapChannelsC4RTab
[
depth
],
2
,
1
,
0
))
)
if
(
CvtColorIPPLoopCopy
(
src
,
dst
,
IPPReorderFunctor
(
ippiSwapChannelsC4RTab
[
depth
],
2
,
1
,
0
))
)
...
...
modules/imgproc/src/imgwarp.cpp
浏览文件 @
444ab0ef
...
@@ -61,7 +61,7 @@ namespace cv
...
@@ -61,7 +61,7 @@ namespace cv
typedef
IppStatus
(
CV_STDCALL
*
ippiResizeGetSrcOffset
)(
void
*
,
IppiPoint
,
IppiPoint
*
);
typedef
IppStatus
(
CV_STDCALL
*
ippiResizeGetSrcOffset
)(
void
*
,
IppiPoint
,
IppiPoint
*
);
#endif
#endif
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
#if defined (HAVE_IPP) && (IPP_VERSION_MAJOR >= 7)
&& 0
typedef
IppStatus
(
CV_STDCALL
*
ippiSetFunc
)(
const
void
*
,
void
*
,
int
,
IppiSize
);
typedef
IppStatus
(
CV_STDCALL
*
ippiSetFunc
)(
const
void
*
,
void
*
,
int
,
IppiSize
);
typedef
IppStatus
(
CV_STDCALL
*
ippiWarpPerspectiveFunc
)(
const
void
*
,
IppiSize
,
int
,
IppiRect
,
void
*
,
int
,
IppiRect
,
double
[
3
][
3
],
int
);
typedef
IppStatus
(
CV_STDCALL
*
ippiWarpPerspectiveFunc
)(
const
void
*
,
IppiSize
,
int
,
IppiRect
,
void
*
,
int
,
IppiRect
,
double
[
3
][
3
],
int
);
typedef
IppStatus
(
CV_STDCALL
*
ippiWarpAffineBackFunc
)(
const
void
*
,
IppiSize
,
int
,
IppiRect
,
void
*
,
int
,
IppiRect
,
double
[
2
][
3
],
int
);
typedef
IppStatus
(
CV_STDCALL
*
ippiWarpAffineBackFunc
)(
const
void
*
,
IppiSize
,
int
,
IppiRect
,
void
*
,
int
,
IppiRect
,
double
[
2
][
3
],
int
);
...
@@ -4015,7 +4015,7 @@ private:
...
@@ -4015,7 +4015,7 @@ private:
/*
/*
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
+ IPP_VERSION_MINOR >= 8
1
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
0 + IPP_VERSION_MINOR >= 80
1
class IPPWarpAffineInvoker :
class IPPWarpAffineInvoker :
public ParallelLoopBody
public ParallelLoopBody
{
{
...
@@ -4215,7 +4215,7 @@ void cv::warpAffine( InputArray _src, OutputArray _dst,
...
@@ -4215,7 +4215,7 @@ void cv::warpAffine( InputArray _src, OutputArray _dst,
const
int
AB_SCALE
=
1
<<
AB_BITS
;
const
int
AB_SCALE
=
1
<<
AB_BITS
;
/*
/*
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
+ IPP_VERSION_MINOR >= 8
1
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
0 + IPP_VERSION_MINOR >= 80
1
int type = src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
int type = src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
if( ( depth == CV_8U || depth == CV_16U || depth == CV_32F ) &&
if( ( depth == CV_8U || depth == CV_16U || depth == CV_32F ) &&
( cn == 1 || cn == 3 || cn == 4 ) &&
( cn == 1 || cn == 3 || cn == 4 ) &&
...
@@ -4381,53 +4381,52 @@ private:
...
@@ -4381,53 +4381,52 @@ private:
};
};
/*
/*
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
+ IPP_VERSION_MINOR >= 8
1
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
0 + IPP_VERSION_MINOR >= 80
1
class IPPWarpPerspectiveInvoker :
class IPPWarpPerspectiveInvoker :
public ParallelLoopBody
public ParallelLoopBody
{
{
public:
public:
IPPWarpPerspectiveInvoker(Mat &_src, Mat &_dst, double (&_coeffs)[3][3], int &_interpolation,
IPPWarpPerspectiveInvoker(Mat &_src, Mat &_dst, double (&_coeffs)[3][3], int &_interpolation,
int &_borderType, const Scalar &_borderValue, ippiWarpPerspectiveFunc _func, bool *_ok) :
int &_borderType, const Scalar &_borderValue, ippiWarpPerspectiveFunc _func, bool *_ok) :
ParallelLoopBody(), src(_src), dst(_dst), mode(_interpolation), coeffs(_coeffs),
ParallelLoopBody(), src(_src), dst(_dst), mode(_interpolation), coeffs(_coeffs),
borderType(_borderType), borderValue(_borderValue), func(_func), ok(_ok)
borderType(_borderType), borderValue(_borderValue), func(_func), ok(_ok)
{
{
*ok = true;
*ok = true;
}
}
virtual void operator() (const Range& range) const
virtual void operator() (const Range& range) const
{
{
IppiSize srcsize = {src.cols, src.rows};
IppiSize srcsize = {src.cols, src.rows};
IppiRect srcroi = {0, 0, src.cols, src.rows};
IppiRect srcroi = {0, 0, src.cols, src.rows};
IppiRect dstroi = {0, range.start, dst.cols, range.end - range.start};
IppiRect dstroi = {0, range.start, dst.cols, range.end - range.start};
int cnn = src.channels();
int cnn = src.channels();
if( borderType == BORDER_CONSTANT )
if( borderType == BORDER_CONSTANT )
{
{
IppiSize setSize = {dst.cols, range.end - range.start};
IppiSize setSize = {dst.cols, range.end - range.start};
void *dataPointer = dst.data + dst.step[0] * range.start;
void *dataPointer = dst.data + dst.step[0] * range.start;
if( !IPPSet( borderValue, dataPointer, (int)dst.step[0], setSize, cnn, src.depth() ) )
if( !IPPSet( borderValue, dataPointer, (int)dst.step[0], setSize, cnn, src.depth() ) )
{
{
*ok = false;
*ok = false;
return;
return;
}
}
}
}
IppStatus status = func(src.data, srcsize, (int)src.step[0], srcroi, dst.data, (int)dst.step[0], dstroi, coeffs, mode);
IppStatus status = func(src.data, srcsize, (int)src.step[0], srcroi, dst.data, (int)dst.step[0], dstroi, coeffs, mode);
printf("%d\n", status);
if (status != ippStsNoErr)
if (status != ippStsNoErr)
*ok = false;
*ok = false;
}
}
private:
private:
Mat &src;
Mat &src;
Mat &dst;
Mat &dst;
int mode;
int mode;
double (&coeffs)[3][3];
double (&coeffs)[3][3];
int borderType;
int borderType;
const Scalar borderValue;
const Scalar borderValue;
ippiWarpPerspectiveFunc func;
ippiWarpPerspectiveFunc func;
bool *ok;
bool *ok;
const IPPWarpPerspectiveInvoker& operator= (const IPPWarpPerspectiveInvoker&);
const IPPWarpPerspectiveInvoker& operator= (const IPPWarpPerspectiveInvoker&);
};
};
#endif
#endif
*/
*/
...
@@ -4464,7 +4463,7 @@ void cv::warpPerspective( InputArray _src, OutputArray _dst, InputArray _M0,
...
@@ -4464,7 +4463,7 @@ void cv::warpPerspective( InputArray _src, OutputArray _dst, InputArray _M0,
#endif
#endif
/*
/*
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
+ IPP_VERSION_MINOR >= 8
1
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10
0 + IPP_VERSION_MINOR >= 80
1
int type = src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
int type = src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
if( (depth == CV_8U || depth == CV_16U || depth == CV_32F) &&
if( (depth == CV_8U || depth == CV_16U || depth == CV_32F) &&
(cn == 1 || cn == 3 || cn == 4) &&
(cn == 1 || cn == 3 || cn == 4) &&
...
...
modules/imgproc/src/morph.cpp
浏览文件 @
444ab0ef
...
@@ -1136,11 +1136,7 @@ private:
...
@@ -1136,11 +1136,7 @@ private:
Scalar
borderValue
;
Scalar
borderValue
;
};
};
<<<<<<<
HEAD
#if IPP_VERSION_X100 >= 801
#if IPP_VERSION_X100 >= 801
=======
#if defined (HAVE_IPP) && IPP_VERSION_MAJOR * 10 + IPP_VERSION_MINOR >= 81
>>>>>>>
cv
::
scaleAdd
static
bool
IPPMorphReplicate
(
int
op
,
const
Mat
&
src
,
Mat
&
dst
,
const
Mat
&
kernel
,
static
bool
IPPMorphReplicate
(
int
op
,
const
Mat
&
src
,
Mat
&
dst
,
const
Mat
&
kernel
,
const
Size
&
ksize
,
const
Point
&
anchor
,
bool
rectKernel
)
const
Size
&
ksize
,
const
Point
&
anchor
,
bool
rectKernel
)
{
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录