platform/upstream/nnstreamer.git
4 years ago[Filter] release mem block when execution failed
Jaeyun [Fri, 29 May 2020 03:50:18 +0000 (12:50 +0900)]
[Filter] release mem block when execution failed

release in/out mem blocks when failed to invoke nn framework.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Android/SNPE] Decouple SNPE env setting from native-api
Yongjoo Ahn [Mon, 1 Jun 2020 07:38:17 +0000 (16:38 +0900)]
[Android/SNPE] Decouple SNPE env setting from native-api

- Move function for android SNPE env setting from nnstreamer-native-api.c to tensor_filter_snpe.cc

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[SNPE] Add custom properties
Yongjoo Ahn [Wed, 27 May 2020 06:19:28 +0000 (15:19 +0900)]
[SNPE] Add custom properties

- Add Debug message
- Add custom prop for snpe runtime and cpu_fallback options
ex) "custom=Runtime:GPU,CPUFallback:true"

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[Android] prepare dsp/npu runtime for snpe filter
Yongjoo Ahn [Fri, 15 May 2020 01:15:48 +0000 (10:15 +0900)]
[Android] prepare dsp/npu runtime for snpe filter

- Add required snpe-sdk libs
- Set `jniLibs.srcDirs` to this project explictly contains snpe-sdk libs for dsp/npu
- Make function `nns_set_env` to set env "ADSP_LIBRARY_PATH" (https://developer.qualcomm.com/docs/snpe/dsp_runtime.html)
- Log SNPE version
- Prevent build SNAP and SNPE together in android build script and
  Android.mk

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[Aggregator] Remove duplicated function to set caps
gichan-jang [Fri, 29 May 2020 07:50:25 +0000 (16:50 +0900)]
[Aggregator] Remove duplicated function to set caps
Remove duplicated works to set source pad cap when sink event is received

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
4 years ago[Unittest] Fix a potential bug of unit testcase
Sangjung Woo [Fri, 22 May 2020 05:26:47 +0000 (14:26 +0900)]
[Unittest] Fix a potential bug of unit testcase

This patch fixes the potential bug (i.e. pipeline parsing error) of unit
testcase when using Protobuf v3.8.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[subplugins] Update subplugins accl support
Parichay Kapoor [Fri, 15 May 2020 10:28:47 +0000 (15:58 +0530)]
[subplugins] Update subplugins accl support

Update subplugin's accelerators support as per updated rules for auto/default

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Tensor Filter] Added a sub-plugin filter for VIM3/Vivante NPU
Geunsik Lim [Fri, 15 May 2020 05:00:50 +0000 (14:00 +0900)]
[Tensor Filter] Added a sub-plugin filter for VIM3/Vivante NPU

This commit is to append the Vivante sub-plugin based on the tensor filter
of NNStreamer to support the Vivante NPU driver.

**Changelog**

* Version 10:
   * Added license clause
   * Improved statements of the nnsreamer.spec file

* Version 1-9:
   * Fixed memory leak (e.g., g_free)
   * FIxed security (e.g., nnstreamer.nanifest) for Tizen packaging
   * doc: Added how to build and run the Vivante filter on Ubuntu 18.04 (ARM64)
   * Updated the invoke function to support various models
     (e.g., Inception, Yolo, Mobile SSD)
   * Added Tizen package script for Tizen platform
   * Fixed incorrect var type (e.g., unsigned int for num_tensors)
   * Added annotations for code maintenance
   * Added run.sh for Ubuntu18.04 aarch64 + VIM3 board
   * Added convert function for vivante tensor data type
   * Added vsi_nn_GetTensor of OpenVX apis to obtain tensor data (input, output)
   * Added info[i].name with dummy data (e.g., tensor id)
   * Removed deprecated variables and functions
   * Updated the vivante filter with "multi-files" structure for re-usability
     - "model=/opt/vivante/model/inception_v3.nb,
       /opt/vivante/model/libinception_v3.so
   * Updated the existing vivante tensor filter based on dlopen() scheme
   * Added a functions to check the dlopen operation to avoid undefined symbol issue
   * Updated annotaiton (e.g., image size is 299:299)
   * Added Vivante functions (common APIs) in the vivante_open function
   * Added Vivante functions (common APIs) in the vivante_invoke function
   * Added Vivante functions (common APIs) in the vivante_close function
   * Update annotation to avoid misunderstanding
   * Fixed typos (GstTensorsInfo)
   * Add todo list (e.g., glib's time functions)
   * Added vsi_nn_pub.h header file to use libraries of acuity-ovxlib-dev tool
   * Added a skeleton of the Vivate tensor filter
   * Imported the major implementation of the Vivante (inceptionv3 model)
     for Nnstreamer pipeline. libvivante_v3.so will be used by "model=***"
     interface to support a generic approach for re-usability.
   * Added vivante_inception_v3.h header file for .so file of a NN model
   * Added a data structure (e.g., vivante_data) to manage Vivante data

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
4 years ago[Android] fix warning
Jaeyun [Thu, 21 May 2020 05:32:20 +0000 (14:32 +0900)]
[Android] fix warning

fix build warning, remove unnecessary code.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Merge] reduce complexity
Jaeyun [Mon, 25 May 2020 06:02:44 +0000 (15:02 +0900)]
[Merge] reduce complexity

