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>
Jihoon Lee [Fri, 3 Apr 2020 01:31:25 +0000 (10:31 +0900)]
[CAPI/test/comment] Fix @brief of unittest for clarification
Changed availability of **custom backend** -> **NNFW | NCSDK2 | ARMNN"
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
gichan-jang [Thu, 2 Apr 2020 02:28:42 +0000 (11:28 +0900)]
[Filter/nnfw] Add check nnfw availability
Related issue : #2226 [GBS] Failed test cases with --define "unit_test 1"
Add nnfw check availability method.
It fixs 'ml_check_nnfw_availability' with NNFW always returns true for any H/W resources
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Jihoon Lee [Thu, 2 Apr 2020 01:21:31 +0000 (10:21 +0900)]
[Doc] Update tools/development
This updates README.md in tools/development to demonstrate newly added tools.
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Wook Song [Wed, 1 Apr 2020 05:40:18 +0000 (14:40 +0900)]
[Ext/Filter/Meson/EdgeTPU] Add build_rpath when test is enabled
In order to provide the proper location of the test helper library which
mocks edgetpu.so, this patch adds build_rpath to the shared_object
statement in the meson build script for the edgeTPU filter extensions
when 'enable-test' is true.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jihoon Lee [Sat, 4 Jan 2020 04:44:33 +0000 (13:44 +0900)]
[Doc] Fix typo in CHANGES
Fix typos and clarify some sentences
Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
MyungJoo Ham [Tue, 31 Mar 2020 09:14:47 +0000 (18:14 +0900)]
[LF/AI Migration] Update github repo URLs (manual)
Update github repo URL related texts manually.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 31 Mar 2020 08:15:35 +0000 (17:15 +0900)]
[LF/AI Migration] Update github repo URLs (auto)
This includes automatically replaced parts only.
/NNStreamer/$ grep -H -o -r "github.com\/nnsuite\/nnstreamer" * | grep -o "^[^:]*" > list
/NNStreamer/$ for X in `cat list`; do sed -i 's|github.com/nnsuite/nnstreamer|github.com/nnstreamer/nnstreamer|' $X; done
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Tue, 31 Mar 2020 03:22:03 +0000 (12:22 +0900)]
[Ext/Filter/NNFW] Add missing '\n' to the error messages
g_printerr() requires '\n'. This patch adds '\n' to the error messages
for pretty look.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 19 Mar 2020 05:11:28 +0000 (14:11 +0900)]
[Repo/Sink] Consider a failure case of the render-buffer-function
A failure case of the function, gst_tensor_reposink_render_buffer, was
not carefully considered. Therefore, the pipeline becomes stuck when
gst_tensor_reposink_render_buffer fails. In order to avoid such situation,
this patch modifies the function to explicitly return GST_FLOW_ERROR when
a buffer could not be rendered.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 26 Mar 2020 04:44:08 +0000 (13:44 +0900)]
[Tests/CAPI] Elminate comparison between signed and unsigned
This patch fixes trivial build warnings related to -Wsign-compare.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 30 Mar 2020 07:22:46 +0000 (16:22 +0900)]
[Dist/Tizen] Add workaround for mvnc filter test failure on Tizen
This patch disables the test cases for the mvnc2 tensor filter which
fails on Tizen 6.0 DA FHUB.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Geunsik Lim [Wed, 25 Mar 2020 01:57:23 +0000 (10:57 +0900)]
TAOS-CI: Updated the configuration files
New version of TAOS-CI is released on Mar-24-2020.
* Release note - https://github.com/nnsuite/TAOS-CI/releases/tag/v1.5.
20200324
This commit is to update the existing configuration files of the nnstreamer
GitHub repository. The TAOS-CI can automatically load the configuraiton files
of the nnstreamer GitHub repository. Note that you do not must execute
the "update/merge" action on the configuration files that include the passwords
for security.
**Changelog**
* Updated configuration files
* Updated README.md file
* Removed unnecessary files (Deprecated)
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Wook Song [Thu, 26 Mar 2020 09:07:03 +0000 (18:07 +0900)]
[Tests/CAPI] Abort the current test when ml_single_open is failed
Using the instance of the model handle after failing to ml_single_open
causes undefined behaviour. To prevent such cases, this patch changes
the line for checking the result of ml_single_open() from EXPECT_EQ to
ASSERT_EQ that aborts the current test function.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 26 Mar 2020 01:40:03 +0000 (10:40 +0900)]
[Filter/Python/CXX] Do not use 'register' as a storage-class-specifier
In C++11, the use of the register keyword as a storage-class-specifier
is deprecated [1] and this keyword is excluded from
storage-class-specifiers in C++17 [2]. In order to avoid build warnings
from the old python2.7 code, this patch adds a workaround for it.
[1] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809
[2] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Wed, 25 Mar 2020 10:53:03 +0000 (19:53 +0900)]
[Android/Build] add filter cpp suport in android build
add filter subplugin-cpp base class in android build.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Mon, 23 Mar 2020 11:00:46 +0000 (20:00 +0900)]
[Filter/API] Constify subplugin name.
Do not let subplugin authors handle alloc/dealloc name
for frequent getFrameworkInfo calls.
Allow them to point to a const string instead.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Wook Song [Fri, 20 Mar 2020 08:29:27 +0000 (17:29 +0900)]
[Filter/Python/Meson] Revise python dependencies
Although python2_incs and python3_incs are defined for the purpose of
providing proper -I flags to the compiler, they are not used anywhere.
Therefore, even though meson finds numpy in the system, building the
python extensions is failed due to lack of the proper -I flags.
Moreover, the existing mechanism to find numpy could not cover the cases
when numpy is installed with pip using the user sheme or is installed in
the virtual environment. This patch concerns this issue.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Wed, 25 Mar 2020 02:38:29 +0000 (11:38 +0900)]
[Android/Build] Add comments on TF-Lite versions and types.
INT8/INT16 may incur build errors with older TF-Lite.
For users with older TF-Lite, leave some comments.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 20 Mar 2020 08:04:23 +0000 (17:04 +0900)]
[Android/Build] tf-lite data type
add flags for tf-lite data types.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 20 Mar 2020 08:07:57 +0000 (17:07 +0900)]
[Android/Test] check nnfw availability
Before running the test, check nnfw (tf-lite or snap) is available and test can be run.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
HyoungJoo Ahn [Thu, 19 Mar 2020 06:26:25 +0000 (15:26 +0900)]
[C-API] add testcases for a function: `ml_single_invoke_dynamic()`
the success/fail cases are added for the api `ml_single_invoke_dynamic()`
Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
MyungJoo Ham [Sat, 21 Mar 2020 07:37:25 +0000 (16:37 +0900)]
[Infra] Move exported headers to .../include/
Move all exported headers to /gst/nnstreamer/include/
Keep common internal headers at /gst/nnstreamer/
This prepares c++ class headers for subplugins and
"multi-devel" packages for different purposese.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan-jang [Fri, 13 Mar 2020 04:59:42 +0000 (13:59 +0900)]
[Filter] Framework auto detection
Related issue : #2128
Related PR : #2148
When a user sets the framework option to auto, it automatically finds the framework using the file extension.
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
jijoong.moon [Mon, 23 Mar 2020 07:30:44 +0000 (16:30 +0900)]
[LFAI-5] Add Licenses to files with no license
Add SPDX short-form identifiesr in files with no license
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
MyungJoo Ham [Fri, 20 Mar 2020 06:15:16 +0000 (15:15 +0900)]
[Coverity/1133962] Prevent NULL dereference
Fix:
CID 1133962 (#1 of 1): Explicit null dereferenced (FORWARD_NULL)
166. var_deref_op: Dereferencing null pointer content.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 23 Mar 2020 00:46:39 +0000 (09:46 +0900)]
Fix: Tizen 6.0 FHUB QB is too slow.
The FHUB QB system is way too slow and cannot handle
events in 100ms, which makes the unit test fail.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
jijoong.moon [Mon, 23 Mar 2020 05:56:05 +0000 (14:56 +0900)]
[LFAI-3] Fix Signed-off-by Section in contributing.md
Update Signed-off-by Section in contributing.md
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Mon, 23 Mar 2020 06:03:48 +0000 (15:03 +0900)]
[LFAI-4] Switch to SPDX short-form identifiers
Change "LICENSE: LGPL-2.1" to "SPDX-License-Identifier: LGPL-2.1-only"
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Mon, 23 Mar 2020 05:48:18 +0000 (14:48 +0900)]
[LFAI-2] Fix LGPL License Statements
Fix "version 2 of the License,..." to "version 2.1 of the License"
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Mon, 23 Mar 2020 03:20:58 +0000 (12:20 +0900)]
[LF/AI] Remove Samsung Proprietary/Confidential notice
Remove Samsung Proprietary / Confidentail Notice in Document MD.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
jijoong.moon [Mon, 23 Mar 2020 04:24:44 +0000 (13:24 +0900)]
Fix coding style
Fix coding style
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
gichan-jang [Tue, 10 Mar 2020 09:20:51 +0000 (18:20 +0900)]
[Filter] Frame work autodetection priority
Set default priority of framework for same file extension
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Fri, 20 Mar 2020 05:04:07 +0000 (14:04 +0900)]
[Coverity/1123909] Fix ALLOC-FREE-MISMATCH
Coverity complains about malloc-gfree pair. Then, pacify it by
using g_malloc-gfree pair.
Fixes: CID 1123909 (#1 of 1): Incorrect deallocator used (ALLOC_FREE_MISMATCH)
12. free: Calling g_free frees scan_el_data using g_free but it should have been freed using free.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Fri, 20 Mar 2020 04:41:53 +0000 (13:41 +0900)]
[AHUB/523198] Fix null pointer dereferencing
This fixes:
WID:
16646516 After having been compared to NULL value at tensor_filter_common.c:773, pointer 'priv->fw' is dereferenced at tensor_filter_common.c:791.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Thu, 12 Mar 2020 11:20:19 +0000 (20:20 +0900)]
[Android/Build] clean build script
1. add flag to disable tf-lite.
2. update build script for each build option.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 11 Mar 2020 03:46:31 +0000 (12:46 +0900)]
[Api/Single] add property key custom
update function to set/get the custom property from filter.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Wook Song [Tue, 17 Mar 2020 09:59:29 +0000 (18:59 +0900)]
[Tests/Filter/Reload] Check existence of TFLite filters before start
The test cases for reload models require the tensor filter extension for
Tensorflow Lite. As other test cases do, this patch adds a procedure
that checks existence of the tensorflow-lite filters before starting the
test.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Thu, 19 Mar 2020 03:35:32 +0000 (12:35 +0900)]
[AHUB/430098] Fix typing errors
With LINE 1982, we had:
WID:
16576305 An integer overflow may occur due to arithmetic operation (multiplication) between values '2' and '
4294967295', where the first value comes from the expression 'i + 1' and the second value comes from the expression '-1'
Fix similar issues as well.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 19 Mar 2020 03:40:19 +0000 (12:40 +0900)]
[AHUB/430155] Remove unreachable code
Fix the AHUB issue:
WID:
16576318 This statement in the source code might be unreachable during program execution.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 15 Jan 2020 06:51:39 +0000 (15:51 +0900)]
New Filter Subplugin Interface Draft: C++ support
With this, developers can write a C++ class to create
a tensor_filter subplugin without writing the duplicated
C codes.
Changes in V2:
- Redesigned the whole classes
- Applied the recent changes of #2072
Changes in V3:
- Re-redesigned the whole class.
- Build tested without subplugins
Changes in V4:
- Elaborated doxygen entries.
Changes in V5:
- Fixed comment typos
- Use references instead of pointers for parameters of C++ virtual functions.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Mon, 9 Mar 2020 02:18:35 +0000 (11:18 +0900)]
[API/Single] Elaborate error logs of ml_single_invoke
Add error logs for input tensor size mismatching cases.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Mon, 16 Mar 2020 10:41:32 +0000 (19:41 +0900)]
[TestCase] Count negative cases of SSAT results
Count negative cases of SSAT.
Print the sum of negative cases of Gtest and SSAT at the end.
This requires updates of SSAT (1.1.0)
Fixes #2150
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Parichay Kapoor [Fri, 21 Feb 2020 08:59:31 +0000 (17:59 +0900)]
[filter] Support get and set properties
Support get and set properties for GstTensorFilterFramework V1.
Updated GstTensorFilterFramework to include number of accelerators supported along with its list.
V2:
Added updating the properties
Corrected string comparison
replaced : else -> else if (GST_TF_FW_V1)
Updating properties which required caps renegotiation have been delayed
Added support for updating custom properties in eventHandler
V3:
Replaced asserts with critical logs
Added more comments for eventHandler return values
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Jaeyun [Tue, 10 Mar 2020 09:01:37 +0000 (18:01 +0900)]
[Src/IIO] property to set base dir
Add properties to set base dir for IIO devices, and update testcases.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 18 Mar 2020 10:11:43 +0000 (19:11 +0900)]
[AHUB/434790] Fix dereferencing null pointer
Even with GST_STR_NULL, if the dereferenced pointer is null,
we will be doing NULLPTR[0], which may incur segmentation faults.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 13 Mar 2020 11:52:04 +0000 (20:52 +0900)]
[Filter/Conf] use gmodule to open so file
use gmodule to open and load sub-plugins.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 18 Mar 2020 01:24:53 +0000 (10:24 +0900)]
Start development of 1.5.1 as 1.6.0-RC2
Changes during 1.5.0:
1.5.0 -> 1.5.1
- Filter subplugin APIs updated. Both V0 (minor changes to the conventional) and V1 (refactored API set) are supported.
- Fixed major issue: now, each instance of a filter subplugin may have different property values.
- Tizen 6.0 API ACR preparations
- Allow to build Single-API-only Android build for minimal ML-API usage.
- Compatibility fix for GStreamer 1.16; Gst 1.16 has additional audit that blacklists behaviors of older NNStreamer.
- Met Linux Foundation / AI requirements (policy files)
- Compatibility fix for LLVM/Clang and macOS.
- Verisilicon-Vivante: Vivante is supported with private proprietary plugin. There was a minor infratstructural updates to assist it. We will work on opening this code; we may need assistance from Verisilicon (they need to open source a few headers for general public to build Vivante-subplugin.)
- TensorFlow-lite: recently added data types of Tensorflow-lite is supported.
- OpenVINO/Caffe2/Tensorflow/NNFW/NCSDK2/ARMNN/Python: refactored hardware acceleration options.
- Fixed issues found by static analyzers.
- Added unit tests to widen coverages and to test exception cases.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 18 Mar 2020 04:18:36 +0000 (13:18 +0900)]
[AHUB/430058] Fix unitialized local variable
WID:
16576294 Uninitialized data is read from local variable 'status' at tensor_filter_tensorflow_lite.cc:474.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 16 Mar 2020 10:37:53 +0000 (19:37 +0900)]
[Filter/Sub] preserved name
do not allow 'auto' as subplugin name.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Tue, 17 Mar 2020 06:18:03 +0000 (15:18 +0900)]
Revert "[tflite] optimize invoke critical path"
This reverts commit
18770da6d35497d35d6cd39f11af6f2150fe8d7e.
The location of input/output buffers are not static when the tflite model has multi-tensor output.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 12 Mar 2020 10:29:54 +0000 (19:29 +0900)]
[Test/tflite] Add ssat test for multi-tensor output tflite model
Add a fail case and a simple run case for multi-tensor output tflite model.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Tue, 17 Mar 2020 08:28:05 +0000 (17:28 +0900)]
[Android/Custom] possible mem leak
release resources if failed to construct native handle.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Wook Song [Tue, 17 Mar 2020 04:26:25 +0000 (13:26 +0900)]
[Tests/Filter/TensorFlow] Use SO_EXT instead of hardcoded extension, .so
This patch modifies the runTest script for TensorFlow sub-plugin tensor
filter to use SO_EXT (pre-defined in SSAT) instead of the hardcoded
extension, .so.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 16 Mar 2020 02:23:31 +0000 (11:23 +0900)]
[Tests/Meson] Build tensor filter reload tests when tf-lite is enabled
The model reload test cases of tensor filter only works for the
tensorflow lite filter and its models. Therefore, this patch adds a
condition to check that the option for Tensorflow-Lite is enabled
before building those tests.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Mon, 16 Mar 2020 04:31:53 +0000 (13:31 +0900)]
[TestCase] Count negative cases of gtest results
Count negative test cases of gtest results.
SSAT negative test cases will be counted after SSAT updates.
Addresses #2150
Updates for SSAT will follow soon.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Wed, 11 Mar 2020 08:12:09 +0000 (17:12 +0900)]
[Android] sync to cs-api update
1. change method name to set/get the property
2. handle empty node name
3. define method to get model file in testcase
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Wook Song [Sun, 15 Mar 2020 10:32:21 +0000 (19:32 +0900)]
[Tests] Fix build failures incurred by typo and sed on macOS
This patch fixes build failures when the 'enable-test' option is set
'true' on macOS. The following errors are fixed:
- Corrected typo (G_OPTION_FLAG_NONE -> G_OPTION_ARG_NONE)
- Fixed an error caused by the behaviour difference of 'sed' between Linux
and macOS
- Eliminated a warning related to 'missing-braces' complained by clang++
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Sat, 14 Mar 2020 07:16:57 +0000 (16:16 +0900)]
[Filter/C++] Add workround for a warning related to format-nonliteral
This patch adds a workround for the warning issued by clang when wrapping a function which takes format-literal-string arguments.
Signed-off-by: Wook Song <wook16.song@samsung.com>