platform/upstream/nnstreamer.git
4 years ago[Tizen 4.0-5.5] Disable tizen-sensor support if Tizen < 6
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>
4 years ago[Tizen 4.0] Disable code w/ GST1.8 requirements if GST < 1.8
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>
4 years ago[Tizen 4.0/CAPI] Disable Tizen 5.5+ advanced features
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>
4 years ago[Tizen 4.0] Make it compatible with GStreamer 1.6
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>
4 years ago[Tizen 4.0/C-API] Detach mm-resource-manager
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>
4 years ago[Tizen 4.0/Dist] Update spec for different Tizen versions.
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>
4 years ago[Filter] Unittest for tensor filter auto option submit/tizen/20200407.071404
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>
4 years ago[Android/Test] add tc to check classification result
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>
4 years ago[capi/util] Change framework auto-detection
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>
4 years ago[CAPI] Use EPIPE if ESTRPIPE is not available
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>
4 years ago[Tests/CAPI] Fix test case to stable in arm arch
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>
4 years ago[Tools/dev] Check if *.py is running on shell
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>
4 years ago[Dist/Tizen] Correct LD_LIBRARY_PATH for NCSDK2/Edge-TPU test cases
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>
4 years ago[filter] Support tensor filter framework V1
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>
4 years ago[Doc] Add webp files showing some example apps.
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>
4 years ago[CODEOWNERS] Update reviewer lists
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>
4 years ago[CAPI/test/comment] Fix @brief of unittest for clarification
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>
4 years ago[Filter/nnfw] Add check nnfw availability
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>
4 years ago[Doc] Update tools/development
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>
4 years ago[Ext/Filter/Meson/EdgeTPU] Add build_rpath when test is enabled
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>
4 years ago[Doc] Fix typo in CHANGES
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>
4 years ago[LF/AI Migration] Update github repo URLs (manual)
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>
4 years ago[LF/AI Migration] Update github repo URLs (auto)
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>
4 years ago[Ext/Filter/NNFW] Add missing '\n' to the error messages
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>
4 years ago[Repo/Sink] Consider a failure case of the render-buffer-function
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>
4 years ago[Tests/CAPI] Elminate comparison between signed and unsigned
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>
4 years ago[Dist/Tizen] Add workaround for mvnc filter test failure on Tizen accepted/tizen/unified/20200331.030822 submit/tizen/20200330.093451
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>
4 years agoTAOS-CI: Updated the configuration files
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>
4 years ago[Tests/CAPI] Abort the current test when ml_single_open is failed
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>
4 years ago[Filter/Python/CXX] Do not use 'register' as a storage-class-specifier
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>
4 years ago[Android/Build] add filter cpp suport in android build
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>
4 years ago[Filter/API] Constify subplugin name.
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>
4 years ago[Filter/Python/Meson] Revise python dependencies
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>
4 years ago[Android/Build] Add comments on TF-Lite versions and types.
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>
4 years ago[Android/Build] tf-lite data type
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>
4 years ago[Android/Test] check nnfw availability
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>
4 years ago[C-API] add testcases for a function: `ml_single_invoke_dynamic()`
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>
4 years ago[Infra] Move exported headers to .../include/
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>
4 years ago[Filter] Framework auto detection
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>
4 years ago[LFAI-5] Add Licenses to files with no license
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>
4 years ago[Coverity/1133962] Prevent NULL dereference accepted/tizen/unified/20200324.101535 submit/tizen/20200324.020800
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>
4 years agoFix: Tizen 6.0 FHUB QB is too slow.
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>
4 years ago[LFAI-3] Fix Signed-off-by Section in contributing.md
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>
4 years ago[LFAI-4] Switch to SPDX short-form identifiers
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>
4 years ago[LFAI-2] Fix LGPL License Statements
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>
4 years ago[LF/AI] Remove Samsung Proprietary/Confidential notice
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>
4 years agoFix coding style
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>
4 years ago[Filter] Frame work autodetection priority
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>
4 years ago[Coverity/1123909] Fix ALLOC-FREE-MISMATCH
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>
4 years ago[AHUB/523198] Fix null pointer dereferencing
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>
4 years ago[Android/Build] clean build script
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>
4 years ago[Api/Single] add property key custom
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>
4 years ago[Tests/Filter/Reload] Check existence of TFLite filters before start accepted/tizen/unified/20200320.074747 submit/tizen/20200319.093556
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>
4 years ago[AHUB/430098] Fix typing errors
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>
4 years ago[AHUB/430155] Remove unreachable code
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>
4 years agoNew Filter Subplugin Interface Draft: C++ support
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>
4 years ago[API/Single] Elaborate error logs of ml_single_invoke
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>
4 years ago[TestCase] Count negative cases of SSAT results
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>
4 years ago[filter] Support get and set properties
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>
4 years ago[Src/IIO] property to set base dir
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>
4 years ago[AHUB/434790] Fix dereferencing null pointer
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>
4 years ago[Filter/Conf] use gmodule to open so file
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>
4 years agoStart development of 1.5.1 as 1.6.0-RC2 accepted/tizen/unified/20200318.130449 submit/tizen/20200318.051741
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>
4 years ago[AHUB/430058] Fix unitialized local variable
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>
4 years ago[Filter/Sub] preserved name
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>
4 years agoRevert "[tflite] optimize invoke critical path"
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>
4 years ago[Test/tflite] Add ssat test for multi-tensor output tflite model
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>
4 years ago[Android/Custom] possible mem leak
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>
4 years ago[Tests/Filter/TensorFlow] Use SO_EXT instead of hardcoded extension, .so
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>
4 years ago[Tests/Meson] Build tensor filter reload tests when tf-lite is enabled
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>
4 years ago[TestCase] Count negative cases of gtest results
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>
4 years ago[Android] sync to cs-api update
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>
4 years ago[Tests] Fix build failures incurred by typo and sed on macOS
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>
4 years ago[Filter/C++] Add workround for a warning related to format-nonliteral
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>
4 years ago[Meson/Filter/TFLite] Use has_type to check types tflite supports
Wook Song [Fri, 13 Mar 2020 02:21:34 +0000 (11:21 +0900)]
[Meson/Filter/TFLite] Use has_type to check types tflite supports