code clean in tensor-merge element, reduce code complexity.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Android/Test] sample for media format
Jaeyun [Wed, 27 May 2020 10:08:37 +0000 (19:08 +0900)]
[Android/Test] sample for media format

test/sample to input media data format into appsrc.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Android/Doc] link proper method
Jaeyun [Mon, 25 May 2020 10:53:44 +0000 (19:53 +0900)]
[Android/Doc] link proper method

link proper method, for the interfaces defined in Pipeline/CustomFilter.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Spec] Fix the wrong meson option for armnn
Sangjung Woo [Fri, 22 May 2020 08:23:10 +0000 (17:23 +0900)]
[Spec] Fix the wrong meson option for armnn

Because of the typo for meson option, below warning occurs when
building.
* WARNING: Unknown options: "armnn_support"

This patch fixes this warning.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[Test] use test-env
Jaeyun [Thu, 21 May 2020 05:34:51 +0000 (14:34 +0900)]
[Test] use test-env

update unittest arg, use test-env in cpp-method test.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[CONF] Fix nnstreamer conf load function
gichan-jang [Thu, 21 May 2020 02:23:32 +0000 (11:23 +0900)]
[CONF] Fix nnstreamer conf load function

Since key_file is declared using g_autoptr macro, it does not need to cleaning up variables.
It is related issue #2393.

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
4 years ago[Android] enable custom filter in singleshot
Jaeyun [Tue, 19 May 2020 09:27:57 +0000 (18:27 +0900)]
[Android] enable custom filter in singleshot

register filter subplugins (custom-filter support) when building single-shot library

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[filter] Handle auto/default semantics for tensor_filter v1
Parichay Kapoor [Tue, 12 May 2020 21:18:20 +0000 (02:48 +0530)]
[filter] Handle auto/default semantics for tensor_filter v1

Patch to handle auto/default semantics for tensor_filter v1
getFrameworkInfo adds two more parameters - accl_default and accl_auto with the same characteristics as v0
Passed user input is parsed and if auto/default is used, corresponding accelerators are set and used.

This resolves #2320 for tensor_filter v1

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[filter] Handle auto/default semantics for tensor_filter v0
Parichay Kapoor [Tue, 12 May 2020 20:09:19 +0000 (01:39 +0530)]
[filter] Handle auto/default semantics for tensor_filter v0

Patch to handle auto/default semantics for tensor_filter
Each tensor_filter should now pass its default/auto accelerator
If not passed, the value defaults to first entry from supported list of accelerators
Passed user input is parsed and if auto/default is used, corresponding accelerators
are set and used.

This resolves #2320 for v0

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Android] fix lint warning
Jaeyun [Tue, 19 May 2020 09:00:00 +0000 (18:00 +0900)]
[Android] fix lint warning

fix lint report : set default locale

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Meson] Provide an environment object to test()
Wook Song [Wed, 22 Apr 2020 05:38:40 +0000 (14:38 +0900)]
[Meson] Provide an environment object to test()

In order to make test() in the meson.build script work, this patch
defines an environment object for the unit test cases and provides it to
those test() functions as an argument.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Android] Update document for Android Library
Sangjung Woo [Wed, 13 May 2020 05:26:44 +0000 (14:26 +0900)]
[Android] Update document for Android Library

This patch newly updates the guide for Android Library.
* Add installration guide for required package
* Add proxy setting guide simply without specific IP and port info
* Fix the typoes

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[Android] Updated document for nnstreamer multi-model app
Geunsik Lim [Thu, 7 May 2020 10:52:59 +0000 (19:52 +0900)]
[Android] Updated document for nnstreamer multi-model app

