platform/upstream/nnstreamer.git
3 years ago[Test] remove dependency to ml api
Jaeyun [Wed, 17 Feb 2021 04:55:36 +0000 (13:55 +0900)]
[Test] remove dependency to ml api

For tizen sensor element, remove dependency to ml api. Replace to gst functions.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[gRPC] remove uncessary dependency declaration
Dongju Chae [Tue, 16 Feb 2021 08:34:16 +0000 (17:34 +0900)]
[gRPC] remove uncessary dependency declaration

This patch removes unnecessary dependency declaration.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years agoRevert "[grpc] Temporral disable grpc package"
Dongju Chae [Tue, 16 Feb 2021 07:50:30 +0000 (16:50 +0900)]
Revert "[grpc] Temporral disable grpc package"

This reverts commit f563d989d6b26ce097574c21c6c1e6185b189614.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years ago[TEST/common] Fix memory leak
Gichan Jang [Mon, 15 Feb 2021 01:58:32 +0000 (10:58 +0900)]
[TEST/common] Fix memory leak

Fix memory leak of the tensor common unit test.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[CAPI] Change comment to comply convention
Gichan Jang [Mon, 15 Feb 2021 06:29:00 +0000 (15:29 +0900)]
[CAPI] Change comment to comply convention

Change comment for nntrainer enum to comply convention.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Bug] Fix memory leak
Gichan Jang [Wed, 10 Feb 2021 06:52:24 +0000 (15:52 +0900)]
[Bug] Fix memory leak

Fix memory leak detected by valgrind.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[TEST/sink] Change free function
Gichan Jang [Wed, 10 Feb 2021 06:58:27 +0000 (15:58 +0900)]
[TEST/sink] Change free function

Some tests do not remove and free temporary files.
Change to remove and free temporary files from `_free_test_data`.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[OSX] Build error fix
MyungJoo Ham [Tue, 9 Feb 2021 15:35:14 +0000 (00:35 +0900)]
[OSX] Build error fix

OSX does not have sys/auxv.h
Add a macro assuming that SIMD is always available for
OSX-AARCH64 (e.g., M1) devices.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 years ago[Build] remove unnecessary option
Jaeyun [Thu, 4 Feb 2021 07:42:01 +0000 (16:42 +0900)]
[Build] remove unnecessary option

Remove unnecessary build option for sub-plugins, default val is auto.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[TEST/single] Destory output data handle
Gichan Jang [Tue, 9 Feb 2021 10:58:21 +0000 (19:58 +0900)]
[TEST/single] Destory output data handle

After #3002, User should destory the output handle.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[C-Api/Tizen] restricted elements for internal function
Jaeyun [Tue, 9 Feb 2021 08:07:35 +0000 (17:07 +0900)]
[C-Api/Tizen] restricted elements for internal function

Do not check restricted list when constructing a pipeline with internal API.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[grpc] Temporral disable grpc package
Gichan Jang [Tue, 9 Feb 2021 08:04:30 +0000 (17:04 +0900)]
[grpc] Temporral disable grpc package

The grpc version is upgraded, but the grpc package of the nnstreamer ppa is not upgraded properly, so it is temporarily disabled.
Discussed with dongju-chae

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[gRPC/Test] Skip SSAT tests on qemu/aarch64
Dongju Chae [Mon, 8 Feb 2021 05:55:24 +0000 (14:55 +0900)]
[gRPC/Test] Skip SSAT tests on qemu/aarch64

This patch makes gbs skip ssat tests on qemu/aarch64 env.

In gRPC 1.35.0, some behaviors are not supported on qemu/aarch64.

See the below error log
```
[  119s] qemu: Unsupported syscall: 168
[  119s] E0208 04:45:45.854670498   21089 cpu_linux.cc:41] Error determining current CPU: Function not implemented
[  119s]
[  119s] Unsupported setsockopt level=1 optname=15
[  119s] E0208 04:45:45.874942631   21089 socket_utils_common_posix.cc:222] check for SO_REUSEPORT: {"created":"@1612759545.874068306","description":"Protocol not available","errno":92,"file":"/home/abuild/rpmbuild/BUILD/grpc-1.35.0/src/core/lib/iomgr/socket_utils_common_posix.cc","file_line":198,"os_error":"Protocol not available","syscall":"setsockopt(SO_REUSEPORT)"}
[  119s] qemu: uncaught target signal 4 (Illegal instruction) - core dumped
```

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years ago[Build] remove unnecessary option accepted/tizen/unified/20210209.124348 submit/tizen/20210209.021014
Jaeyun [Thu, 4 Feb 2021 07:42:01 +0000 (16:42 +0900)]
[Build] remove unnecessary option

