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
901dc3b8
Commit
901dc3b8
authored
Nov 22, 2013
by
Roman Donchenko
Committed by
OpenCV Buildbot
Nov 22, 2013
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1854 from asmorkalov:android_engine_tegra4i5
parents
8a4f3570
bd314bf9
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
138 additions
and
51 deletions
+138
-51
HardwareDetector.cpp
...d/service/engine/jni/BinderComponent/HardwareDetector.cpp
+4
-0
HardwareDetector.h
...oid/service/engine/jni/BinderComponent/HardwareDetector.h
+10
-6
ProcReader.h
...s/android/service/engine/jni/BinderComponent/ProcReader.h
+2
-1
CommonPackageManager.cpp
...service/engine/jni/NativeService/CommonPackageManager.cpp
+10
-1
PackageInfo.cpp
.../android/service/engine/jni/NativeService/PackageInfo.cpp
+2
-0
PackageInfo.h
...ms/android/service/engine/jni/NativeService/PackageInfo.h
+2
-0
OpenCVEngineTest.cpp
...rms/android/service/engine/jni/Tests/OpenCVEngineTest.cpp
+25
-25
PackageInfoTest.cpp
...orms/android/service/engine/jni/Tests/PackageInfoTest.cpp
+49
-12
PackageManagmentTest.cpp
...android/service/engine/jni/Tests/PackageManagmentTest.cpp
+18
-2
HardwareDetector.java
...ervice/engine/src/org/opencv/engine/HardwareDetector.java
+3
-2
ManagerActivity.java
...engine/src/org/opencv/engine/manager/ManagerActivity.java
+13
-2
No files found.
platforms/android/service/engine/jni/BinderComponent/HardwareDetector.cpp
View file @
901dc3b8
...
@@ -91,6 +91,10 @@ int GetCpuID()
...
@@ -91,6 +91,10 @@ int GetCpuID()
{
{
result
|=
FEATURES_HAS_NEON2
;
result
|=
FEATURES_HAS_NEON2
;
}
}
if
(
features
.
end
()
!=
features
.
find
(
CPU_INFO_VFPV4_STR
))
{
result
|=
FEATURES_HAS_VFPv4
;
}
if
(
features
.
end
()
!=
features
.
find
(
CPU_INFO_VFPV3_STR
))
if
(
features
.
end
()
!=
features
.
find
(
CPU_INFO_VFPV3_STR
))
{
{
if
(
features
.
end
()
!=
features
.
find
(
CPU_INFO_VFPV3D16_STR
))
if
(
features
.
end
()
!=
features
.
find
(
CPU_INFO_VFPV3D16_STR
))
...
...
platforms/android/service/engine/jni/BinderComponent/HardwareDetector.h
View file @
901dc3b8
...
@@ -14,8 +14,10 @@
...
@@ -14,8 +14,10 @@
#define FEATURES_HAS_VFPv3d16 1L
#define FEATURES_HAS_VFPv3d16 1L
#define FEATURES_HAS_VFPv3 2L
#define FEATURES_HAS_VFPv3 2L
#define FEATURES_HAS_NEON 4L
#define FEATURES_HAS_VFPv4 4L
#define FEATURES_HAS_NEON2 8L
#define FEATURES_HAS_NEON 8L
#define FEATURES_HAS_NEON2 16L
#define FEATURES_HAS_SSE 1L
#define FEATURES_HAS_SSE 1L
#define FEATURES_HAS_SSE2 2L
#define FEATURES_HAS_SSE2 2L
#define FEATURES_HAS_SSSE3 4L
#define FEATURES_HAS_SSSE3 4L
...
@@ -24,10 +26,12 @@
...
@@ -24,10 +26,12 @@
// TODO: Do not forget to add Platrfom name to PackageInfo::PlatformNameMap
// TODO: Do not forget to add Platrfom name to PackageInfo::PlatformNameMap
// in method PackageInfo::InitPlatformNameMap()
// in method PackageInfo::InitPlatformNameMap()
#define PLATFORM_UNKNOWN 0L
#define PLATFORM_UNKNOWN 0L
#define PLATFORM_TEGRA 1L
#define PLATFORM_TEGRA 1L
#define PLATFORM_TEGRA2 2L
#define PLATFORM_TEGRA2 2L
#define PLATFORM_TEGRA3 3L
#define PLATFORM_TEGRA3 3L
#define PLATFORM_TEGRA4 4L
#define PLATFORM_TEGRA4i 4L
#define PLATFORM_TEGRA4 5L
#define PLATFORM_TEGRA5 6L
int
DetectKnownPlatforms
();
int
DetectKnownPlatforms
();
int
GetProcessorCount
();
int
GetProcessorCount
();
...
...
platforms/android/service/engine/jni/BinderComponent/ProcReader.h
View file @
901dc3b8
...
@@ -7,8 +7,9 @@
...
@@ -7,8 +7,9 @@
#define CPU_INFO_NEON_STR "neon"
#define CPU_INFO_NEON_STR "neon"
#define CPU_INFO_NEON2_STR "neon2"
#define CPU_INFO_NEON2_STR "neon2"
#define CPU_INFO_VFPV3_STR "vfpv3"
#define CPU_INFO_VFPV3D16_STR "vfpv3d16"
#define CPU_INFO_VFPV3D16_STR "vfpv3d16"
#define CPU_INFO_VFPV3_STR "vfpv3"
#define CPU_INFO_VFPV4_STR "vfpv4"
#define CPU_INFO_SSE_STR "sse"
#define CPU_INFO_SSE_STR "sse"
#define CPU_INFO_SSE2_STR "sse2"
#define CPU_INFO_SSE2_STR "sse2"
...
...
platforms/android/service/engine/jni/NativeService/CommonPackageManager.cpp
View file @
901dc3b8
...
@@ -187,17 +187,26 @@ std::vector<std::pair<int, int> > CommonPackageManager::InitArmRating()
...
@@ -187,17 +187,26 @@ std::vector<std::pair<int, int> > CommonPackageManager::InitArmRating()
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv6
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv6
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv6
|
FEATURES_HAS_VFPv3
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv6
|
FEATURES_HAS_VFPv3
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv6
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv6
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA2
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA2
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
|
FEATURES_HAS_VFPv3
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
|
FEATURES_HAS_VFPv3
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3d16
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv3d16
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv3d16
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv3d16
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA3
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA3
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA4i
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_NEON
));
result
.
push_back
(
std
::
pair
<
int
,
int
>
(
PLATFORM_TEGRA5
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_NEON
));
return
result
;
return
result
;
}
}
...
...
platforms/android/service/engine/jni/NativeService/PackageInfo.cpp
View file @
901dc3b8
...
@@ -19,6 +19,8 @@ map<int, string> PackageInfo::InitPlatformNameMap()
...
@@ -19,6 +19,8 @@ map<int, string> PackageInfo::InitPlatformNameMap()
result
[
PLATFORM_TEGRA2
]
=
PLATFORM_TEGRA2_NAME
;
result
[
PLATFORM_TEGRA2
]
=
PLATFORM_TEGRA2_NAME
;
result
[
PLATFORM_TEGRA3
]
=
PLATFORM_TEGRA3_NAME
;
result
[
PLATFORM_TEGRA3
]
=
PLATFORM_TEGRA3_NAME
;
result
[
PLATFORM_TEGRA4
]
=
PLATFORM_TEGRA4_NAME
;
result
[
PLATFORM_TEGRA4
]
=
PLATFORM_TEGRA4_NAME
;
result
[
PLATFORM_TEGRA4i
]
=
PLATFORM_TEGRA4_NAME
;
result
[
PLATFORM_TEGRA5
]
=
PLATFORM_TEGRA5_NAME
;
return
result
;
return
result
;
}
}
...
...
platforms/android/service/engine/jni/NativeService/PackageInfo.h
View file @
901dc3b8
...
@@ -21,10 +21,12 @@
...
@@ -21,10 +21,12 @@
#define FEATURES_HAS_SSSE3_NAME "ssse3"
#define FEATURES_HAS_SSSE3_NAME "ssse3"
#define FEATURES_HAS_GPU_NAME "gpu"
#define FEATURES_HAS_GPU_NAME "gpu"
// TODO: Do not forget to update PackageInfo::InitPlatformNameMap() after constant changes
#define PLATFORM_TEGRA_NAME "tegra"
#define PLATFORM_TEGRA_NAME "tegra"
#define PLATFORM_TEGRA2_NAME "tegra2"
#define PLATFORM_TEGRA2_NAME "tegra2"
#define PLATFORM_TEGRA3_NAME "tegra3"
#define PLATFORM_TEGRA3_NAME "tegra3"
#define PLATFORM_TEGRA4_NAME "tegra4"
#define PLATFORM_TEGRA4_NAME "tegra4"
#define PLATFORM_TEGRA5_NAME "tegra5"
class
PackageInfo
class
PackageInfo
{
{
...
...
platforms/android/service/engine/jni/Tests/OpenCVEngineTest.cpp
View file @
901dc3b8
...
@@ -20,16 +20,16 @@ class ServiceStarter
...
@@ -20,16 +20,16 @@ class ServiceStarter
public
:
public
:
ServiceStarter
()
ServiceStarter
()
{
{
PackageManager
=
new
PackageManagerStub
();
PackageManager
=
new
PackageManagerStub
();
Engine
=
new
OpenCVEngine
(
PackageManager
);
Engine
=
new
OpenCVEngine
(
PackageManager
);
defaultServiceManager
()
->
addService
(
IOpenCVEngine
::
descriptor
,
Engine
);
defaultServiceManager
()
->
addService
(
IOpenCVEngine
::
descriptor
,
Engine
);
LOGI
(
"OpenCVEngine native service started successfully"
);
LOGI
(
"OpenCVEngine native service started successfully"
);
ProcessState
::
self
()
->
startThreadPool
();
ProcessState
::
self
()
->
startThreadPool
();
}
}
~
ServiceStarter
()
~
ServiceStarter
()
{
{
delete
PackageManager
;
delete
PackageManager
;
}
}
PackageManagerStub
*
PackageManager
;
PackageManagerStub
*
PackageManager
;
...
@@ -46,9 +46,9 @@ sp<IOpenCVEngine> InitConnect()
...
@@ -46,9 +46,9 @@ sp<IOpenCVEngine> InitConnect()
do
do
{
{
EngineService
=
ServiceManager
->
getService
(
IOpenCVEngine
::
descriptor
);
EngineService
=
ServiceManager
->
getService
(
IOpenCVEngine
::
descriptor
);
if
(
EngineService
!=
0
)
break
;
if
(
EngineService
!=
0
)
break
;
usleep
(
500000
);
// 0.5 s
usleep
(
500000
);
// 0.5 s
}
while
(
true
);
}
while
(
true
);
Engine
=
interface_cast
<
IOpenCVEngine
>
(
EngineService
);
Engine
=
interface_cast
<
IOpenCVEngine
>
(
EngineService
);
...
@@ -193,11 +193,11 @@ TEST(OpenCVEngineTest, GetPathForCompatiblePackage2)
...
@@ -193,11 +193,11 @@ TEST(OpenCVEngineTest, GetPathForCompatiblePackage2)
#ifdef __SUPPORT_TEGRA3
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra3/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra3/lib"
,
String8
(
result
).
string
());
#else
#else
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a_neon/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a_neon/lib"
,
String8
(
result
).
string
());
#
else
#
else
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a/lib"
,
String8
(
result
).
string
());
#
endif
#
endif
#endif
#endif
}
}
...
@@ -205,18 +205,18 @@ TEST(OpenCVEngineTest, GetPathForCompatiblePackage3)
...
@@ -205,18 +205,18 @@ TEST(OpenCVEngineTest, GetPathForCompatiblePackage3)
{
{
sp
<
IOpenCVEngine
>
Engine
=
InitConnect
();
sp
<
IOpenCVEngine
>
Engine
=
InitConnect
();
Starter
.
PackageManager
->
InstalledPackages
.
clear
();
Starter
.
PackageManager
->
InstalledPackages
.
clear
();
Starter
.
PackageManager
->
InstallVersion
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
);
Starter
.
PackageManager
->
InstallVersion
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_
VFPv4
|
FEATURES_HAS_
NEON
);
EXPECT_FALSE
(
NULL
==
Engine
.
get
());
EXPECT_FALSE
(
NULL
==
Engine
.
get
());
String16
result
=
Engine
->
GetLibPathByVersion
(
String16
(
"2.4"
));
String16
result
=
Engine
->
GetLibPathByVersion
(
String16
(
"2.4"
));
#ifdef __SUPPORT_TEGRA3
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra4/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra4/lib"
,
String8
(
result
).
string
());
#else
#else
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a_neon/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a_neon/lib"
,
String8
(
result
).
string
());
#
else
#
else
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a/lib"
,
String8
(
result
).
string
());
#
endif
#
endif
#endif
#endif
}
}
TEST
(
OpenCVEngineTest
,
InstallAndGetVersion
)
TEST
(
OpenCVEngineTest
,
InstallAndGetVersion
)
...
@@ -226,15 +226,15 @@ TEST(OpenCVEngineTest, InstallAndGetVersion)
...
@@ -226,15 +226,15 @@ TEST(OpenCVEngineTest, InstallAndGetVersion)
EXPECT_FALSE
(
NULL
==
Engine
.
get
());
EXPECT_FALSE
(
NULL
==
Engine
.
get
());
EXPECT_TRUE
(
Engine
->
InstallVersion
(
String16
(
"2.4"
)));
EXPECT_TRUE
(
Engine
->
InstallVersion
(
String16
(
"2.4"
)));
String16
result
=
Engine
->
GetLibPathByVersion
(
String16
(
"2.4"
));
String16
result
=
Engine
->
GetLibPathByVersion
(
String16
(
"2.4"
));
#ifdef __SUPPORT_TEGRA3
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra3/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra3/lib"
,
String8
(
result
).
string
());
#else
#else
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a_neon/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a_neon/lib"
,
String8
(
result
).
string
());
#
else
#
else
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a/lib"
,
String8
(
result
).
string
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a/lib"
,
String8
(
result
).
string
());
#
endif
#
endif
#endif
#endif
}
}
TEST
(
OpenCVEngineTest
,
GetPathFor2_4_2
)
TEST
(
OpenCVEngineTest
,
GetPathFor2_4_2
)
...
...
platforms/android/service/engine/jni/Tests/PackageInfoTest.cpp
View file @
901dc3b8
...
@@ -34,6 +34,13 @@ TEST(PackageInfo, FullNameArmv7VFPv3)
...
@@ -34,6 +34,13 @@ TEST(PackageInfo, FullNameArmv7VFPv3)
EXPECT_STREQ
(
"org.opencv.lib_v23_armv7a"
,
name
.
c_str
());
EXPECT_STREQ
(
"org.opencv.lib_v23_armv7a"
,
name
.
c_str
());
}
}
TEST
(
PackageInfo
,
FullNameArmv7VFPv4
)
{
PackageInfo
info
(
2030300
,
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv4
);
string
name
=
info
.
GetFullName
();
EXPECT_STREQ
(
"org.opencv.lib_v23_armv7a"
,
name
.
c_str
());
}
TEST
(
PackageInfo
,
FullNameArmv7VFPv3Neon
)
TEST
(
PackageInfo
,
FullNameArmv7VFPv3Neon
)
{
{
PackageInfo
info
(
2030000
,
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
);
PackageInfo
info
(
2030000
,
PLATFORM_UNKNOWN
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
);
...
@@ -74,30 +81,60 @@ TEST(PackageInfo, FullNameTegra3)
...
@@ -74,30 +81,60 @@ TEST(PackageInfo, FullNameTegra3)
{
{
PackageInfo
info
(
2030000
,
PLATFORM_TEGRA3
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
);
PackageInfo
info
(
2030000
,
PLATFORM_TEGRA3
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
);
string
name
=
info
.
GetFullName
();
string
name
=
info
.
GetFullName
();
#ifdef __SUPPORT_TEGRA3
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"org.opencv.lib_v23_tegra3"
,
name
.
c_str
());
EXPECT_STREQ
(
"org.opencv.lib_v23_tegra3"
,
name
.
c_str
());
#else
#else
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"org.opencv.lib_v23_armv7a_neon"
,
name
.
c_str
());
EXPECT_STREQ
(
"org.opencv.lib_v23_armv7a_neon"
,
name
.
c_str
());
#
else
#
else
EXPECT_STREQ
(
"org.opencv.lib_v23_armv7a"
,
name
.
c_str
());
EXPECT_STREQ
(
"org.opencv.lib_v23_armv7a"
,
name
.
c_str
());
#
endif
#
endif
#endif
#endif
}
}
TEST
(
PackageInfo
,
FullNameTegra4
)
TEST
(
PackageInfo
,
FullNameTegra4
)
{
{
PackageInfo
info
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
);
PackageInfo
info
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
);
string
name
=
info
.
GetFullName
();
string
name
=
info
.
GetFullName
();
#ifdef __SUPPORT_TEGRA3
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"org.opencv.lib_v24_tegra4"
,
name
.
c_str
());
#else
# ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a_neon"
,
name
.
c_str
());
# else
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a"
,
name
.
c_str
());
# endif
#endif
}
TEST
(
PackageInfo
,
FullNameTegra4i
)
{
PackageInfo
info
(
2040700
,
PLATFORM_TEGRA4i
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
);
string
name
=
info
.
GetFullName
();
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"org.opencv.lib_v24_tegra4"
,
name
.
c_str
());
EXPECT_STREQ
(
"org.opencv.lib_v24_tegra4"
,
name
.
c_str
());
#else
#else
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
#
ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a_neon"
,
name
.
c_str
());
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a_neon"
,
name
.
c_str
());
#
else
#
else
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a"
,
name
.
c_str
());
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a"
,
name
.
c_str
());
#endif
# endif
#endif
#endif
}
TEST
(
PackageInfo
,
FullNameTegra5
)
{
PackageInfo
info
(
2040700
,
PLATFORM_TEGRA5
,
ARCH_ARMv7
|
FEATURES_HAS_NEON
);
string
name
=
info
.
GetFullName
();
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"org.opencv.lib_v24_tegra5"
,
name
.
c_str
());
#else
# ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a_neon"
,
name
.
c_str
());
# else
EXPECT_STREQ
(
"org.opencv.lib_v24_armv7a"
,
name
.
c_str
());
# endif
#endif
}
}
TEST
(
PackageInfo
,
FullNameX86SSE2
)
TEST
(
PackageInfo
,
FullNameX86SSE2
)
...
...
platforms/android/service/engine/jni/Tests/PackageManagmentTest.cpp
View file @
901dc3b8
...
@@ -105,8 +105,8 @@ TEST(PackageManager, GetPackagePathForTegra3)
...
@@ -105,8 +105,8 @@ TEST(PackageManager, GetPackagePathForTegra3)
TEST
(
PackageManager
,
GetPackagePathForTegra4
)
TEST
(
PackageManager
,
GetPackagePathForTegra4
)
{
{
PackageManagerStub
pm
;
PackageManagerStub
pm
;
EXPECT_TRUE
(
pm
.
InstallVersion
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
));
EXPECT_TRUE
(
pm
.
InstallVersion
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_
VFPv4
|
FEATURES_HAS_
NEON
));
string
path
=
pm
.
GetPackagePathByVersion
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_NEON
);
string
path
=
pm
.
GetPackagePathByVersion
(
2040400
,
PLATFORM_TEGRA4
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_
VFPv4
|
FEATURES_HAS_
NEON
);
#ifdef __SUPPORT_TEGRA3
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra4/lib"
,
path
.
c_str
());
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra4/lib"
,
path
.
c_str
());
#else
#else
...
@@ -118,6 +118,22 @@ TEST(PackageManager, GetPackagePathForTegra4)
...
@@ -118,6 +118,22 @@ TEST(PackageManager, GetPackagePathForTegra4)
#endif
#endif
}
}
TEST
(
PackageManager
,
GetPackagePathForTegra5
)
{
PackageManagerStub
pm
;
EXPECT_TRUE
(
pm
.
InstallVersion
(
2040400
,
PLATFORM_TEGRA5
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_NEON
));
string
path
=
pm
.
GetPackagePathByVersion
(
2040400
,
PLATFORM_TEGRA5
,
ARCH_ARMv7
|
FEATURES_HAS_VFPv3
|
FEATURES_HAS_VFPv4
|
FEATURES_HAS_NEON
);
#ifdef __SUPPORT_TEGRA3
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_tegra5/lib"
,
path
.
c_str
());
#else
#ifdef __SUPPORT_ARMEABI_V7A_FEATURES
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a_neon/lib"
,
path
.
c_str
());
#else
EXPECT_STREQ
(
"/data/data/org.opencv.lib_v24_armv7a/lib"
,
path
.
c_str
());
#endif
#endif
}
#ifdef __SUPPORT_MIPS
#ifdef __SUPPORT_MIPS
TEST
(
PackageManager
,
GetPackagePathForMips
)
TEST
(
PackageManager
,
GetPackagePathForMips
)
{
{
...
...
platforms/android/service/engine/src/org/opencv/engine/HardwareDetector.java
View file @
901dc3b8
...
@@ -19,8 +19,9 @@ public class HardwareDetector
...
@@ -19,8 +19,9 @@ public class HardwareDetector
// ARM specific features
// ARM specific features
public
static
final
int
FEATURES_HAS_VFPv3d16
=
0x01
;
public
static
final
int
FEATURES_HAS_VFPv3d16
=
0x01
;
public
static
final
int
FEATURES_HAS_VFPv3
=
0x02
;
public
static
final
int
FEATURES_HAS_VFPv3
=
0x02
;
public
static
final
int
FEATURES_HAS_NEON
=
0x04
;
public
static
final
int
FEATURES_HAS_VFPv4
=
0x04
;
public
static
final
int
FEATURES_HAS_NEON2
=
0x08
;
public
static
final
int
FEATURES_HAS_NEON
=
0x08
;
public
static
final
int
FEATURES_HAS_NEON2
=
0x16
;
// X86 specific features
// X86 specific features
public
static
final
int
FEATURES_HAS_SSE
=
0x01
;
public
static
final
int
FEATURES_HAS_SSE
=
0x01
;
...
...
platforms/android/service/engine/src/org/opencv/engine/manager/ManagerActivity.java
View file @
901dc3b8
...
@@ -111,10 +111,14 @@ public class ManagerActivity extends Activity
...
@@ -111,10 +111,14 @@ public class ManagerActivity extends Activity
{
{
HardwarePlatformView
.
setText
(
"Tegra 4i"
);
HardwarePlatformView
.
setText
(
"Tegra 4i"
);
}
}
else
else
if
(
HardwareDetector
.
PLATFORM_TEGRA4
==
Platfrom
)
{
{
HardwarePlatformView
.
setText
(
"Tegra 4"
);
HardwarePlatformView
.
setText
(
"Tegra 4"
);
}
}
else
{
HardwarePlatformView
.
setText
(
"Tegra 5"
);
}
}
}
else
else
{
{
...
@@ -478,7 +482,14 @@ public class ManagerActivity extends Activity
...
@@ -478,7 +482,14 @@ public class ManagerActivity extends Activity
// TODO: update if package will be published
// TODO: update if package will be published
if
((
features
&
HardwareDetector
.
FEATURES_HAS_NEON
)
==
HardwareDetector
.
FEATURES_HAS_NEON
)
if
((
features
&
HardwareDetector
.
FEATURES_HAS_NEON
)
==
HardwareDetector
.
FEATURES_HAS_NEON
)
{
{
return
"with Neon"
;
if
((
features
&
HardwareDetector
.
FEATURES_HAS_VFPv4
)
==
HardwareDetector
.
FEATURES_HAS_VFPv4
)
{
return
"with Neon and VFPv4"
;
}
else
{
return
"with Neon"
;
}
}
}
else
if
((
features
&
HardwareDetector
.
FEATURES_HAS_VFPv3
)
==
HardwareDetector
.
FEATURES_HAS_VFPv3
)
else
if
((
features
&
HardwareDetector
.
FEATURES_HAS_VFPv3
)
==
HardwareDetector
.
FEATURES_HAS_VFPv3
)
{
{
...
...
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