Instead of checking which data types the installed TensorFlow Lite
supports via hardcoded version information, this patch uses has_type,
which is a function of the compiler object in meson, to check that.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Meson/TFLite] Check version in ext/nns/filter/meson.build
Wook Song [Fri, 13 Mar 2020 02:02:44 +0000 (11:02 +0900)]
[Meson/TFLite] Check version in ext/nns/filter/meson.build

In order to improve readability, this patch moves the version checking
for tensorflow-lite in the meson build script in the source root
directory to the meson build script for the tensor filter extensions.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Clang/Subplugin/Infra] Exclude features.h when building with clang
Wook Song [Thu, 12 Mar 2020 05:36:25 +0000 (14:36 +0900)]
[Clang/Subplugin/Infra] Exclude features.h when building with clang

The header file, features.h, does not exist in the libc of clang.
Therefore, features.h is excluded when building with clang to avoid a
compilation error reltate to this header file.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Build] install headers in dev pkg
Jaeyun [Fri, 13 Mar 2020 04:44:53 +0000 (13:44 +0900)]
[Build] install headers in dev pkg

add missed headers to be installed in dev package.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Tizen] add a supporting element for tizen
HyoungJoo Ahn [Thu, 12 Mar 2020 05:46:43 +0000 (14:46 +0900)]
[Tizen] add a supporting element for tizen

adding an element: tizenwlsink

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Common] define macro to print logs
Jaeyun [Thu, 12 Mar 2020 08:45:17 +0000 (17:45 +0900)]
[Common] define macro to print logs

Add internal header to define common log formats.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[meson] Add dependency of gtest
Parichay Kapoor [Tue, 3 Mar 2020 07:13:13 +0000 (12:43 +0530)]
[meson] Add dependency of gtest

Some of the unittest depends on gtest
However their dependency is not checked leading to build failure with incorrect messages
Added dependency check of gtest before building those unittests

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Api] hw enum for sr-npu
Jaeyun [Mon, 9 Mar 2020 09:14:52 +0000 (18:14 +0900)]
[Api] hw enum for sr-npu

change enum val for npu-sr, and remove enum npu-srcn.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[TFLite] add datatype according to the TFLite version
HyoungJoo Ahn [Mon, 24 Feb 2020 02:16:12 +0000 (11:16 +0900)]
[TFLite] add datatype according to the TFLite version

rather than setting option in person, we can parse tflite version after gettig dependency of tflite and add data types.

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years agoTest/License: Add WordNet License File.
MyungJoo Ham [Mon, 9 Mar 2020 03:56:45 +0000 (12:56 +0900)]
Test/License: Add WordNet License File.

WordNet 3.0 requires to have License (WordNet 3.0) file
with the redistributed WordNet files.
The files in the same subdirectory are under the
WordNet 3.0 license.

However, note that we do not package and release binary
packages with the given files as they are test cases.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Doc] invalid element name
Jaeyun [Tue, 10 Mar 2020 09:13:33 +0000 (18:13 +0900)]
[Doc] invalid element name