Remove unnecessary build option for sub-plugins, default val is auto.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[CodeClean] fix indent
Jaeyun [Fri, 5 Feb 2021 08:35:46 +0000 (17:35 +0900)]
[CodeClean] fix indent

fix indent in c-api source.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[test/SSAT] Check flatbuf and protobuf decoder sub-plugins
Yongjoo Ahn [Mon, 18 Jan 2021 07:35:18 +0000 (16:35 +0900)]
[test/SSAT] Check flatbuf and protobuf decoder sub-plugins

- Check existence of flatbuf and protobuf sub-plugins for decoder SSAT test

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years ago[Build] fix package name
Jaeyun [Fri, 5 Feb 2021 09:07:35 +0000 (18:07 +0900)]
[Build] fix package name

fix package name required for devel packages.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years agoTAOS-CI: Use .TAOS-CI/.gbs.conf by default
Geunsik Lim [Thu, 4 Feb 2021 01:51:11 +0000 (10:51 +0900)]
TAOS-CI: Use .TAOS-CI/.gbs.conf by default

This commit is to use a (1) ./.TAOS-CI/.gbs.conf or (2) ./packaging/.gbs.conf file
by default to support customized GBS repositories for each GitHub repository
because the (3) ~/.gbs.conf file of user account (e.g., www-data) can be used among
lots of repositories.

**Changelog**
 * Added ./.TAOS-CI/.gbs.conf
 * Added ./packaging/.gbs.conf
 * Replaced https with http to avoid ssl issue due to firewall

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
3 years ago[TEST] Code clean unittest plugins
Gichan Jang [Wed, 3 Feb 2021 05:01:15 +0000 (14:01 +0900)]
[TEST] Code clean unittest plugins

 - It causes confusion by performing free resource in the macros.
   Changed to release the resource in same code block.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[TEST] Add tensor filter fw autodetection unit test
Gichan Jang [Tue, 2 Feb 2021 07:14:58 +0000 (16:14 +0900)]
[TEST] Add tensor filter fw autodetection unit test

Add tensor filter framework autodetection unit tests

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Filter] Framework auto detection without specifying the option
Gichan Jang [Tue, 2 Feb 2021 06:54:43 +0000 (15:54 +0900)]
[Filter] Framework auto detection without specifying the option

Modify the tensor filter to automatically detect the framework without specifying the framework option.
Default value of the framework is changed to "auto".

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Test] separate nnfw testcase
Jaeyun [Fri, 29 Jan 2021 06:25:13 +0000 (15:25 +0900)]
[Test] separate nnfw testcase

separate testcases for nnfw plugin (functions for filter-plugin and ml-api)

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[SSAT] Remove some log files generated by SSAT tests
Gichan Jang [Wed, 27 Jan 2021 04:48:16 +0000 (13:48 +0900)]
[SSAT] Remove some log files generated by SSAT tests

- Remove some log files during SSAT test for humble yocto qemu environment

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years ago[ML-API] add log messages
Hyoung Joo Ahn [Thu, 4 Feb 2021 03:02:27 +0000 (12:02 +0900)]
[ML-API] add log messages

The additional log messages are required because returning the error code `ML_ERROR_STREAMS_PIPE` gives very little information for the abnormal situation.

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
3 years ago[Doc] Move stable wiki doc to /Documentation accepted/tizen/unified/20210204.134621 submit/tizen/20210203.232822
Gichan Jang [Wed, 27 Jan 2021 04:48:16 +0000 (13:48 +0900)]
[Doc] Move stable wiki doc to /Documentation

Copy stable wiki documents to /Documentation.
After this PR, copied wiki page will be deleted.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[DOC] Add a description of the combination option
Gichan Jang [Mon, 1 Feb 2021 10:37:19 +0000 (19:37 +0900)]
[DOC] Add a description of the combination option

