Jaeyun [Tue, 28 Apr 2020 04:44:13 +0000 (13:44 +0900)]
[CodeClean] line comment
code-style : remove single line comments.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Tue, 28 Apr 2020 11:31:37 +0000 (20:31 +0900)]
[TEST] Add test case for tizen sensor
Add test case for tizen sensor
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
HyoungJoo Ahn [Wed, 29 Apr 2020 03:44:02 +0000 (12:44 +0900)]
[Unittest] apply EXPECT_STREQ for string comparisons
using EXPECT_STREQ rather than `EXPECT_TRUE( g_str_equal...`
Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
Jaeyun [Mon, 27 Apr 2020 11:46:51 +0000 (20:46 +0900)]
[Test] add sync option in appsink
1. add sync=false option in model reload test.
2. update pipeline description in docs.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 27 Apr 2020 11:18:53 +0000 (20:18 +0900)]
[C-Api/Pipeline] warning message for sync option
add warning message if sink element does not have sync=false option.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 27 Apr 2020 08:49:01 +0000 (17:49 +0900)]
[CodeClean] fix invalid index
1. fix invalid index when unmapping the mem block
2. unref buffer when failed to get mem
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 24 Apr 2020 10:23:12 +0000 (19:23 +0900)]
[Android] prepare SNPE
Prepare sub-plugin SNPE in android.
- add enum (nnfw type) and build option
- update document for the changes
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Mon, 27 Apr 2020 09:29:02 +0000 (18:29 +0900)]
[Filter/EdgeTPU] Workaround for #2320
Until #2320 is resolved, adding AUTO/DEFAULT to "supported hw"
list makes it easier to use.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 22 Apr 2020 05:26:58 +0000 (14:26 +0900)]
[Filter/C++Class] Bugfix: close gets a dlb ptr!
Pointer type mismatch fixed!
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 17 Apr 2020 05:22:26 +0000 (14:22 +0900)]
[Spec/Deb] Update C++ devel env.
1. Do not separate C env and C++ env. Merge them.
Both Ubuntu and Tizen supports C++ by default.
2. Move /nnstreamer/cpp/nnstreamer_cppplugin_api_filter.hh to
/nnstreamer/nnstreamer_cppplugin_api_filter.hh
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 31 Mar 2020 10:24:52 +0000 (19:24 +0900)]
[Option] Enable tensor-filter C++ class by default
Turn the C++ class support on by default.
And update spec file to add .hh file.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 31 Mar 2020 10:15:43 +0000 (19:15 +0900)]
[Filter/Edgetpu] Rewrite as a C++ class
This potentially reduces the code size and
maintanance costs.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 27 Apr 2020 05:44:53 +0000 (14:44 +0900)]
[Merge] fix return type
1. fix invalid return value.
2. mem-unmap when failed to get mem ptr in input buffer.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Mon, 27 Apr 2020 10:15:17 +0000 (19:15 +0900)]
[Test] Fix potential test fail
Sync option is added on appsink pad to prevent potential test fail caused by buffer drop.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Mon, 27 Apr 2020 10:10:15 +0000 (19:10 +0900)]
[Sink] default sync false
Set default sync option 'false'.
It may be delayed with tensor_filter element, to invoke neural network model.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Wed, 22 Apr 2020 10:07:02 +0000 (19:07 +0900)]
[Android/Test] add SNAP tests using tensorflow model
- For both single-shot and pipeline, add simple tests to validate SNAP with tensorflow model
- Test with CPU, DSP, NPU runtime on recent Snapdragon (S20) and preloaded model files
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Mon, 20 Apr 2020 07:16:22 +0000 (16:16 +0900)]
Error return instead of assert for external errors.
If an error might occur by external reasons,
(invalid input/app behaviors and inappropriate environments)
it should not simply assert away, but should provide
appropriate error messages and handling.
Refactored everything except for tensor_filter_python.cc,
which will be refactored with exception throwing.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Thu, 23 Apr 2020 09:39:34 +0000 (18:39 +0900)]
[Test/NNFW] separate testcase
1. separate testcase - invalid model and invalid data.
2. fix mem leak, destroy handle before creating new data.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Fri, 24 Apr 2020 01:02:34 +0000 (10:02 +0900)]
[Test] Fix tizen capi unittest
Today's Daily Build was a success, but the test fails occasionally due to slow speed of arm.
Timeout occurred in the test and increased it to 10 seconds.
If timeout occurs again, I will investigate another cause.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
HyoungJoo Ahn [Thu, 23 Apr 2020 08:37:15 +0000 (17:37 +0900)]
[Unittest] remove the not effective sleeps
remove or unify `g_usleep() of testcases`
Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
MyungJoo Ham [Wed, 22 Apr 2020 11:08:42 +0000 (20:08 +0900)]
[Filter/Python] Don't assert. Provide exceptions.
A subplugin shouldn't be arrogant enough to assert.
Return errors or throw exceptions instead.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Hyoung Joo Ahn [Thu, 23 Apr 2020 10:39:27 +0000 (19:39 +0900)]
[Mediapipe] fix meson script
set `opencv_path` when system architecture is detected.
Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
Wook Song [Tue, 21 Apr 2020 08:34:46 +0000 (17:34 +0900)]
[Dist/Tizen] Use the base option, b_coverage, to track coverage
Instead of manually setting cflags for coverage tracking, let's use
b_coverage which is a meson's base option to do it.
Signed-off-by: Wook Song <wook16.song@samsung.com>
gichan-jang [Thu, 23 Apr 2020 07:15:50 +0000 (16:15 +0900)]
[TEST] Fix tizen sensor unit test
Fix tizen sensor unit test.
- Add macro to wait until start the pipeline.
- Wait until expected buffers are processed
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Thu, 23 Apr 2020 06:44:38 +0000 (15:44 +0900)]
[Test/NNFW] ignore timeout in singleshot
increase timeout (30 sec) before invoking the model.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 23 Apr 2020 06:11:40 +0000 (15:11 +0900)]
[TEST/util] Clean up wait_pipeline_process_buffers
1. apply "const" for data_received. It won't update it
2. make it robust against TEST_DEFAULT_SLEEP_TIME values
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Thu, 23 Apr 2020 05:23:47 +0000 (14:23 +0900)]
[TEST/util] Add unit test util function
Add unit test util function.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Tue, 21 Apr 2020 11:08:28 +0000 (20:08 +0900)]
[Test] Fix nnstreamer repo test
Fix nnstremr repo test fail.
It's not best way to fix the problem, But I can not find any other suitable method in SSAT.
If there is a good alternative, please recommend it.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Dongju Chae [Tue, 21 Apr 2020 03:04:24 +0000 (12:04 +0900)]
[Coverage/Fix] Disable optimization and remove redundant gcov run
This patch disables code optimization for coverage analysis and remove
redundant gcov run.
In fact, we don't need to run the python script, unittestcoverage.py
which recursively executes gcov. Because lcov internally execute gcov,
the results of the script are never used.
FYI...
- when program is compiled with coverage option, .gcno files are created.
- When such programs are executed, .gcda files are created.
- As lcov input files are .gcda. we don't need to run gcov before lcov.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Jaeyun [Tue, 21 Apr 2020 08:41:02 +0000 (17:41 +0900)]
[Android/Build] flag to handle exception
add cxx-flag in android build, enable exception handling.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Tue, 21 Apr 2020 02:28:33 +0000 (11:28 +0900)]
[Src-IIO] CHANNEL property handling fix
1. If g_hash_table_insert returns FALSE,
it simply means that the entry is duplicated.
Just skip it, then.
2. If we cannot parse it, don't change status, but
ignore the whole property values.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Tue, 21 Apr 2020 07:24:49 +0000 (16:24 +0900)]
[C-Api] fix duplicated free
do not call free() when destroying gst-buffer.
TODO : prevent memcpy() when pushing input data into src element.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Tue, 21 Apr 2020 06:10:49 +0000 (15:10 +0900)]
[TEST] Fix test case name
Fix tese case name of nnstreamer repo unit test.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Tue, 21 Apr 2020 01:59:40 +0000 (10:59 +0900)]
[Tests] Add static to internal-global vairables.
Don't export internal variables.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Sat, 21 Mar 2020 07:53:03 +0000 (16:53 +0900)]
[Filter/C++] Framework rework for better usages
By applying C++ tensor-filter framework to edge-tpu,
I've found that the current draft is not useful enough.
Here comes C++ t-f framework updates tested with the
edgetpu subplugin.
Changes in V2:
- Removed macros. Use static-inline functions instead.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 16 Apr 2020 08:21:31 +0000 (17:21 +0900)]
[Filter/v1] Bugfix of TF-V1 subplugin API / C++ support
By testing with C++ class tf-subplugin, "edget-tpu",
bugs were found from the recently introduced TF-V1 subplugin API.
- V1 APIs uses void * private_data instead of void ** private_data.
There are codes that do not reflect this.
In order to make C++ class subplugins work smoothly,
they need to know "this" pointer when they were invoked
by common C++ wrapper infrastructure, which is a set of
static functions of the base class.
Thus, add a new argument for them to find out "this" pointer.
CC: @kparichay
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Mon, 20 Apr 2020 06:59:20 +0000 (15:59 +0900)]
[Tests] Fix sink unittest fail
Test fails occasionally due to slow speed of arm.
The test was modified to wait until the pipeline processing the buffers
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Mon, 20 Apr 2020 07:32:38 +0000 (16:32 +0900)]
[Log] Add fatal-log
Separate "fatal" level from "error".
When we convert "assert" fail to general error handling,
log-fatal might be appropriate.
Fixes #2288
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 14 Apr 2020 07:48:16 +0000 (16:48 +0900)]
[Dec/Subplugins] Remove duplicated code
Add "utility" internal API to remove
duplicated code.
Chages in V2:
- Refactored imglabel_t data structure
- Suggested by @zhoonit
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 1 Apr 2020 10:56:48 +0000 (19:56 +0900)]
[LF/AI] Update CONTRIBUTING
To follow what LF/AI requires with the Charter.
It has been drafted at https://wiki.lfai.foundation/display/NNSTREAM/NNStreamer+CONTRIBUTING+draft+of+2020.04
updated 2020-04-16
- Clarified "most senior among available committers", Line 45
(suggeted by @zhoonit)
- s/chairman/chairperson
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 27 Mar 2020 05:57:47 +0000 (14:57 +0900)]
Comply with LF/AI Community Charter
As attorneys of stakeholders are drafting the community charter,
based on the current draft, I am updating related documents.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Fri, 17 Apr 2020 05:11:04 +0000 (14:11 +0900)]
[README] Add daily build result badge in table
Add daily build result in ofiicial release table
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Mon, 20 Apr 2020 04:43:26 +0000 (13:43 +0900)]
[CodeClean] return type
1. fix ret type of filter callback.
2. minor update (warning w/Wmissing-declarations)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Sat, 18 Apr 2020 02:39:22 +0000 (11:39 +0900)]
[Bug] Do not call essential ops in assert().
Some systems may use NDEBUG and skip all assert calls.
Do not call essential ops in there.
Fixes #2282
Reported-by: @ndufresne
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 13 Apr 2020 11:16:20 +0000 (20:16 +0900)]
[Tensor-If] Make it buildable
Add empty functions and build infra for Tensor-If.
Tensor-If is a subclass of GstBaseTransform.
The src-pad and sink-pad are supposed to have the same
capabilities.
It appears that in-place op has no benefit, but
not sure if we need to prohibit it.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Hyoung Joo Ahn [Fri, 17 Apr 2020 05:06:49 +0000 (14:06 +0900)]
[Mediapipe] update meson script
add opencv dependency and check architecture of system
Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
Jaeyun [Fri, 17 Apr 2020 08:47:18 +0000 (17:47 +0900)]
[Android] initialize native code
For C-API developers, add gst-init in native code.
Calling initialize() in java is unnecessary.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Tue, 14 Apr 2020 07:28:27 +0000 (16:28 +0900)]
[Converter] Refactored: no more large #if/endif code blocks.
Do not enclose a large code block with #if/#endif.
Separate such files instead.
Changed in v2 (2020-04-16)
- Separated no-a/v and a/v headers
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 17 Apr 2020 04:10:10 +0000 (13:10 +0900)]
[Android] tf-lite version
change tf-lite version to 1.13 in android api build.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Fri, 17 Apr 2020 04:13:06 +0000 (13:13 +0900)]
[Tests] Fix tizen capi unit test
Test fails occasionally due to slow speed of arm.
The test was modified to only check if the switch is working.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
gichan-jang [Thu, 16 Apr 2020 11:31:20 +0000 (20:31 +0900)]
[Daily build] Add daily build badge
> Builds and tests are conducted every morning at 7: 30 a.m.
> The results are shown on the first page of the nnstreamer.
> Click the badge to download the log and images for the last seven days.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Tue, 14 Apr 2020 07:16:14 +0000 (16:16 +0900)]
[Android/Single] Do not turn off a large code block with #if
Separate the file and build independently instead.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Wed, 8 Apr 2020 05:44:08 +0000 (14:44 +0900)]
[Tests/CAPI] Use constexpr instead of define and ifdef for tflite
This patch experimentally replaces #define and #ifdef used for checking
enable-tensorflow-lite is true with constexpr, which is type-safe
replacement for #define.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 13 Apr 2020 02:25:20 +0000 (11:25 +0900)]
[Tests/CAPI] Use EXPECT_FLOAT_EQ for the test cases comparing float data
This patch replaces EXPECT_EQ with EXPECT_FLOAT_EQ for the test cases which
compare floating-point data.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Sat, 29 Feb 2020 10:25:24 +0000 (15:55 +0530)]
[filter] Support tensor filter framework V1 single API
Support tensor filter framework v1 callbacks for the single API
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
MyungJoo Ham [Mon, 13 Apr 2020 11:22:04 +0000 (20:22 +0900)]
Lower MCD, Increase SAM Score
SAM analysis says that nnstreamer.c is causing cyclic dependency
between modules.
Although I think this is false positive, let's move nnstreamer.c
to a subdirectory so that SAM won't recognize nnstreamer.c is
"parent module" of other nnstreamer elements.
Because this is the only modules that SAM recognizes as MCD issue,
this may enhance SAM score greatly.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 04:08:34 +0000 (13:08 +0900)]
[Tensor-IF] An anchor for further development.
Anyone can jump in and start the development!
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 13 Apr 2020 08:40:12 +0000 (17:40 +0900)]
[Android/Build] default option to build subplugins
Change default option to build library with NNFW and SNAP.
NNFW and SNAP requires additional script.
Also update guide to build Android library.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Mon, 6 Apr 2020 10:51:02 +0000 (19:51 +0900)]
[Tests/CAPI] Add state check methos
Mmodified to check the state change of each state.
Considering low speed of the arm, I gave more time than it needed.
*This should have been included in the previous PR, but it was not reflected because the modification was late.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 08:22:31 +0000 (17:22 +0900)]
[Converter] Lower cyclomatic-complexity
The CC value of chain function was 24.
Lower it down!
V2: A nested if condition was merged.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 10 Apr 2020 04:33:38 +0000 (13:33 +0900)]
[Common] Merge BASEPAD/SLOWEST sync mechanisms
The two has a low in common.
Merge the two.
Suggested-by: Gichan Jang <gichan2.jang@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 09:33:07 +0000 (18:33 +0900)]
[Common] Lower cyclomatic-complexity
The CC value of buffer-sync-collectpad as 23.
Lower it down!
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 10 Apr 2020 05:32:13 +0000 (14:32 +0900)]
[Tizen 5.5 / GLIBC 2.24] Workaround for GLIBC bug
GLIBC dlclose bug
https://bugzilla.redhat.com/show_bug.cgi?id=1264556#c42
is haunting us again with Tizen 5.5 backports.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 07:56:01 +0000 (16:56 +0900)]
[Filter/Common] Lower cyclomatic-complexity
The CC value of the set-property function was 57.
Lower it down!
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 09:45:59 +0000 (18:45 +0900)]
[CAPI] Lower cyclomatic-complexity
The CC value of the two functions was 21.
Lower it down!
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Thu, 9 Apr 2020 10:53:07 +0000 (19:53 +0900)]
[Android/API] init nnstreamer and version info
1. nnstreamer version is empty, add definition of version info.
2. add NNStreamer.java in native build.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 8 Apr 2020 11:36:07 +0000 (20:36 +0900)]
[Android/Test] add simple test for NNFW
Both single-shot and pipeline, add simple test to validate NNFW model.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 8 Apr 2020 10:48:35 +0000 (19:48 +0900)]
[Android/NNFW] add NNFW
Update build script and API to support NNFW.
TODO : fix/update prebuilt libs of NNFW later (now CPU only)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 9 Apr 2020 10:05:34 +0000 (19:05 +0900)]
[C-API] same mem ptr
If user gets tensor data and tries to update it, memcpy is unnecessary.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Hyoung Joo Ahn [Wed, 8 Apr 2020 06:30:04 +0000 (15:30 +0900)]
[Mediapipe] required script files of meson build script
this script generate shared libs with internal/external object files of mediapipe.
Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
Hyoung Joo Ahn [Wed, 8 Apr 2020 06:29:56 +0000 (15:29 +0900)]
[Mediapipe] add meson option & build script for mediapipe
This is a initial version of meson script about mediapipe. It will be used to development mediapipe as an external filter like other filters.
Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 03:38:58 +0000 (12:38 +0900)]
Start development of 1.5.2 as 1.6.0-RC3
I might wait for some of the following PRs before merging this version mark.
- #2244 #2246 #2247 #2248 #2249
Changes during 1.5.1:
1.5.1 -> 1.5.2
- Use gmodule instead of dlfcn for wider compatibility
- Get/Set properties for tensor-filters & C-API.
- Support C++ class as tensor-filter subplugin. (experimental. C++ filter API is not yet fixed)
- Highly configurable Android build. (for smaller app binaries)
- Tensor-Filter auto framework detection mode (C-API support)
- Linux Foundation AI compliance & Github ORG migration
- Upgraded Tensor-Filter API (C)
- Applied portable logging mechanism.
- Removed assertion failure for Tizen sensor errors.
- OpenCV compatibility fixes.
- Fixed issues found by static analyzers
- More error/exception handling for robustness
- Shows negative test case statistics
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 04:55:47 +0000 (13:55 +0900)]
[Tizen/Sensor] Explicitly specify return values.
Although SENSOR_ERROR_NONE is 0, explicitly specify
the name to increase readability.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 7 Apr 2020 10:59:36 +0000 (19:59 +0900)]
[Log] Use ml_log* instead of g_* for logging
With ml_log* nnstreamer internal APIs,
we can enable dlog in Tizen and Android logging in Android
while keep using GLIB's logging in other systems.
Fixes #1905
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 7 Apr 2020 10:46:49 +0000 (19:46 +0900)]
[Tizen/Sensor] Do not assert for sensor not available
If a sensor is not available or unknown,
do not assert, but emit error messages and return errors.
Fixes #2219
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 8 Apr 2020 01:58:02 +0000 (10:58 +0900)]
[Example/custom/opencv] Backward compatibility for old opencv
The previous commit is for OPENCV3. Keep the old code for OPENCV2 or before.
Changed in v2:
- Per the comment from Tae-Young Chung,
"opencv3 also supports this change (opencv3 support c++)
how old opencv version should be supported? for example, opencv2.x?"
The backward compatibility patch is adjusted to support 2 or before.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Tae-Young Chung [Wed, 8 Apr 2020 01:32:23 +0000 (10:32 +0900)]
[Example/custom/opencv] Use enumeration in imgproc.hpp
From opencv4, usage of enumeration in c header files causes build failure
unless they are explicitly included.
Change the enumeration in types_c.h to InterpolationFlags in imgproc.hpp.
Change-Id: I521a09b9846d15a6beb8dad95f887681e2b59994
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
Wook Song [Wed, 8 Apr 2020 03:31:28 +0000 (12:31 +0900)]
[Tests/CAPI] Elimiate a whitespace in invoke_dynamic_success_02_p
This is a trivial modification eliminating a trailing whitespace in the
'invoke_dynamic_success_02_p' test case.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Wed, 8 Apr 2020 03:27:02 +0000 (12:27 +0900)]
[Tests/CAPI] Add a #ifdef guard for test cases that require tflite
This patch adds a #ifdef guard for the test cases which require
TensorFlow Lite.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Wed, 8 Apr 2020 02:08:10 +0000 (11:08 +0900)]
[Tests] Use NNSTREAMER_SO_FILE_EXTENSION instead of the local one
In order to support the shared library on multiple platforms, the file
extension corresponding to each platform is defined in
nnstreamer_conf.h. To avoid code duplication, this patch replaces the
local defines in test code with NNSTREAMER_SO_FILE_EXTENSION.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Tue, 7 Apr 2020 10:59:36 +0000 (19:59 +0900)]
[Log] Use ml_log* instead of g_* for logging
With ml_log* nnstreamer internal APIs,
we can enable dlog in Tizen and Android logging in Android
while keep using GLIB's logging in other systems.
ps. Removed G_DECL from nnstreamer_log because it is
independent from glib.
Fixes #1905
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Tue, 7 Apr 2020 06:51:33 +0000 (15:51 +0900)]
[tests] Fix pipeline state check methods
The direction of the operator determining the timeout was wrong and it was modified.
The timeout was too long in the test, so I reduced it.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Thu, 26 Mar 2020 04:11:01 +0000 (13:11 +0900)]
[Android/Build] option to get sdk path
1. add option to get gst/nns root dir and android sdk path.
2. check instrument test result if test is enabled.
3. prepare ci build.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Tue, 31 Mar 2020 03:23:14 +0000 (12:23 +0900)]
[Tizen 4.0] Disable mvnc packages in older Tizen
If mvnc build is turned off, do not package them.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 31 Mar 2020 02:41:23 +0000 (11:41 +0900)]
[Tizen 4.0-5.5] Disable tizen-sensor support if Tizen < 6
Tizen sensor support works since Tizen 5.5 and
it officially supports sinze Tizen 6.0
Disable if if it is < 6
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 31 Mar 2020 02:13:37 +0000 (11:13 +0900)]
[Tizen 4.0] Disable code w/ GST1.8 requirements if GST < 1.8
src_iio uses GST 1.8 APIs.
A few unit tests uses GST 1.8 APIs
Do not build them if it is < 1.8.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 30 Mar 2020 10:42:43 +0000 (19:42 +0900)]
[Tizen 4.0/CAPI] Disable Tizen 5.5+ advanced features
We cannot support audio/video resource auto detection
with Tizen 4.0
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 30 Mar 2020 10:04:08 +0000 (19:04 +0900)]
[Tizen 4.0] Make it compatible with GStreamer 1.6
gst_element_class_add_staic_pad_template is introduced with
GStreamer 1.8
For Tizen 4.0, which uses GStreamer 1.6, use
gst_element_class_add_pad_template() instead if
it is < 1.8.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 27 Mar 2020 07:26:23 +0000 (16:26 +0900)]
[Tizen 4.0/C-API] Detach mm-resource-manager
mm-resource-manager is not available at Tizen 4.0.
Do not depend on Tizen API mm-resource-manager if it is Tizen 4.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 27 Mar 2020 06:42:10 +0000 (15:42 +0900)]
[Tizen 4.0/Dist] Update spec for different Tizen versions.
A Tizen 4.0 device has decided to use nnstreamer for its updates
and the PM decided not to upgrade Tizen version of the product :(
WTH, let's support Tizen 4.0 as well.
This commit prepares other 4.0 backport tasks by providing
infra to distinguish Tizen version at build time.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Tue, 17 Mar 2020 11:42:31 +0000 (20:42 +0900)]
[Filter] Unittest for tensor filter auto option
Add unittest for tensorfilter framework auto detection
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jaeyun [Thu, 2 Apr 2020 10:53:06 +0000 (19:53 +0900)]
[Android/Test] add tc to check classification result
Using image classification model (tf-lite), check label with max score.
Also add minor tc for coverage.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan-jang [Thu, 2 Apr 2020 04:06:08 +0000 (13:06 +0900)]
[capi/util] Change framework auto-detection
Integrate duplicated code for framework auto detection.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Wook Song [Thu, 26 Mar 2020 04:53:06 +0000 (13:53 +0900)]
[CAPI] Use EPIPE if ESTRPIPE is not available
In order to handle the case of the platforms that do not have ESTRPIPE
in their errno.h, ESTRPIPE is defined with EPIPE [1] if it is not
available.
[1] https://gitlab.freedesktop.org/dude/gst-plugins-base/-/commit/
a4b94e6c69525e404354cbd3d0b67ae7e001f385
Signed-off-by: Wook Song <wook16.song@samsung.com>
gichan-jang [Fri, 3 Apr 2020 06:33:12 +0000 (15:33 +0900)]
[Tests/CAPI] Fix test case to stable in arm arch
Fixed intermittent failure of test case due to slow speed of arm.
Sometimes the number of buffers stored in files are different.
Wait until EOS so that a fixed number of buffers can be saved.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jihoon Lee [Thu, 2 Apr 2020 01:56:54 +0000 (10:56 +0900)]
[Tools/dev] Check if *.py is running on shell
Add `if __name__ == '__main__'` to check if *.py is running on
shell to prevent unwanted crash if users happen to import those files
to customize tools.
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Wook Song [Tue, 31 Mar 2020 02:02:00 +0000 (11:02 +0900)]
[Dist/Tizen] Correct LD_LIBRARY_PATH for NCSDK2/Edge-TPU test cases
This patch corrects LD_LIBRARY_PATH where the test helper shared
libraries are placed for NCSDK2 and Edge-TPU test cases in the Tizen
RPM spec file.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Parichay Kapoor [Sat, 29 Feb 2020 10:25:24 +0000 (15:55 +0530)]
[filter] Support tensor filter framework V1
Support tensor filter framework v1 callbacks for the pipeline
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Yongjoo Ahn [Fri, 3 Apr 2020 07:28:38 +0000 (16:28 +0900)]
[Doc] Add webp files showing some example apps.
- README.md: Add three images of ubuntu native apps and links to nnstreamer-example repos
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Thu, 2 Apr 2020 05:27:13 +0000 (14:27 +0900)]
[CODEOWNERS] Update reviewer lists
1. update organization name
2. add zhoonit, the newly employed member.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>