fix invalid element name in src-tizensensor source.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[CAPI/Single] Do not compare unsigned integer with signed one
Wook Song [Mon, 9 Mar 2020 11:16:05 +0000 (20:16 +0900)]
[CAPI/Single] Do not compare unsigned integer with signed one

There are two for loops trying to compare the unsigned integer,
num_tensors, with a signed integet iterator in the single C-API
wrapper code. This patch fixes them.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[tflite] optimize invoke critical path
Parichay Kapoor [Sun, 1 Mar 2020 18:18:17 +0000 (23:48 +0530)]
[tflite] optimize invoke critical path

Move unnecessary computations out of the invoke critical path to maximize invoke performance

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Android] add filter-subplugin version
Jaeyun [Thu, 5 Mar 2020 05:51:35 +0000 (14:51 +0900)]
[Android] add filter-subplugin version

add version info to construct custom-filter in android.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Test] filesink buffer mode
Jaeyun [Fri, 6 Mar 2020 05:19:31 +0000 (14:19 +0900)]
[Test] filesink buffer mode

change buffer mode in filesink when writing a buffer with small size.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[filter] Support probing for tensor filter subplugins version 1
Parichay Kapoor [Thu, 20 Feb 2020 03:33:37 +0000 (12:33 +0900)]
[filter] Support probing for tensor filter subplugins version 1

Support probing for tensor filter subplugins framework of version 1
Various ToDos' have been added which will be supported in upcoming PRs

Related Issue: #2116

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[unittest/build] Fix location of unittests binaries
Parichay Kapoor [Tue, 18 Feb 2020 10:32:54 +0000 (19:32 +0900)]
[unittest/build] Fix location of unittests binaries

Many unittest binaries are built and located in build/tests
All these binaries located in build/tests (not in recursive folders) are
run all at once with nnstreamer.spec by running all the files in build/tests (line 388)

However, some of these binaries are not supposed to run directly (they requires extra params),
and are properly run and tested with their shell scripts run with ssat (repo and reload unittests)

This PR moves the repo and reload unittest generated binaries into appropriate subfolders
to avoid running these binaries directly and avoid unnecessary warnings

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[armnn/hw] Added supported acclerators
Parichay Kapoor [Tue, 11 Feb 2020 10:24:21 +0000 (19:24 +0900)]
[armnn/hw] Added supported acclerators

Added supported accelerators for armnn and added corresponding unittests with single API
Tested set accelerators on device with caffe model on the device

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[ncsdk2/hw] Added supported accelerators
Parichay Kapoor [Tue, 11 Feb 2020 10:22:55 +0000 (19:22 +0900)]
[ncsdk2/hw] Added supported accelerators

Added supported accelerators for ncsdk2 extension and corresponding unit-tests with single API

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[nnfw/hw] Unit-test for nnfw accelerators
Parichay Kapoor [Tue, 11 Feb 2020 10:21:36 +0000 (19:21 +0900)]
[nnfw/hw] Unit-test for nnfw accelerators

Added unit-tests for nnfw supported accelerators with single API

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[custom/hw] Added supported accelerators
Parichay Kapoor [Tue, 11 Feb 2020 10:19:04 +0000 (19:19 +0900)]
[custom/hw] Added supported accelerators

Added supported accelerators for custom filters and its unit-tests with single API

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[tensorflow/hw] Added supported accelerators
Parichay Kapoor [Tue, 11 Feb 2020 10:16:58 +0000 (19:16 +0900)]
[tensorflow/hw] Added supported accelerators

Added supported list of hardwares for tensorflow's tensor filter's extension
Added corresponding unit-tests using single API

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[python/hw] Added supported accelerators
Parichay Kapoor [Tue, 11 Feb 2020 10:15:02 +0000 (19:15 +0900)]
[python/hw] Added supported accelerators

Added list of supported backend accelerators for python extension of tensor filter

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[caffe2/hw] Added backend accelerator for caffe2
Parichay Kapoor [Tue, 11 Feb 2020 10:14:13 +0000 (19:14 +0900)]
[caffe2/hw] Added backend accelerator for caffe2

Added list of supported accelerators as backend for caffe2

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[openvino/hw] Update openvino supported HW
Parichay Kapoor [Tue, 11 Feb 2020 10:10:54 +0000 (19:10 +0900)]
[openvino/hw] Update openvino supported HW

Updated the list of HWs supported with openvino
Providing "true:npu" should also work along with "true:npu.movidius"
Providing specific movidius accelerator works
However, just providing a generic npu should also default to movidius

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Test] Add tensordec-image-segment ssat test
Yongjoo Ahn [Wed, 26 Feb 2020 05:35:50 +0000 (14:35 +0900)]
[Test] Add tensordec-image-segment ssat test

Add a fail case and a simple-run case. And simple golden compare test
with videotestsrc

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>