Add a description of the comparison between tee and input-combination.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Doc] Add nnstreamer tools to github.io
Gichan Jang [Tue, 2 Feb 2021 07:47:00 +0000 (16:47 +0900)]
[Doc] Add nnstreamer tools to github.io

Add nnstreamer tools doc to github.io

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Doc] Add nnstreamer logo to github.io
Gichan Jang [Tue, 2 Feb 2021 00:23:31 +0000 (09:23 +0900)]
[Doc] Add nnstreamer logo to github.io

Add NNStreamer logo to github.io.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Build] internal header for APIs
Jaeyun [Fri, 29 Jan 2021 07:57:38 +0000 (16:57 +0900)]
[Build] internal header for APIs

Add internal header for sub-plugins and native APIs.
After separating API repo, native API build will include this header.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[TEST] Change string property test
Gichan Jang [Mon, 1 Feb 2021 08:40:05 +0000 (17:40 +0900)]
[TEST] Change string property test

Current setting and getting string property test try to select tensor(s) that does not exist.
Changed to set and get framework of the tensor filter.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Decoder/BoundingBox] Add option for detection threshold on tf-ssd reported scores
Xavier Roumegue [Tue, 26 Jan 2021 17:15:07 +0000 (18:15 +0100)]
[Decoder/BoundingBox] Add option for detection threshold on tf-ssd reported scores

This limits boxes drawing to objects detected with reasonable confidence,
specifying the threshold in percentage thanks to the option-3 as below:

option-3=bbox idx:classes idx:scores idx:num detection idx,threshold

So this adds ",threshold" to the current option-3 configuration scheme.

The threshold has to be within [0 100] range, otherwise skipped.

Signed-off-by: Xavier Roumegue <xavier.roumegue@nxp.com>
3 years ago[Decoder/BoundingBox] Fix off-by-one error on valid TF-SSD labels handling
Xavier Roumegue [Thu, 28 Jan 2021 14:12:54 +0000 (15:12 +0100)]
[Decoder/BoundingBox] Fix off-by-one error on valid TF-SSD labels handling

The class label indexes starts at 0 while parsing the labels file,
and hence 0 should be considered as a valid label in the general case.

Signed-off-by: Xavier Roumegue <xavier.roumegue@nxp.com>
3 years ago[Decoder/BoundingBox] Clamp bounding boxes locations
Xavier Roumegue [Thu, 28 Jan 2021 14:17:40 +0000 (15:17 +0100)]
[Decoder/BoundingBox] Clamp bounding boxes locations

Some neural networks could return negative values, which can lead to
segfault errors while drawing the boxes.

For example, the model below outputs some locations boxes with values
out of [0.0 1.0] in some circumstances.

http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03.tar.gz

Signed-off-by: Xavier Roumegue <xavier.roumegue@nxp.com>
3 years ago[Decoder/BoundingBox] Add option to specify TF-SSD output tensors mapping
Xavier Roumegue [Fri, 22 Jan 2021 19:46:02 +0000 (19:46 +0000)]
[Decoder/BoundingBox] Add option to specify TF-SSD output tensors mapping

Recent tensor flow object detections neural network models use output
tensor mapping defined by google:

https://www.tensorflow.org/lite/models/object_detection/overview#output_signature

which is different than the one currently used on bounding boxes tensor
decoder element.

This patch adds the possibility to specify any output tensors mapping
through the option-3 parameter for tf-ssd mode using the following
convention:

locations index:classes index: scores index: number of detections index.

For example, option3=0:1:2:3 would map the output tensors as defined by
previous link, .i.e. :
- Bounding boxes locations tensor on index 0
- Classes tensor on index 1
- Scores tensor on index 2
- Number of detection tensor on index 3

option3 for tf-ssd mode is optional, and if not specified, the default
tensors mapping preserve the backward compatibility (.i.e. 3:1:2:0)

Signed-off-by: Xavier Roumegue <xavier.roumegue@nxp.com>
3 years ago[Decoder/BoundingBox] Apply gst-indent
Xavier Roumegue [Thu, 28 Jan 2021 16:26:15 +0000 (17:26 +0100)]
[Decoder/BoundingBox] Apply gst-indent

Signed-off-by: Xavier Roumegue <xavier.roumegue@nxp.com>
3 years ago[C-API] Fix C-API header comments
Gichan Jang [Tue, 26 Jan 2021 02:15:07 +0000 (11:15 +0900)]
[C-API] Fix C-API header comments