Fixed issue nnstreamer/nnstreamer#2349.

This commit is to update the existing document in order to re-upload
the nnstreamer multi-model application because the application management
of Google Store is changed.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
4 years ago[Filter/Mediapipe] fix a bug at destructor
Hyoung Joo Ahn [Mon, 18 May 2020 03:03:23 +0000 (12:03 +0900)]
[Filter/Mediapipe] fix a bug at destructor

call free the resource after using it.

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
4 years ago[SPEC] Fix typo in spec file
gichan-jang [Mon, 18 May 2020 04:26:17 +0000 (13:26 +0900)]
[SPEC] Fix typo in spec file

Fix typo in spec file

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
4 years ago[hw/accl] Add CPU_SIMD as a backend option
Parichay Kapoor [Thu, 14 May 2020 06:31:11 +0000 (12:01 +0530)]
[hw/accl] Add CPU_SIMD as a backend option

Added CPU_SIMD as a backend option
CPU_NEON will be alias for CPU_SIMD in enum but different string representation

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Android] build shared libs
Jaeyun [Thu, 14 May 2020 08:48:25 +0000 (17:48 +0900)]
[Android] build shared libs

1. build shared libs (nnstreamer and subplugins)
2. clean up build script

TODO : we need to update mk files in android-res repo and sub-plugins

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Android] Add omitted header when archiving
Sangjung Woo [Fri, 15 May 2020 10:37:48 +0000 (19:37 +0900)]
[Android] Add omitted header when archiving

'ml-api-common.h' is recently added and it is included in nnstreamer.h.
However, it is not archived in nnstreamer-native.zip. Because of this
reason, buildbreak occurs when building Android jni application. This
patch fixes that bug.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[meson]Correct deprecated arg in features
Jihoon Lee [Fri, 15 May 2020 00:54:46 +0000 (09:54 +0900)]
[meson]Correct deprecated arg in features

**Changes proposed in this PR:**
- Change `additional_deps` -> `extra_deps` for tflite-nnapi-delegation

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
4 years agoindent: Update the gst-indent file
Geunsik Lim [Thu, 14 May 2020 01:34:49 +0000 (10:34 +0900)]
indent: Update the gst-indent file

This commit is to update the below contents in the 'gst-indent' file.

**Changelog**
 * Fixed typo
 * Declared a default shell script (e.g., bash) with Linux shebang line

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
4 years ago[Android/build] Move tensor-filter common to nnstreamer_common_srcs
Yongjoo Ahn [Wed, 13 May 2020 05:54:53 +0000 (14:54 +0900)]
[Android/build] Move tensor-filter common to nnstreamer_common_srcs

- To enable SINGLE-only build for cpp class filter (snpe)

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[Android/SNPE] Support SNPE in Android
Yongjoo Ahn [Fri, 8 May 2020 04:11:53 +0000 (13:11 +0900)]
[Android/SNPE] Support SNPE in Android

- Support SNPE for Android api
- Add simple tests (singleshot, pipeline) using pre-loaded SNPE model

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[single] Add implementation to support for hw accelerator
Parichay Kapoor [Wed, 13 May 2020 03:33:31 +0000 (09:03 +0530)]
[single] Add implementation to support for hw accelerator

single API supported hw accelerator for the NNFW
this hw was used to check if it is supported by the framework
however this hw was never passed to the framework to use
this patch sovles this issue

resolves #2374

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[single] Added documentation for the thread behavior
Parichay Kapoor [Mon, 11 May 2020 19:40:08 +0000 (01:10 +0530)]
[single] Added documentation for the thread behavior

Added documentation for the thread behavior in various functions in single API
Also removed ERROR state as it was rendundant after #2360

Resolves #2185

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[tflite] bug fix for tflite unittest
Parichay Kapoor [Tue, 12 May 2020 21:05:02 +0000 (02:35 +0530)]
[tflite] bug fix for tflite unittest

unittest of tflite compared output with grep "exp"
however some expressions could be prefix of different exp
this could lead to false positives
added line end marker

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Demux/Split] unref incoming buffer
Jaeyun [Mon, 11 May 2020 08:34:15 +0000 (17:34 +0900)]
[Demux/Split] unref incoming buffer

After demux/split the incoming buffer, unref the buffer to decrease ref count.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[single] single API to process nnfw transparently once opened
Parichay Kapoor [Thu, 7 May 2020 17:58:16 +0000 (23:28 +0530)]
[single] single API to process nnfw transparently once opened

