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
2cd7a913
Commit
2cd7a913
authored
Apr 16, 2014
by
Ilya Lavrenov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
verbose errors
parent
f3c56f83
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
49 additions
and
38 deletions
+49
-38
base.hpp
modules/core/include/opencv2/core/base.hpp
+4
-1
arithm.cpp
modules/core/src/arithm.cpp
+25
-28
convert.cpp
modules/core/src/convert.cpp
+2
-2
copy.cpp
modules/core/src/copy.cpp
+1
-1
precomp.hpp
modules/core/src/precomp.hpp
+1
-2
system.cpp
modules/core/src/system.cpp
+15
-3
ts_ext.hpp
modules/ts/include/opencv2/ts/ts_ext.hpp
+1
-1
No files found.
modules/core/include/opencv2/core/base.hpp
View file @
2cd7a913
...
@@ -560,8 +560,11 @@ namespace cudev
...
@@ -560,8 +560,11 @@ namespace cudev
template
<
typename
_Tp
>
class
GpuMat_
;
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
int
getIppStatus
();
CV_EXPORTS
String
getIppErrorLocation
();
#define setIppErrorStatus() setIppStatus(-1, CV_Func, __FILE__, __LINE__)
}
// cv
}
// cv
...
...
modules/core/src/arithm.cpp
View file @
2cd7a913
...
@@ -464,7 +464,7 @@ static void add8u( const uchar* src1, size_t step1,
...
@@ -464,7 +464,7 @@ static void add8u( const uchar* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -484,7 +484,7 @@ static void add16u( const ushort* src1, size_t step1,
...
@@ -484,7 +484,7 @@ static void add16u( const ushort* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -497,7 +497,7 @@ static void add16s( const short* src1, size_t step1,
...
@@ -497,7 +497,7 @@ static void add16s( const short* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -517,7 +517,7 @@ static void add32f( const float* src1, size_t step1,
...
@@ -517,7 +517,7 @@ static void add32f( const float* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -537,7 +537,7 @@ static void sub8u( const uchar* src1, size_t step1,
...
@@ -537,7 +537,7 @@ static void sub8u( const uchar* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -557,7 +557,7 @@ static void sub16u( const ushort* src1, size_t step1,
...
@@ -557,7 +557,7 @@ static void sub16u( const ushort* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -570,7 +570,7 @@ static void sub16s( const short* src1, size_t step1,
...
@@ -570,7 +570,7 @@ static void sub16s( const short* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -590,7 +590,7 @@ static void sub32f( const float* src1, size_t step1,
...
@@ -590,7 +590,7 @@ static void sub32f( const float* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -625,7 +625,7 @@ static void max8u( const uchar* src1, size_t step1,
...
@@ -625,7 +625,7 @@ static void max8u( const uchar* src1, size_t step1,
}
}
if
(
i
==
sz
.
height
)
if
(
i
==
sz
.
height
)
return
;
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
#endif
vBinOp
<
uchar
,
OpMax
<
uchar
>
,
IF_SIMD
(
VMax
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
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,
...
@@ -657,7 +657,7 @@ static void max16u( const ushort* src1, size_t step1,
}
}
if
(
i
==
sz
.
height
)
if
(
i
==
sz
.
height
)
return
;
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
#endif
vBinOp
<
ushort
,
OpMax
<
ushort
>
,
IF_SIMD
(
VMax
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
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,
...
@@ -696,7 +696,7 @@ static void max32f( const float* src1, size_t step1,
}
}
if
(
i
==
sz
.
height
)
if
(
i
==
sz
.
height
)
return
;
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
#endif
vBinOp32
<
float
,
OpMax
<
float
>
,
IF_SIMD
(
VMax
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
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,
...
@@ -728,7 +728,7 @@ static void min8u( const uchar* src1, size_t step1,
}
}
if
(
i
==
sz
.
height
)
if
(
i
==
sz
.
height
)
return
;
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
#endif
vBinOp
<
uchar
,
OpMin
<
uchar
>
,
IF_SIMD
(
VMin
<
uchar
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
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,
...
@@ -760,7 +760,7 @@ static void min16u( const ushort* src1, size_t step1,
}
}
if
(
i
==
sz
.
height
)
if
(
i
==
sz
.
height
)
return
;
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
#endif
vBinOp
<
ushort
,
OpMin
<
ushort
>
,
IF_SIMD
(
VMin
<
ushort
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
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,
...
@@ -799,7 +799,7 @@ static void min32f( const float* src1, size_t step1,
}
}
if
(
i
==
sz
.
height
)
if
(
i
==
sz
.
height
)
return
;
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#endif
#endif
vBinOp32
<
float
,
OpMin
<
float
>
,
IF_SIMD
(
VMin
<
float
>
)
>
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
sz
);
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,
...
@@ -816,11 +816,10 @@ static void absdiff8u( 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)
printf
(
"!
\n
"
);
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -837,11 +836,10 @@ static void absdiff16u( const ushort* src1, size_t step1,
...
@@ -837,11 +836,10 @@ static void absdiff16u( const ushort* src1, size_t step1,
ushort
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
ushort
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
printf
(
"!
\n
"
);
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -865,11 +863,10 @@ static void absdiff32f( const float* src1, size_t step1,
...
@@ -865,11 +863,10 @@ static void absdiff32f( const float* src1, size_t step1,
float
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
float
*
dst
,
size_t
step
,
Size
sz
,
void
*
)
{
{
#if (ARITHM_USE_IPP == 1)
#if (ARITHM_USE_IPP == 1)
printf
(
"!
\n
"
);
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -890,7 +887,7 @@ static void and8u( const uchar* src1, size_t step1,
...
@@ -890,7 +887,7 @@ static void and8u( const uchar* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -903,7 +900,7 @@ static void or8u( const uchar* src1, size_t step1,
...
@@ -903,7 +900,7 @@ static void or8u( const uchar* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -916,7 +913,7 @@ static void xor8u( const uchar* src1, size_t step1,
...
@@ -916,7 +913,7 @@ static void xor8u( const uchar* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -929,7 +926,7 @@ static void not8u( const uchar* src1, size_t step1,
...
@@ -929,7 +926,7 @@ static void not8u( const uchar* src1, size_t step1,
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
#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
));
}
}
...
@@ -2414,7 +2411,7 @@ static void cmp8u(const uchar* src1, size_t step1, const uchar* src2, size_t ste
...
@@ -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
);
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
}
#endif
#endif
//vz optimized cmp_(src1, step1, src2, step2, dst, step, size, *(int*)_cmpop);
//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
...
@@ -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
);
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
}
#endif
#endif
cmp_
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
size
,
*
(
int
*
)
_cmpop
);
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
...
@@ -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
);
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
}
#endif
#endif
//vz optimized cmp_(src1, step1, src2, step2, dst, step, size, *(int*)_cmpop);
//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
...
@@ -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
);
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
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
}
#endif
#endif
cmp_
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
size
,
*
(
int
*
)
_cmpop
);
cmp_
(
src1
,
step1
,
src2
,
step2
,
dst
,
step
,
size
,
*
(
int
*
)
_cmpop
);
...
...
modules/core/src/convert.cpp
View file @
2cd7a913
...
@@ -1086,7 +1086,7 @@ static void cvt##suffix( const stype* src, size_t sstep, const uchar*, size_t, \
...
@@ -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) \
if (ippiConvert_##ippFavor(src, (int)sstep, dst, (int)dstep, ippiSize(size.width, size.height)) >= 0) \
return; \
return; \
setIpp
Status(-1
); \
setIpp
ErrorStatus(
); \
cvt_(src, sstep, dst, dstep, size); \
cvt_(src, sstep, dst, dstep, size); \
}
}
...
@@ -1096,7 +1096,7 @@ static void cvt##suffix( const stype* src, size_t sstep, const uchar*, size_t, \
...
@@ -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) \
if (ippiConvert_##ippFavor(src, (int)sstep, dst, (int)dstep, ippiSize(size.width, size.height), ippRndFinancial, 0) >= 0) \
return; \
return; \
setIpp
Status(-1
); \
setIpp
ErrorStatus(
); \
cvt_(src, sstep, dst, dstep, size); \
cvt_(src, sstep, dst, dstep, size); \
}
}
#else
#else
...
...
modules/core/src/copy.cpp
View file @
2cd7a913
...
@@ -574,7 +574,7 @@ void flip( InputArray _src, OutputArray _dst, int flip_mode )
...
@@ -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
);
IppStatus
status
=
ippFunc
(
src
.
data
,
(
int
)
src
.
step
,
dst
.
data
,
(
int
)
dst
.
step
,
ippiSize
(
src
.
cols
,
src
.
rows
),
axis
);
if
(
status
>=
0
)
if
(
status
>=
0
)
return
;
return
;
setIpp
Status
(
-
1
);
setIpp
ErrorStatus
(
);
}
}
#endif
#endif
...
...
modules/core/src/precomp.hpp
View file @
2cd7a913
...
@@ -235,14 +235,13 @@ void convertAndUnrollScalar( const Mat& sc, int buftype, uchar* scbuf, size_t bl
...
@@ -235,14 +235,13 @@ void convertAndUnrollScalar( const Mat& sc, int buftype, uchar* scbuf, size_t bl
struct
CoreTLSData
struct
CoreTLSData
{
{
CoreTLSData
()
:
device
(
0
),
useOpenCL
(
-
1
)
,
ippStatus
(
0
)
CoreTLSData
()
:
device
(
0
),
useOpenCL
(
-
1
)
{}
{}
RNG
rng
;
RNG
rng
;
int
device
;
int
device
;
ocl
::
Queue
oclQueue
;
ocl
::
Queue
oclQueue
;
int
useOpenCL
;
// 1 - use, 0 - do not use, -1 - auto/not initialized
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
;
extern
TLSData
<
CoreTLSData
>
coreTlsData
;
...
...
modules/core/src/system.cpp
View file @
2cd7a913
...
@@ -1063,14 +1063,26 @@ TLSStorage::~TLSStorage()
...
@@ -1063,14 +1063,26 @@ TLSStorage::~TLSStorage()
TLSData
<
CoreTLSData
>
coreTlsData
;
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
()
int
getIppStatus
()
{
{
return
coreTlsData
.
get
()
->
ippStatus
;
return
ippStatus
;
}
String
getIppErrorLocation
()
{
return
format
(
"%s:%d %s"
,
filename
?
filename
:
""
,
linen
,
funcname
?
funcname
:
""
);
}
}
}
// namespace cv
}
// namespace cv
...
...
modules/ts/include/opencv2/ts/ts_ext.hpp
View file @
2cd7a913
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
#define CHECK_IPP_STATUS \
#define CHECK_IPP_STATUS \
do \
do \
{ \
{ \
EXPECT_LE(0, getIppStatus()); \
EXPECT_LE(0, getIppStatus())
<< getIppErrorLocation().c_str()
; \
} while ((void)0, 0)
} while ((void)0, 0)
#undef TEST
#undef TEST
...
...
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