Clarify the description of nnstreamer C-API comments

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[pkg-config] Update require to capi-nnstreamer
Jihoon Lee [Wed, 20 Jan 2021 07:47:05 +0000 (16:47 +0900)]
[pkg-config] Update require to capi-nnstreamer

As users of capi-nnstreamer.pc need `capi-ml-common.pc`, it should be
added to the require although currently, capi-ml-common.pc has the
exactly same include path so nothing really changes.

This is more of a future proof that one day capi-ml-common.pc might
point to a different include header.

**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>
3 years ago[Build] package for nnstreamer API
Jaeyun [Fri, 29 Jan 2021 09:43:12 +0000 (18:43 +0900)]
[Build] package for nnstreamer API

add package for nnstreamer API (separate from nnstreamer pkg)

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Tools/Parser] Rule Implementation Done
MyungJoo Ham [Fri, 11 Dec 2020 06:36:14 +0000 (15:36 +0900)]
[Tools/Parser] Rule Implementation Done

Redefine "GstBin" and "GstElement" for nns-parser.
As we do not create actual pipelines from strings,
we only need symbolic data.

All the parsing rule implementations are fixed for nns-parser.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 years ago[Tools/Parser] Remove GSTPARSE functions
MyungJoo Ham [Mon, 30 Nov 2020 07:04:04 +0000 (16:04 +0900)]
[Tools/Parser] Remove GSTPARSE functions

GSTPARSE has defined its own functions,
which are replaced with general functions
by this commit.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 years ago[Tools/Parser] Do ref counting with pseudo elements
MyungJoo Ham [Tue, 1 Dec 2020 08:04:29 +0000 (17:04 +0900)]
[Tools/Parser] Do ref counting with pseudo elements

With linked list, psuedo elements are required to be ref-counted.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 years ago[Test] fix coverity issue
Jaeyun [Fri, 29 Jan 2021 05:15:35 +0000 (14:15 +0900)]
[Test] fix coverity issue

create buffer with pre-allocated mem.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[BUILD/TF-Lite] Add nnapi delegate option submit/tizen/20210129.041611
Xavier Roumegue [Wed, 27 Jan 2021 08:50:36 +0000 (09:50 +0100)]
[BUILD/TF-Lite] Add nnapi delegate option

Some NPU vendors such as Verisilicon integrate their neural network
stack within TF-LITE through NNAPI for Linux OS.

https://github.com/VeriSilicon/tensorflow/commit/07a2d86919d2c27dc350a065ab01c815a3f4aa15

Thus, this option enables NNAPI support on tf-lite tensor filter plugin
for non android build such as NPU delegates could use NNAPI on non
Android OS.

Signed-off-by: Xavier Roumegue <xavier.roumegue@nxp.com>
3 years ago[ACR] Add NNTrainer enum to singleshot api
Jihoon Lee [Tue, 26 Jan 2021 07:19:38 +0000 (16:19 +0900)]
[ACR] Add NNTrainer enum to singleshot api

This patch adds Add NNtrainer enum to singleshot api, `ml_nnfw_type_e`

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

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
3 years ago[C-API] Add note comments for custom easy filter.
Sangjung Woo [Mon, 25 Jan 2021 08:12:26 +0000 (17:12 +0900)]
[C-API] Add note comments for custom easy filter.

If ml_custom_easy_invoke_cb() returns negative error values, the
constructed pipeline does not work properly anymore. This patch adds the
Note comments for this.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
3 years ago[Coverity] Resolve coverity issue
Gichan Jang [Fri, 22 Jan 2021 06:43:09 +0000 (15:43 +0900)]
[Coverity] Resolve coverity issue

Resolve coverity issue
 1. Unchecked return value
 2. Logically dead code

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[If/Api] api description for if callback
Jaeyun [Mon, 25 Jan 2021 04:48:00 +0000 (13:48 +0900)]
[If/Api] api description for if callback

update description for tensor-if custom callback and set init value for condition.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Filter/Single] move tensor-filter single class
Jaeyun [Tue, 19 Jan 2021 10:06:04 +0000 (19:06 +0900)]
[Filter/Single] move tensor-filter single class