single API should process all the frameworks transparently once the single handle has been opened.
The framework check has been performed when the handle was created and opened.
If the operation is not supported, that should be handled in the nnfw rather than in single API.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Android] Stop when first error occurs
Sangjung Woo [Mon, 11 May 2020 09:53:57 +0000 (18:53 +0900)]
[Android] Stop when first error occurs

When running build-android-lib.sh, it does not stop even though error
occur (e.g. command not found). It makes users hard to find the reason
of the problem. This patch stops first error occurs so users can fix it
easily.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[filter/SNPE] Add tensor_filter sub-plugin for SNPE
Yongjoo Ahn [Thu, 9 Apr 2020 07:58:19 +0000 (16:58 +0900)]
[filter/SNPE] Add tensor_filter sub-plugin for SNPE

- Currently, this only supports CPU runtime
- Use meson feature "feature" : check environment variable `SNPE_ROOT`
  to enable the build or not

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[Meson/Option] remove unnecessary option
Jaeyun [Mon, 11 May 2020 07:53:29 +0000 (16:53 +0900)]
[Meson/Option] remove unnecessary option

remove unnecessary option for disabling audio elements.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[C-Api/CodeClean] validate model file
Jaeyun [Fri, 8 May 2020 11:19:13 +0000 (20:19 +0900)]
[C-Api/CodeClean] validate model file

add function for nnfw auto detection and clean up functions to validate model file.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Test] add simple testcases
Jaeyun [Thu, 7 May 2020 07:47:38 +0000 (16:47 +0900)]
[Test] add simple testcases

add simple testcases for native c-api and internal functions.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[single] cache tensor filter class once at open
Parichay Kapoor [Thu, 7 May 2020 17:32:24 +0000 (23:02 +0530)]
[single] cache tensor filter class once at open

Existing implementation seeks the tensor filter class based on its type everytime a class is needed.
Rather, cache the tensor filter class increasing its ref at open, and unref at single api close.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Subplugin] Fix the typo
Sangjung Woo [Mon, 11 May 2020 02:11:54 +0000 (11:11 +0900)]
[Subplugin] Fix the typo

This patch fixes the typo in header file.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years agoChange packaging in regards to feature migration
Jihoon Lee [Fri, 24 Apr 2020 08:37:01 +0000 (17:37 +0900)]
Change packaging in regards to feature migration

 Change debian and rpm build in regards to feature update option. This
commit just inherits past options leaving possibilities open to
exploit "auto" options.

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
4 years ago[Meson] Migrate to feature
Jihoon Lee [Mon, 20 Apr 2020 06:34:05 +0000 (15:34 +0900)]
[Meson] Migrate to feature

 1. Feature / feature handler added
 2. Add video support as feature (and wipe out disable-video-support)
 3. Add extra args support
 4. Implement enable-tesnorflow, enable-tensorflow-lite ... as feature
 5. Implement enable-orc, ... as feature *

 - enable-orc -> orcc-support
 - enable-tensorflow-lite -> tflite-support
 - enable-tensorflow -> tf-support
 - enable-caffe2 -> caffe2-support
 - enable-pytorch -> pytorch-support
 - enable-movidius-ncsdk2 -> mvncsdk2-support
 - enable-python -> python2-support / python3-support
 - enable-tflite-nnapi-delegation -> tflite-nnapi-delegation
 - enable-nnfw-runtime -> nnfw-runtime-support
 - enable-armnn -> armnn-suport

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
4 years agoAdd feature object handler
Jihoon Lee [Mon, 20 Apr 2020 06:34:05 +0000 (15:34 +0900)]
Add feature object handler

 1. Feature / feature handler added
 2. Add video support as feature (and wipe out disable-video-support) *
 3. Add extra args support
 4. Implement enable-tesnorflow, enable-tensorflow-lite ... as feature
 5. Implement enable-orc, ... as feature
 6. Change docs

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
4 years ago[Android/AMC] Set the omitted finalize function
Sangjung Woo [Mon, 4 May 2020 07:04:40 +0000 (16:04 +0900)]
[Android/AMC] Set the omitted finalize function

'gst_amc_src_finalize()' exists in the code but the finalize of GObject
class is not set. Because of this reason, gst_amc_src_finalize() function
is not called at all. This patch fixes this bug.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[CAPI] Separate error codes: ml-api-common.h
MyungJoo Ham [Thu, 7 May 2020 07:28:13 +0000 (16:28 +0900)]
[CAPI] Separate error codes: ml-api-common.h

