Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
2cd7a913
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,发现更多精彩内容 >>
提交
2cd7a913
编写于
4月 16, 2014
作者:
I
Ilya Lavrenov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
verbose errors
上级
f3c56f83
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
49 addition
and
38 deletion
+49
-38
modules/core/include/opencv2/core/base.hpp
modules/core/include/opencv2/core/base.hpp
+4
-1
modules/core/src/arithm.cpp
modules/core/src/arithm.cpp
+25
-28
modules/core/src/convert.cpp
modules/core/src/convert.cpp
+2
-2
modules/core/src/copy.cpp
modules/core/src/copy.cpp
+1
-1
modules/core/src/precomp.hpp
modules/core/src/precomp.hpp
+1
-2
modules/core/src/system.cpp
modules/core/src/system.cpp
+15
-3
modules/ts/include/opencv2/ts/ts_ext.hpp
modules/ts/include/opencv2/ts/ts_ext.hpp
+1
-1
未找到文件。
modules/core/include/opencv2/core/base.hpp
浏览文件 @
2cd7a913
...
...
@@ -560,8 +560,11 @@ namespace cudev
template
<
typename
_Tp
>
class
GpuMat_
;
}
CV_EXPORTS
void
setIppStatus
(
int
status
);
CV_EXPORTS
void
setIppStatus
(
int
status
,
const
char
*
const
funcname
=
NULL
,
const
char
*
const
filename
=
NULL
,
int
line
=
0
);
CV_EXPORTS
int
getIppStatus
();
CV_EXPORTS
String
getIppErrorLocation
();
#define setIppErrorStatus() setIppStatus(-1, CV_Func, __FILE__, __LINE__)
}
// cv
...
...
modules/core/src/arithm.cpp
浏览文件 @
2cd7a913
...
...
@@ -464,7 +464,7 @@ static void add8u( const uchar* src1, size_t step1,
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
uchar
,
OpAdd
<
uchar
>
,
IF_SIMD
(
VAdd
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -484,7 +484,7 @@ static void add16u( const ushort* src1, size_t step1,
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
ushort
,
OpAdd
<
ushort
>
,
IF_SIMD
(
VAdd
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -497,7 +497,7 @@ static void add16s( const short* src1, size_t step1,
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
short
,
OpAdd
<
short
>
,
IF_SIMD
(
VAdd
<
short
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -517,7 +517,7 @@ static void add32f( const float* src1, size_t step1,
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAdd_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp32
<
float
,
OpAdd
<
float
>
,
IF_SIMD
(
VAdd
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -537,7 +537,7 @@ static void sub8u( const uchar* src1, size_t step1,
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
uchar
,
OpSub
<
uchar
>
,
IF_SIMD
(
VSub
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -557,7 +557,7 @@ static void sub16u( const ushort* src1, size_t step1,
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
ushort
,
OpSub
<
ushort
>
,
IF_SIMD
(
VSub
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -570,7 +570,7 @@ static void sub16s( const short* src1, size_t step1,
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
short
,
OpSub
<
short
>
,
IF_SIMD
(
VSub
<
short
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -590,7 +590,7 @@ static void sub32f( const float* src1, size_t step1,
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiSub_32f_C1R
(
src2
,
(
int
)
step2
,
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp32
<
float
,
OpSub
<
float
>
,
IF_SIMD
(
VSub
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -625,7 +625,7 @@ static void max8u( const uchar* src1, size_t step1,
}
if
(
i
==
sz
.
height
)
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
vBinOp
<
uchar
,
OpMax
<
uchar
>
,
IF_SIMD
(
VMax
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
}
...
...
@@ -657,7 +657,7 @@ static void max16u( const ushort* src1, size_t step1,
}
if
(
i
==
sz
.
height
)
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
vBinOp
<
ushort
,
OpMax
<
ushort
>
,
IF_SIMD
(
VMax
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
}
...
...
@@ -696,7 +696,7 @@ static void max32f( const float* src1, size_t step1,
}
if
(
i
==
sz
.
height
)
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
vBinOp32
<
float
,
OpMax
<
float
>
,
IF_SIMD
(
VMax
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
}
...
...
@@ -728,7 +728,7 @@ static void min8u( const uchar* src1, size_t step1,
}
if
(
i
==
sz
.
height
)
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
vBinOp
<
uchar
,
OpMin
<
uchar
>
,
IF_SIMD
(
VMin
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
}
...
...
@@ -760,7 +760,7 @@ static void min16u( const ushort* src1, size_t step1,
}
if
(
i
==
sz
.
height
)
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
vBinOp
<
ushort
,
OpMin
<
ushort
>
,
IF_SIMD
(
VMin
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
}
...
...
@@ -799,7 +799,7 @@ static void min32f( const float* src1, size_t step1,
}
if
(
i
==
sz
.
height
)
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
vBinOp32
<
float
,
OpMin
<
float
>
,
IF_SIMD
(
VMin
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
}
...
...
@@ -816,11 +816,10 @@ static void absdiff8u( const uchar* src1, size_t step1,
uchar
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
{
#if (ARITHM_USE_IPP == 1)
printf
(
"!
\n
"
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAbsDiff_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
uchar
,
OpAbsDiff
<
uchar
>
,
IF_SIMD
(
VAbsDiff
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -837,11 +836,10 @@ static void absdiff16u( const ushort* src1, size_t step1,
ushort
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
{
#if (ARITHM_USE_IPP == 1)
printf
(
"!
\n
"
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAbsDiff_16u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
ushort
,
OpAbsDiff
<
ushort
>
,
IF_SIMD
(
VAbsDiff
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -865,11 +863,10 @@ static void absdiff32f( const float* src1, size_t step1,
float
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
{
#if (ARITHM_USE_IPP == 1)
printf
(
"!
\n
"
);
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAbsDiff_32f_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp32
<
float
,
OpAbsDiff
<
float
>
,
IF_SIMD
(
VAbsDiff
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -890,7 +887,7 @@ static void and8u( const uchar* src1, size_t step1,
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiAnd_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
uchar
,
OpAnd
<
uchar
>
,
IF_SIMD
(
VAnd
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -903,7 +900,7 @@ static void or8u( const uchar* src1, size_t step1,
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiOr_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
uchar
,
OpOr
<
uchar
>
,
IF_SIMD
(
VOr
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -916,7 +913,7 @@ static void xor8u( const uchar* src1, size_t step1,
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
if
(
0
<=
ippiXor_8u_C1R
(
src1
,
(
int
)
step1
,
src2
,
(
int
)
step2
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
uchar
,
OpXor
<
uchar
>
,
IF_SIMD
(
VXor
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -929,7 +926,7 @@ static void not8u( const uchar* src1, size_t step1,
fixSteps
(
sz
,
sizeof
(
dst
[
0
]),
step1
,
step2
,
step
);
(
void
)
src2
;
if
(
0
<=
ippiNot_8u_C1R
(
src1
,
(
int
)
step1
,
dst
,
(
int
)
step
,
ippiSize
(
sz
)))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
(
vBinOp
<
uchar
,
OpNot
<
uchar
>
,
IF_SIMD
(
VNot
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
));
}
...
...
@@ -2414,7 +2411,7 @@ static void cmp8u(const uchar* src1, size_t step1, const uchar* src2, size_t ste
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
#endif
//vz optimized cmp_(src1, step1, src2, step2, dst, step, size, *(int*)_cmpop);
...
...
@@ -2498,7 +2495,7 @@ static void cmp16u(const ushort* src1, size_t step1, const ushort* src2, size_t
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
#endif
cmp_
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
size
,
*
(
int
*
)
_cmpop
);
...
...
@@ -2514,7 +2511,7 @@ static void cmp16s(const short* src1, size_t step1, const short* src2, size_t st
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
#endif
//vz optimized cmp_(src1, step1, src2, step2, dst, step, size, *(int*)_cmpop);
...
...
@@ -2621,7 +2618,7 @@ static void cmp32f(const float* src1, size_t step1, const float* src2, size_t st
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
))
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
#endif
cmp_
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
size
,
*
(
int
*
)
_cmpop
);
...
...
modules/core/src/convert.cpp
浏览文件 @
2cd7a913
...
...
@@ -1086,7 +1086,7 @@ static void cvt##suffix( const stype* src, size_t sstep, const uchar*, size_t, \
{ \
if (ippiConvert_##ippFavor(src, (int)sstep, dst, (int)dstep, ippiSize(size.width, size.height)) >= 0) \
return; \
setIpp
Status(-1
); \
setIpp
ErrorStatus(
); \
cvt_(src, sstep, dst, dstep, size); \
}
...
...
@@ -1096,7 +1096,7 @@ static void cvt##suffix( const stype* src, size_t sstep, const uchar*, size_t, \
{ \
if (ippiConvert_##ippFavor(src, (int)sstep, dst, (int)dstep, ippiSize(size.width, size.height), ippRndFinancial, 0) >= 0) \
return; \
setIpp
Status(-1
); \
setIpp
ErrorStatus(
); \
cvt_(src, sstep, dst, dstep, size); \
}
#else
...
...
modules/core/src/copy.cpp
浏览文件 @
2cd7a913
...
...
@@ -574,7 +574,7 @@ void flip( InputArray _src, OutputArray _dst, int flip_mode )
IppStatus
status
=
ippFunc
(
src
.
data
,
(
int
)
src
.
step
,
dst
.
data
,
(
int
)
dst
.
step
,
ippiSize
(
src
.
cols
,
src
.
rows
),
axis
);
if
(
status
>=
0
)
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
#endif
...
...
modules/core/src/precomp.hpp
浏览文件 @
2cd7a913
...
...
@@ -235,14 +235,13 @@ void convertAndUnrollScalar( const Mat& sc, int buftype, uchar* scbuf, size_t bl
struct
CoreTLSData
{
CoreTLSData
()
:
device
(
0
),
useOpenCL
(
-
1
)
,
ippStatus
(
0
)
CoreTLSData
()
:
device
(
0
),
useOpenCL
(
-
1
)
{}
RNG
rng
;
int
device
;
ocl
::
Queue
oclQueue
;
int
useOpenCL
;
// 1 - use, 0 - do not use, -1 - auto/not initialized
int
ippStatus
;
// 0 - all is ok, -1 - IPP functions failed
};
extern
TLSData
<
CoreTLSData
>
coreTlsData
;
...
...
modules/core/src/system.cpp
浏览文件 @
2cd7a913
...
...
@@ -1063,14 +1063,26 @@ TLSStorage::~TLSStorage()
TLSData
<
CoreTLSData
>
coreTlsData
;
void
setIppStatus
(
int
status
)
static
int
ippStatus
=
0
;
// 0 - all is ok, -1 - IPP functions failed
static
const
char
*
funcname
,
*
filename
;
static
int
linen
;
void
setIppStatus
(
int
status
,
const
char
*
const
_funcname
,
const
char
*
const
_filename
,
int
_line
)
{
coreTlsData
.
get
()
->
ippStatus
=
status
;
ippStatus
=
status
;
funcname
=
_funcname
;
filename
=
_filename
;
linen
=
_line
;
}
int
getIppStatus
()
{
return
coreTlsData
.
get
()
->
ippStatus
;
return
ippStatus
;
}
String
getIppErrorLocation
()
{
return
format
(
"%s:%d %s"
,
filename
?
filename
:
""
,
linen
,
funcname
?
funcname
:
""
);
}
}
// namespace cv
...
...
modules/ts/include/opencv2/ts/ts_ext.hpp
浏览文件 @
2cd7a913
...
...
@@ -4,7 +4,7 @@
#define CHECK_IPP_STATUS \
do \
{ \
EXPECT_LE(0, getIppStatus()); \
EXPECT_LE(0, getIppStatus())
<< getIppErrorLocation().c_str()
; \
} while ((void)0, 0)
#undef TEST
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录