move tensor-filter single class to nnstreamer core directory

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Coverity] fix coverity issues
Jaeyun [Fri, 22 Jan 2021 06:34:52 +0000 (15:34 +0900)]
[Coverity] fix coverity issues

1. handle error case when failed to map the gst buffer.
2. init variable in cls constructor.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Test] add filter-cpp test
Jaeyun [Fri, 22 Jan 2021 11:58:28 +0000 (20:58 +0900)]
[Test] add filter-cpp test

add missed testcases - filter-cpp in tizen build.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Common] code clean
Jaeyun [Mon, 18 Jan 2021 04:32:12 +0000 (13:32 +0900)]
[Common] code clean

fix typo and remove duplicated code to compare file extension.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Badge] Change coverity link of the badge
Gichan Jang [Fri, 22 Jan 2021 04:50:31 +0000 (13:50 +0900)]
[Badge] Change coverity link of the badge

Change coverity link of the badge because coverity project has been
changed.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Common] function to check peer caps
Jaeyun [Thu, 21 Jan 2021 03:12:31 +0000 (12:12 +0900)]
[Common] function to check peer caps

Update description to check peer pad caps, and fix invalid condition.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Join] remove unnecessary code
Jaeyun [Fri, 22 Jan 2021 05:21:05 +0000 (14:21 +0900)]
[Join] remove unnecessary code

remove unnecessary code (duplicated free line)

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[debian] Add nnstreamer-api-common-dev package
Jihoon Lee [Wed, 20 Jan 2021 05:07:06 +0000 (14:07 +0900)]
[debian] Add nnstreamer-api-common-dev package

Currently, `capi-ml-common-devel` was added to rpm package but
corresponding package was not available in debian.

This patch adds `nnstreamer-api-common-dev` to the debian which
corresponds with `capi-ml-common-devel` in rpm.

**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>
3 years ago[Doc] Initial commit to generate doccument using hotdoc
Gichan Jang [Thu, 7 Jan 2021 09:18:32 +0000 (18:18 +0900)]
[Doc] Initial commit to generate doccument using hotdoc

Initial commit to generate doccument using hotdoc.
 - Modify markdown files to follow hotdoc's rule
 - Add element descriptions
 - The API reference is connected with doxygen book link
 - NNStreamer-example doc is linked.
 - Tizen nativa and .ENT doc is linked.
 - Android doc is linked.

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Filter/Single] hide private properties
Jaeyun [Mon, 18 Jan 2021 07:27:29 +0000 (16:27 +0900)]
[Filter/Single] hide private properties

set private data for tensor-filter single properties.

TODO: move filter-single class to gst directory or declare extern for filter common function.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[test/SSAT] Optimize python lazy `pack`
Yongjoo Ahn [Thu, 14 Jan 2021 08:32:10 +0000 (17:32 +0900)]
[test/SSAT] Optimize python lazy `pack`

- Call python `pack` only once with list.
- This reduces test time on yocto qemu environment.
REF: https://stackoverflow.com/questions/9940859/fastest-way-to-pack-a-list-of-floats-into-bytes-in-python/9941455

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years agoAdd pc file for capi-ml-common-devel
Jihoon Lee [Wed, 20 Jan 2021 03:39:02 +0000 (12:39 +0900)]
Add pc file for capi-ml-common-devel

pc file was missing for capi-ml-common-devel package.
This patch adds pc file so that capi-ml-common can be included from
`pkg-config`

**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>
3 years ago[gRPC/Src/Sink] Revise grpc_src/sink for the updated interface
Dongju Chae [Mon, 21 Dec 2020 10:30:01 +0000 (19:30 +0900)]
[gRPC/Src/Sink] Revise grpc_src/sink for the updated interface

This patch revises gRPC source/sink codes for the updated gRPC
common interface.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years ago[gRPC/Common] Add grpc_config struct and revise gRPC common codes
Dongju Chae [Mon, 21 Dec 2020 10:34:58 +0000 (19:34 +0900)]
[gRPC/Common] Add grpc_config struct and revise gRPC common codes

This patch revises gRPC common codes by adding grpc_config structure.
Also, gRPC blocking mode will be supported soon.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years ago[README] Fix daily build path accepted/tizen/unified/20210122.021827 submit/tizen/20210120.015152
Gichan Jang [Tue, 19 Jan 2021 04:19:56 +0000 (13:19 +0900)]
[README] Fix daily build path