nntrainer wants to share the error codes for its API set.
Separate "common" header and release it via a sub-pacakge.

CC: @jijoongmoon: You can use this for
https://github.com/nnstreamer/nntrainer/issues/75

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Tests/Regression] GTEST error is ignored
MyungJoo Ham [Thu, 7 May 2020 10:24:43 +0000 (19:24 +0900)]
[Tests/Regression] GTEST error is ignored

PR #2338 has incurred a regression in the test suite that
make gbs pass even if there is a failed unit test case in gtest.

This fixes the regression of #2338

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Unittest/IIO] fix mem leak of unittest_src_iio
HyoungJoo Ahn [Thu, 7 May 2020 04:37:50 +0000 (13:37 +0900)]
[Unittest/IIO] fix mem leak of unittest_src_iio

fix mem leaks of few test cases

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Mediapipe] upload the new subplugin
Hyoung Joo Ahn [Wed, 6 May 2020 11:49:42 +0000 (20:49 +0900)]
[Mediapipe] upload the new subplugin

this subplugin helps running mediapipe graph through nnstreamer

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
4 years ago[Mediapipe] fix shell script
Hyoung Joo Ahn [Wed, 6 May 2020 11:45:04 +0000 (20:45 +0900)]
[Mediapipe] fix shell script

make the nnstreamer lib path rather than error

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
4 years ago[C-Api] unknown tensor type
Jaeyun [Thu, 7 May 2020 09:41:37 +0000 (18:41 +0900)]
[C-Api] unknown tensor type

do not allow setting unknown tensor type.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Dist/Tizen] Remove an invalid command line
Wook Song [Thu, 7 May 2020 08:18:42 +0000 (17:18 +0900)]
[Dist/Tizen] Remove an invalid command line

This patch removes an invalid command line that creates a symlink, *.so.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Dist/Tizen] Provide GST_PLUGIN_PATH to unittest_tizen_sensor
Wook Song [Thu, 7 May 2020 07:57:14 +0000 (16:57 +0900)]
[Dist/Tizen] Provide GST_PLUGIN_PATH to unittest_tizen_sensor

'unittest_tizen_sensor' requires a nnstreamer extension plugin,
'tensor_src_tizensensor', in addition to the other nnstreamer plugins.
In order to resolve this dependency at build time, this patch modifies
the rpm spec for Tizen to provide extra GST_PLUGIN_PATH to
'unittest_tizen_sensor'.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Tests/Script] Do not override GST_PLUGIN_PATH in the test script
Wook Song [Thu, 7 May 2020 07:47:42 +0000 (16:47 +0900)]
[Tests/Script] Do not override GST_PLUGIN_PATH in the test script

This patch removes the code line overrides GST_PLUGIN_PATH from the test
script.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Test] add testcases for internal function
Jaeyun [Wed, 6 May 2020 11:41:48 +0000 (20:41 +0900)]
[Test] add testcases for internal function

add testcases for internal function (validate model files)

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Unittest/IIO] add the negative case: base dir
HyoungJoo Ahn [Thu, 7 May 2020 03:42:07 +0000 (12:42 +0900)]
[Unittest/IIO] add the negative case: base dir

testcase for the logic with invalid base dir

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Unittest/IIO] add the negative case: frequency
HyoungJoo Ahn [Wed, 29 Apr 2020 05:39:27 +0000 (14:39 +0900)]
[Unittest/IIO] add the negative case: frequency

testcase for the logic with invalid frequency

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Conf] Add omitted comment and fix a typo
Sangjung Woo [Thu, 7 May 2020 01:48:14 +0000 (10:48 +0900)]
[Conf] Add omitted comment and fix a typo

* Add omitted parameter comment for nnsconf_get_subplugin_info()
* Fix a typo

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[TEST] Fix svace defect : nnfw_runtime, tensordec-imagelabel
gichan-jang [Wed, 6 May 2020 09:54:06 +0000 (18:54 +0900)]
[TEST] Fix svace defect : nnfw_runtime, tensordec-imagelabel

Fix memory leak of nnfw runtime and tensor decoder image labeling unit test.
Related SVACE defects : 440263, 440264, 440265, 440266, 440261

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
4 years ago[README] Add daily build and test badge
gichan-jang [Wed, 29 Apr 2020 02:24:08 +0000 (11:24 +0900)]
[README] Add daily build and test badge

Add daily build and test badge (Tizen x64, Tizen X86, Ubuntu x64)

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
4 years ago[Tests/Python] Update test scripts for python extensions
Wook Song [Fri, 24 Apr 2020 08:35:51 +0000 (17:35 +0900)]
[Tests/Python] Update test scripts for python extensions