Fix daily build directory path.

.... /nnstreamer/ci/taos/daily-build/ -> .... /nnstreamer/ci/daily-build/

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[C-API] fix double free case
Jaeyun [Thu, 14 Jan 2021 07:43:19 +0000 (16:43 +0900)]
[C-API] fix double free case

If filter sub-plugin allocates output tensor, single-shot notifies releasing output buffer when closing the single handle.
In this case, we dont need to free the output handle itself. Calling single-close and destroy-outdata functions will make an error.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[build/Android] Update android lib build script for PyTorch
Yongjoo Ahn [Tue, 12 Jan 2021 01:04:55 +0000 (10:04 +0900)]
[build/Android] Update android lib build script for PyTorch

- Add PyTorch to build script for android library

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years ago[Tests/Meson] Fix wrong option values for 'sed' in meson.build
Wook Song [Fri, 15 Jan 2021 03:25:45 +0000 (12:25 +0900)]
[Tests/Meson] Fix wrong option values for 'sed' in meson.build

This is a trivial patch to fix wrong option values following the '-i'
option of 'sed' in the meson build script. Without this patch, some
useless files such as "unittest_tizen_custom.cc'.cc'" are generated in
the build directory.

Signed-off-by: Wook Song <wook16.song@samsung.com>
3 years ago[Java-API] Fix `StateChangeCallback`
Yongjoo Ahn [Tue, 12 Jan 2021 02:21:45 +0000 (11:21 +0900)]
[Java-API] Fix `StateChangeCallback`

- StateCallback occasionally fails to get initial state changes (null -> ready or ready -> pause)
- Assign `mStateCallback` before `ml_pipeline_construct`

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years ago[C-API] Add note comment for ml_tensors_data_destroy and ml_single_close
Sangjung Woo [Mon, 21 Dec 2020 03:27:19 +0000 (12:27 +0900)]
[C-API] Add note comment for ml_tensors_data_destroy and ml_single_close

This patch adds the note comment for ml_tensors_data_destroy and
ml_single_close APIs.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
3 years ago[C-API] Fix the occasional Segmentation fault in test case.
Sangjung Woo [Fri, 18 Dec 2020 08:09:11 +0000 (17:09 +0900)]
[C-API] Fix the occasional Segmentation fault in test case.

When calling `ml_single_invoke()` after set the timeout option,
`ml_single_close()` should be called before destorying the inference
data. If not, the inference engine might try to access the data, which
is already freed by `ml_tensors_data_destroy()`.

This patch updates the related test cases.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
3 years ago[Dist/gRPC] Create per-IDL grpc packages
Dongju Chae [Fri, 18 Dec 2020 07:07:37 +0000 (16:07 +0900)]
[Dist/gRPC] Create per-IDL grpc packages

This patch creates per-IDL grpc packages to resolve dependency issues.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years ago[Test] fix deprecated method
Jaeyun [Wed, 13 Jan 2021 10:08:13 +0000 (19:08 +0900)]
[Test] fix deprecated method

tostring() method was deprecated from python v3.2.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Filter/Python] pycore lib name
Jaeyun [Wed, 13 Jan 2021 09:29:09 +0000 (18:29 +0900)]
[Filter/Python] pycore lib name

fix pycore lib name format (failure on v3.9)

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Android/test] Add test for pytorch in Android
Yongjoo Ahn [Thu, 31 Dec 2020 08:52:25 +0000 (17:52 +0900)]
[Android/test] Add test for pytorch in Android

- Add a image classification test for SingleShot and Pipeline API using
  PyTorch sub-plugin

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years ago[Android/PyTorch] Support pytorch subplugin on Android
Yongjoo Ahn [Thu, 31 Dec 2020 08:51:04 +0000 (17:51 +0900)]
[Android/PyTorch] Support pytorch subplugin on Android

- Support pytorch subplugin on Android

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years ago[Filter] code clean
Jaeyun [Tue, 22 Dec 2020 07:20:08 +0000 (16:20 +0900)]
[Filter] code clean

code clean, add internal function and reduce duplicated code.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Filter] release mem block in combi case
Jaeyun [Mon, 21 Dec 2020 09:46:25 +0000 (18:46 +0900)]
[Filter] release mem block in combi case

Possible res leak in output combination case, release mem block if output tensor is not in the combination list.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Build/Tizen] dependency to check privilege
Jaeyun [Fri, 8 Jan 2021 04:36:51 +0000 (13:36 +0900)]
[Build/Tizen] dependency to check privilege

set dependency to check privilege in tizen build.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[If] install header
Jaeyun [Thu, 7 Jan 2021 10:15:43 +0000 (19:15 +0900)]
[If] install header

add missed header for tensor-if custom callback.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Meson/TensorRT] Fix bugs in resolving dependencies on nvlibs
Wook Song [Wed, 30 Dec 2020 08:28:29 +0000 (17:28 +0900)]
[Meson/TensorRT] Fix bugs in resolving dependencies on nvlibs

The existing logic to resolve dependencies on nvinfer and nvparsers
have bugs as follows:
1) Even though it is failed to find_library(), the declare_dependency()
   creates a valid dependency object that returns True for .found(). For
   this reason, the feature is enabled with some missing libraries.
2) Checking for required header files, NvUffParser.h and NvInfer.h, has
   been omitted.

This patch fixes the above bugs.

Signed-off-by: Wook Song <wook16.song@samsung.com>
3 years ago[Tests/Rate] Fix -Werror=sign-compare errors accepted/tizen/unified/20210108.125849 submit/tizen/20210108.035247
Wook Song [Mon, 28 Dec 2020 10:56:09 +0000 (19:56 +0900)]
[Tests/Rate] Fix -Werror=sign-compare errors

This is a trivial patch to fix -Werror=sign-compare errors in
unittest_rate.

Signed-off-by: Wook Song <wook16.song@samsung.com>
3 years ago[Filter/PyTorch] Use try-catch block when loading pytorch model
Sangjung Woo [Thu, 31 Dec 2020 06:01:27 +0000 (15:01 +0900)]
[Filter/PyTorch] Use try-catch block when loading pytorch model

If null or invalid paramete is passed when loading the pytorch model,
segmentation fault might occur and it makes runtime error. This patch
fixs this bug.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
3 years ago[Spec] Add pytorch & caffe2 filter package and require options
Sangjung Woo [Thu, 31 Dec 2020 02:01:29 +0000 (11:01 +0900)]
[Spec] Add pytorch & caffe2 filter package and require options

Even though `pytorch_support` is enabled, the pytorch filter is not
built since the necessary option is omitted. This patch newly adds the
pytorch & caffe2 filter packages and the requires option.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
wip

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
3 years ago[JOIN] Remove unnecessary code and fix minor bugs
gichan-jang [Tue, 5 Jan 2021 05:03:15 +0000 (14:03 +0900)]
[JOIN] Remove unnecessary code and fix minor bugs

Remove unnecessary code and fix minor bugs.(pass NULL param).

Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
3 years ago[Converter/Sub] sub-plugin name prefix
Jaeyun [Mon, 28 Dec 2020 06:58:51 +0000 (15:58 +0900)]
[Converter/Sub] sub-plugin name prefix

define name prefix of tensor-converter sub-plugins.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Converter] property to print sub-plugin list
Jaeyun [Mon, 28 Dec 2020 06:24:08 +0000 (15:24 +0900)]
[Converter] property to print sub-plugin list

add new property to get the sub-plugins list of tensor-converter.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[CodeClean] element type classification
Jaeyun [Tue, 29 Dec 2020 06:40:06 +0000 (15:40 +0900)]
[CodeClean] element type classification

element name in nnstreamer and general classification of element.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Src/IIO] prevent assertion
Jaeyun [Tue, 29 Dec 2020 07:47:11 +0000 (16:47 +0900)]
[Src/IIO] prevent assertion

prevent assertion, compare no of channles and handle error case.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Filter] change prop name (in/out combi)
Jaeyun [Wed, 23 Dec 2020 07:05:13 +0000 (16:05 +0900)]
[Filter] change prop name (in/out combi)

Change property name for in/out combination and update document.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[If] init property values
Jaeyun [Mon, 28 Dec 2020 09:34:04 +0000 (18:34 +0900)]
[If] init property values

remove unnecessary value and init null to avoid exception case using gst-inspect.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Filter/SNPE] detect dlc file
Jaeyun [Tue, 5 Jan 2021 09:13:27 +0000 (18:13 +0900)]
[Filter/SNPE] detect dlc file