This patch modifies the scripts running the test cases for python
filters to use proper PYTHONPATH.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Transform] return value when failed to set option
Jaeyun [Wed, 29 Apr 2020 08:57:40 +0000 (17:57 +0900)]
[Transform] return value when failed to set option

1. return false if failed to set option.
2. add simple testcases for the option string.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[C-Api] new ref to get tensor name
Jaeyun Jung [Thu, 30 Apr 2020 05:59:11 +0000 (14:59 +0900)]
[C-Api] new ref to get tensor name

if tensors-info has name, return new ref when getting the tensor name.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Unittest/IIO] add a testcase for unusual cases
HyoungJoo Ahn [Tue, 28 Apr 2020 11:52:21 +0000 (20:52 +0900)]
[Unittest/IIO] add a testcase for unusual cases

the added testcase cover various cases not covered previous set.

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Filter/Test] test for filter-fw registration
Jaeyun [Wed, 29 Apr 2020 10:59:29 +0000 (19:59 +0900)]
[Filter/Test] test for filter-fw registration

add test for filter-fw v1 registration without model file.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Test/tensordec-pose] Fix a test case with arithmetic transform
Yongjoo Ahn [Mon, 4 May 2020 04:25:40 +0000 (13:25 +0900)]
[Test/tensordec-pose] Fix a test case with arithmetic transform

- tensordec-pose treats incoming array as float, thus add `tensor_transform mode=arithmetic`
- expecting proper line converage results

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[Test] add tc for element properties
Jaeyun [Tue, 28 Apr 2020 10:12:40 +0000 (19:12 +0900)]
[Test] add tc for element properties

update simple testcases for the element properties.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
4 years ago[Test/tensordec-pose] Add test case with more buffers
Yongjoo Ahn [Tue, 28 Apr 2020 12:02:26 +0000 (21:02 +0900)]
[Test/tensordec-pose] Add test case with more buffers

The test with `videotestsrc num_buffers=4` sometimes does not enough to execute some functions. This commit adds a test with more buffers.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 years ago[Test/CAPI-Util] Add negative cases.
MyungJoo Ham [Tue, 28 Apr 2020 10:53:42 +0000 (19:53 +0900)]
[Test/CAPI-Util] Add negative cases.

Add more negative test cases to increate test coverage rate.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[CodeClean] line comment
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>
4 years ago[TEST] Add test case for tizen sensor
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>
4 years ago[Unittest] apply EXPECT_STREQ for string comparisons
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>
4 years ago[Test] add sync option in appsink accepted/tizen/unified/20200428.125941 submit/tizen/20200428.040141
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>
4 years ago[C-Api/Pipeline] warning message for sync option
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>
4 years ago[CodeClean] fix invalid index
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>
4 years ago[Android] prepare SNPE
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>
4 years ago[Filter/EdgeTPU] Workaround for #2320
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>
4 years ago[Filter/C++Class] Bugfix: close gets a dlb ptr!
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>
4 years ago[Spec/Deb] Update C++ devel env.
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>
4 years ago[Option] Enable tensor-filter C++ class by default
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>
4 years ago[Filter/Edgetpu] Rewrite as a C++ class
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>
4 years ago[Merge] fix return type
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>
4 years ago[Test] Fix potential test fail
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>
4 years ago[Sink] default sync false
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>
4 years ago[Android/Test] add SNAP tests using tensorflow model
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>
4 years agoError return instead of assert for external errors.
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>
4 years ago[Test/NNFW] separate testcase
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>
4 years ago[Test] Fix tizen capi unittest
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>
4 years ago[Unittest] remove the not effective sleeps
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>
4 years ago[Filter/Python] Don't assert. Provide exceptions.
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>
4 years ago[Mediapipe] fix meson script
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>
4 years ago[Dist/Tizen] Use the base option, b_coverage, to track coverage
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>
4 years ago[TEST] Fix tizen sensor unit test accepted/tizen/unified/20200424.141621 submit/tizen/20200423.092227
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>
4 years ago[Test/NNFW] ignore timeout in singleshot
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>
4 years ago[TEST/util] Clean up wait_pipeline_process_buffers
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>
4 years ago[TEST/util] Add unit test util function
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>
4 years ago[Test] Fix nnstreamer repo test
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>
4 years ago[Coverage/Fix] Disable optimization and remove redundant gcov run
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>