add condition to check .dlc file for auto detection.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[Dist/Debian] Revise 'Build-Depends' to support protobuf (>=3.12)
Wook Song [Wed, 23 Dec 2020 09:46:23 +0000 (18:46 +0900)]
[Dist/Debian] Revise 'Build-Depends' to support protobuf (>=3.12)

This patch revises the 'Build-Depends' field to use the protobuf
v3.12.3, which is provided by nnstreamer/ppa. This also fixes build
failure for Focal (and the laters) on the launchpad because of unmet
dependencies related to protobuf-compiler17.

Signed-off-by: Wook Song <wook16.song@samsung.com>
3 years ago[TEST/SSAT] Print progress log
gichan-jang [Tue, 22 Dec 2020 05:12:04 +0000 (14:12 +0900)]
[TEST/SSAT] Print progress log

Because the SSAT result is printed after the tests are finished, the test results are not printed in deadlock status.
Change to print the progress logs.

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
3 years ago[Tools/Parser] Parser Rule #4: chain/openchain with URL
MyungJoo Ham [Mon, 23 Nov 2020 10:33:52 +0000 (19:33 +0900)]
[Tools/Parser] Parser Rule #4: chain/openchain with URL

Replacing GST methods with parser-only logic:
Rule 4 includes:
chain: openchain link PARSE_URL
openchain: PARSE_URL

With Rule 4, uri-element make is created.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 years ago[CAPI] Wait until the pipeline state is changed accepted/tizen/unified/20201222.122524 submit/tizen/20201222.073053
Dongju Chae [Wed, 16 Dec 2020 10:05:11 +0000 (19:05 +0900)]
[CAPI] Wait until the pipeline state is changed

This patch fixes a potential danger after ml_pipeline_construct()
is called. As ml_pipeline_construct() does not wait the pipeline
state change, the following APIs such as set_property may affect
the initial pipeline processing with dummy data (even if the pipe
line is not started).

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years ago[C-API] Add tensor_if custom usage example
gichan-jang [Fri, 18 Dec 2020 00:33:55 +0000 (09:33 +0900)]
[C-API] Add tensor_if custom usage example

Add tensor_if custom condition usage example.

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
3 years ago[TEST] Add tizen capi test for tensor_if custom
gichan-jang [Thu, 17 Dec 2020 06:03:35 +0000 (15:03 +0900)]
[TEST] Add tizen capi test for tensor_if custom

Add tizen CAPI test for tensor_if custom

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
3 years ago[C-API] If custom condition implementation
gichan-jang [Thu, 17 Dec 2020 04:29:23 +0000 (13:29 +0900)]
[C-API] If custom condition implementation

If the if-condition is complex and cannot be expressed with tensor_if expressions, user can define custom condition.

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
3 years ago[Android/doc] Add guide for using model file in scoped storage
Yongjoo Ahn [Mon, 21 Dec 2020 04:04:11 +0000 (13:04 +0900)]
[Android/doc] Add guide for using model file in scoped storage

- Add guide for providing model file to NNS Java API with scoped storage
- Fix guide for tflite nnapi delegate

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 years ago[gRPC/Fix] Decoupling gRPC IDL dependencies
Dongju Chae [Tue, 15 Dec 2020 04:25:52 +0000 (13:25 +0900)]
[gRPC/Fix] Decoupling gRPC IDL dependencies

This patch seperates gRPC IDL dependencies (protobuf/flatbuf) using
dlopen(). From now on, gRPC plugin does not have mandatory dependencies
for its IDLs.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
3 years ago[Android/Build] remove unnecessary lib for nnapi accepted/tizen/unified/20201221.122653 submit/tizen/20201218.044311
Jaeyun [Thu, 17 Dec 2020 08:20:26 +0000 (17:20 +0900)]
[Android/Build] remove unnecessary lib for nnapi

NNFW internally uses nnapi library, this can break tf-lite nnapi option on android-11.
Remove this when building with NNFW.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
3 years ago[C-API] fix C-API header
Jaeyun [Thu, 17 Dec 2020 10:24:51 +0000 (19:24 +0900)]
[C-API] fix C-API header

Fix API headers with the script in API design guide.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>