platform/upstream/nnstreamer.git
4 years ago[Ext/Filter/Meson/MVNC] Use functions added after 0.44 and 0.47
Wook Song [Thu, 7 Nov 2019 04:49:52 +0000 (13:49 +0900)]
[Ext/Filter/Meson/MVNC] Use functions added after 0.44 and 0.47

As the minimum version required is changed to 0.50.0, this patch
modifies the meson build scriptlet for the MVNC tensor_filter extension
to use functions such as warning() and check_header() added after 0.44
and 0.47, respectively, as well.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years agoTensor-src-tizensensor: add get/set properties
MyungJoo Ham [Tue, 12 Nov 2019 10:30:27 +0000 (19:30 +0900)]
Tensor-src-tizensensor: add get/set properties

This adds get/set property methods for tizen sensor extension plugin.

This should follow #1857 and addresses #1143

Changes in v2:
- As suggested by @kparichay, state rollbacks are added
- Do not reconfigure if it's not configured.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[CAPI] Add enum for incoming NPU hardware
MyungJoo Ham [Tue, 19 Nov 2019 06:19:24 +0000 (15:19 +0900)]
[CAPI] Add enum for incoming NPU hardware

We will be supporting new NPU hardware along with
its userspace libraries.

Prepare enum spaces for them for future development.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Test] dimension in testcases
Jaeyun [Mon, 18 Nov 2019 11:26:59 +0000 (20:26 +0900)]
[Test] dimension in testcases

clearly denotes the dimension of in/out tensor in testcases.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[tensor_filter/plugin] Update for supporting various accelerators
Parichay Kapoor [Thu, 7 Nov 2019 07:00:03 +0000 (16:00 +0900)]
[tensor_filter/plugin] Update for supporting various accelerators

Added update to support various accelerators for tensor filters
Updated tensorflow-lite nnapi setting based on these accelerators
Added testcases for tensorflow-lite

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[spec/meson] Update nnstreamer package to support c++14 language standard accepted/tizen/unified/20191122.122422 submit/tizen/20191122.042556
Parichay Kapoor [Wed, 20 Nov 2019 07:31:51 +0000 (16:31 +0900)]
[spec/meson] Update nnstreamer package to support c++14 language standard

Update nnstreamer package to support c++14 language standard
This is primarily needed to support armnn tensor filter subplugin
armnn headers use c++14 compliant code

V2:
Updated gcc version check for debian
Minimum version of gcc is now 5.4
(this solves the compatibility of gcc with constexpr of c++11 and c++14)

More info in #1817

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Docs] Updated the mirrors for debian build
Parichay Kapoor [Wed, 20 Nov 2019 12:54:44 +0000 (21:54 +0900)]
[Docs] Updated the mirrors for debian build

Updated the mirrors for debian build in the getting-started docs
This now complies with the list of mirrors used by launchpad of nnstreamer

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Tests] Fix Coverity defects in the bmp-to-png tool
Wook Song [Thu, 21 Nov 2019 01:28:30 +0000 (10:28 +0900)]
[Tests] Fix Coverity defects in the bmp-to-png tool

This patch fixes unintended-sign-extension defects reported by Coverity
in the bmp-to-png tool.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Common] change return type
Jaeyun [Wed, 20 Nov 2019 12:07:58 +0000 (21:07 +0900)]
[Common] change return type

change improper return type to get tensor element size/count.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Dist/Tizen] Execute ldconfig after touching .so files
MyungJoo Ham [Mon, 18 Nov 2019 00:19:52 +0000 (09:19 +0900)]
[Dist/Tizen] Execute ldconfig after touching .so files

When .so files are added or removed,
ldconfig should be called.

CC: @jaeyun-jung @again4you : Cherry-pick this for 5.5 release.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[CAPI] By default a new nnfw is "not available"
MyungJoo Ham [Tue, 19 Nov 2019 06:14:03 +0000 (15:14 +0900)]
[CAPI] By default a new nnfw is "not available"

Until we implement its supporting code, assume a new
nnfw is NOT SUPPORTED.

This makes sure that it does not reply "supported" for
arbitrary new NNFWs.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Filter/Caffe2] fix invalid data type
Jaeyun [Tue, 19 Nov 2019 07:25:42 +0000 (16:25 +0900)]
[Filter/Caffe2] fix invalid data type

1. fix invalid tensor meta while running invoke callback
2. add debug messages for tensor meta info

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Github] Remove an unintended blank in the template file for PR
Wook Song [Tue, 19 Nov 2019 01:41:02 +0000 (10:41 +0900)]
[Github] Remove an unintended blank in the template file for PR

This patch removes an unintended blank in the self evaluation section of
the template file for PR.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Test/Src/IIO] Fix coverity defects
Parichay Kapoor [Mon, 18 Nov 2019 04:44:22 +0000 (13:44 +0900)]
[Test/Src/IIO] Fix coverity defects

Fix coverity defects
1. Related to fd resource leak in a macro with assert failure
2. Add more defect fixes already provided in #1859 and #1863 to another location

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[single] Enable flexible input dimension for custom filters
Parichay Kapoor [Fri, 8 Nov 2019 10:22:45 +0000 (19:22 +0900)]
[single] Enable flexible input dimension for custom filters

Enable flexible input dimension for custom filters
Add corresponding unittest
Add GstTensorsInfo init bug fix in tensor_filter_single.c

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years agoNew Element: Tensor_SRC_TizenSensor, Init
MyungJoo Ham [Thu, 7 Nov 2019 09:30:22 +0000 (18:30 +0900)]
New Element: Tensor_SRC_TizenSensor, Init

This element fetches data from Tizen Sensor Framework for NNStreamer.

This commit includes the init parts and shows how it will be built and deployed.
Other function bodies will follow in other commits/PRs.

This addresses #1143

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[nnfw] Fix meson
Parichay Kapoor [Fri, 8 Nov 2019 06:48:08 +0000 (15:48 +0900)]
[nnfw] Fix meson

Fix variables in meson.build for nnfw and nnfw-runtime

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[C-Api] fix invalid sink handle
Jaeyun [Thu, 14 Nov 2019 08:21:38 +0000 (17:21 +0900)]
[C-Api] fix invalid sink handle

When trying to register sink callbacks to same sink element, it returns null handler.
To fix this, allocate new handle and add it  into the handle list.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[CodeClean] cleanup sources and fix mem leak in api
Jaeyun [Wed, 13 Nov 2019 10:27:18 +0000 (19:27 +0900)]
[CodeClean] cleanup sources and fix mem leak in api

1. remove static inline function in header for sam score
2. release handle when called invoke-dynamic
3. return type to validate tensors info
4. add condition to check ncsdk2
5. clean unnecessary code in android native

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[C-API] make other mediatypes available with appsrc
HyoungJoo Ahn [Mon, 11 Nov 2019 09:55:07 +0000 (18:55 +0900)]
[C-API] make other mediatypes available with appsrc

Currently only 'other/tensor' and 'other/tensors' are available for appsrc with C-API. Since there are many mediatypes(video, audio, text, octet) should be used as a src data, and they cannot be used currently, this commit make them available even a partial restriction.

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Tests/Src/IIO] Fix Coverity defects in a macro that generates tests
Wook Song [Tue, 12 Nov 2019 09:10:27 +0000 (18:10 +0900)]
[Tests/Src/IIO] Fix Coverity defects in a macro that generates tests

This patch fixes Coverity defects in GENERATE_TESTS_TO_VERIFY_DATA_WO_TRIGGER,
which is a macro for test generation.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Tests/Src/IIO] Fix defects about resource leak found from Coverity
Wook Song [Tue, 12 Nov 2019 08:10:53 +0000 (17:10 +0900)]
[Tests/Src/IIO] Fix defects about resource leak found from Coverity

This patch fixes those resource leak defects which newly caused by the
previous patch set.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Test/Custom-Easy] A basic unit test case.
MyungJoo Ham [Thu, 7 Nov 2019 01:43:43 +0000 (10:43 +0900)]
[Test/Custom-Easy] A basic unit test case.

A basic unit test (checking if it loads successfully) is added for custom-easy.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Filter/Custom-Easy] Custom-Easy Implementation
MyungJoo Ham [Thu, 24 Oct 2019 11:15:49 +0000 (20:15 +0900)]
[Filter/Custom-Easy] Custom-Easy Implementation

Developers may insert a custom filter with a single C function.
In the future, with C++ wrapper, we can insert a LAMBDA function
to a NNStreamer pipeline with a single-line of code.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[C-API] Remove unnecessary asterisk on header file
Sangjung Woo [Mon, 4 Nov 2019 08:02:10 +0000 (17:02 +0900)]
[C-API] Remove unnecessary asterisk on header file

This patch removes an unnecessary asterisk on header file for doxygen.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[C-API] Support MVNC with Single API
MyungJoo Ham [Tue, 12 Nov 2019 02:05:16 +0000 (11:05 +0900)]
[C-API] Support MVNC with Single API

Let C-API users use Intel NCS.

CC: Wook Song <wook16.song@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Dist] Add Tizen Sensord (sensor-fw) Option
MyungJoo Ham [Thu, 7 Nov 2019 09:30:22 +0000 (18:30 +0900)]
[Dist] Add Tizen Sensord (sensor-fw) Option

Enable Tizen Sensord (/platform/core/system/sensord.git)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Typo] fix typos of tensor_converter.c
HyoungJoo Ahn [Mon, 11 Nov 2019 10:26:14 +0000 (19:26 +0900)]
[Typo] fix typos of tensor_converter.c

fix typos of the `tensor_converter.c` file

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Tests/Source/IIO] Fix defects (CWE-637) found from Coverity
Wook Song [Fri, 8 Nov 2019 15:06:22 +0000 (00:06 +0900)]
[Tests/Source/IIO] Fix defects (CWE-637) found from Coverity

This patch fixes defects related to CWE-637 found from Coverity.

Coverity-scan: CID-263387, CID-263398, CID-263366, CID-263406,
               CID-263410, CID-263372, CID-263390, CID-263361,
       CID-263414

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years agoAdded a badge to display current coverity defects
Geunsik Lim [Fri, 8 Nov 2019 07:26:49 +0000 (16:26 +0900)]
Added a badge to display current coverity defects

This commit is to append a badge to display current defects of Coverity Scan.

**Changelog**
   * Added a badge to display the number of the Coverity Scan defects
   * Added a badge to display the repository size
   * Added a badge to display the Github issues
   * Added a badge to display the PRs

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
4 years ago[android] Added unittests for android API
Parichay Kapoor [Wed, 6 Nov 2019 10:47:07 +0000 (19:47 +0900)]
[android] Added unittests for android API

Added unittests for android API

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[android] Add flexible dimensions support for Android API
Parichay Kapoor [Fri, 25 Oct 2019 10:23:57 +0000 (19:23 +0900)]
[android] Add flexible dimensions support for Android API

Added flexible dimensions support for Android API

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[caffe2] Do first run with try/catch
Parichay Kapoor [Thu, 7 Nov 2019 02:25:25 +0000 (11:25 +0900)]
[caffe2] Do first run with try/catch

First run after configuring the tensor filter with caffe2 framework is now run with a try/catch

Check #180 for more details

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Android] prepare native libs for c-api
Jaeyun [Mon, 4 Nov 2019 10:12:10 +0000 (19:12 +0900)]
[Android] prepare native libs for c-api

update build script to provide native libraries using nnstreamer c-api.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Style] There is a file in DOS format!
MyungJoo Ham [Fri, 8 Nov 2019 03:49:46 +0000 (12:49 +0900)]
[Style] There is a file in DOS format!

Applied dox2unix to a file with DOS text format.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Test/Api] tc with unavailable nnfw
Jaeyun [Wed, 6 Nov 2019 09:13:16 +0000 (18:13 +0900)]
[Test/Api] tc with unavailable nnfw

Add testcase.
If tensorflow is not supported, opening tf model (single api) returns not-supported.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[CodeClean] reduce complexity
Jaeyun [Wed, 30 Oct 2019 10:08:08 +0000 (19:08 +0900)]
[CodeClean] reduce complexity

1. declare function to iterate the elements in pipeline description
2. fix api declaration (params in same line)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[android] Updated README.md
Parichay Kapoor [Wed, 6 Nov 2019 08:28:48 +0000 (17:28 +0900)]
[android] Updated README.md

Added updates to README.md for setting up and building nnstreamer API for android

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[filter/nnfw] Unittest for invoke
Parichay Kapoor [Tue, 5 Nov 2019 02:20:47 +0000 (11:20 +0900)]
[filter/nnfw] Unittest for invoke

Added unittest for invoke for nnfw tensor filter extension
Added unittest for get input/output dimensions
Corresponding bug fixes are also added

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Api/Single] replace single implementation
Jaeyun [Fri, 25 Oct 2019 09:41:36 +0000 (18:41 +0900)]
[Api/Single] replace single implementation

Replace the single api without pipeline, remove old version and clear build script.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[nnfw] Adding nnfw base test for verification
Parichay Kapoor [Tue, 22 Oct 2019 04:49:45 +0000 (13:49 +0900)]
[nnfw] Adding nnfw base test for verification

Added nnfw base testing scenario for verification along with a few bug fixes
NNFW repo has been updated to test with cpu backend
However, that patch has not been uploaded to main tizen repo
So, in order to test this patch, clone nnfw repo and build locally
Also, building nnfw repo installs libbackend_acl_cl.so in /usr/lib in emulator
Delete this file to test nnstreamer with cpu backend with nnfw successfully

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Filter/Custom-Easy-C] Prototype of Custom-Easy Tensor Function
MyungJoo Ham [Thu, 24 Oct 2019 10:51:31 +0000 (19:51 +0900)]
[Filter/Custom-Easy-C] Prototype of Custom-Easy Tensor Function

This allows to define a custom-filter (C) easily.
This will be especially helpful for C/C++ application writers.
The same approach may be implemented for C#/Java for Tizen.NET and Android app writers.

Change-Id: Id1ff43424283c217c0688e91b919ade99e3cc134
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Doc] Guide: how to write .NET Application
Sangjung Woo [Thu, 17 Oct 2019 07:10:16 +0000 (16:10 +0900)]
[Doc] Guide: how to write .NET Application

This patch newly adds the guide for writing .NET Application with
Machine Learning APIs.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years ago[Doc] Update document
gichan-jang [Mon, 28 Oct 2019 05:54:08 +0000 (14:54 +0900)]
[Doc] Update document

Update document for planned feature.

Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
4 years ago[CAPI/DOCS] upload the first version of guide doc
HyoungJoo Ahn [Thu, 17 Oct 2019 12:17:57 +0000 (21:17 +0900)]
[CAPI/DOCS] upload the first version of guide doc

this is the first version of guide doc

Signed-off-by: HyoungJoo Ahn <hello.ahn@samsung.com>
4 years ago[Android/Api] enum for pipeline type
Jaeyun [Tue, 29 Oct 2019 02:29:56 +0000 (11:29 +0900)]
[Android/Api] enum for pipeline type

define enum for pipeline and element type, remove string compare.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Api] error code for no-mem
Jaeyun [Mon, 28 Oct 2019 11:04:32 +0000 (20:04 +0900)]
[Api] error code for no-mem

define error code for no-mem case.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Meson] Refactor the logic that checks dependencies on numpy
Wook Song [Mon, 28 Oct 2019 01:17:53 +0000 (10:17 +0900)]
[Meson] Refactor the logic that checks dependencies on numpy

This patch refactors the logic that checks dependencies on numpy.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Android] set library name in build script
Jaeyun [Fri, 25 Oct 2019 04:09:56 +0000 (13:09 +0900)]
[Android] set library name in build script

change the build option 'lite' and add library name with given options.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Coverage] source path for coverage report
Jaeyun [Thu, 24 Oct 2019 08:23:56 +0000 (17:23 +0900)]
[Coverage] source path for coverage report

fix the cpp filter-subplugin path for test coverage report.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[single] More inline functions for flexible dimensions
Parichay Kapoor [Mon, 21 Oct 2019 10:28:44 +0000 (19:28 +0900)]
[single] More inline functions for flexible dimensions

Added extra inline funcitons to provide easier API for dyanmic input dimensions

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Filter/Custom] Fix compiler complaints
MyungJoo Ham [Fri, 25 Oct 2019 06:23:08 +0000 (15:23 +0900)]
[Filter/Custom] Fix compiler complaints

Recent TAOS-CI/Android complains:

.../tensor_filter_custom.c: In function 'custom_loadlib':
.../tensor_filter_custom.c:95:15: warning: assignment discards 'const' qualifier from pointer target type
   dlsym_error = dlerror ();
               ^

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Build] Include pip include path to find numpy
Injae Kang [Fri, 25 Oct 2019 11:31:29 +0000 (20:31 +0900)]
[Build] Include pip include path to find numpy

When numpy is installed using pip, meson couldn't find
numpy/arrayobject.h

I included pip include path to find numpy.

This patch resolves #1805.

Signed-off-by: Injae Kang <abcinje@gmail.com>
4 years ago[single] unittest for flexible dimension with tflite
Parichay Kapoor [Mon, 21 Oct 2019 04:18:14 +0000 (13:18 +0900)]
[single] unittest for flexible dimension with tflite

Added unittest for flexible dimension with tflite
Added some bug fixes which were missed from previous commits due to commit over-write

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[C-API] Update comment about tizen_error.h
Wook Song [Thu, 24 Oct 2019 14:57:18 +0000 (23:57 +0900)]
[C-API] Update comment about tizen_error.h

This patch updates comment about tizen_error.h in the C-API header.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[API] Remove script and patch files no longer needed
Wook Song [Thu, 24 Oct 2019 14:54:50 +0000 (23:54 +0900)]
[API] Remove script and patch files no longer needed

After the mock tinze_error.h is added, the script and patch files for
modification nnstreamer.h at build time are no longer needed. This patch
removes those files as well.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[API/Android] Modify build script to use the mock tizen_error header
Wook Song [Thu, 24 Oct 2019 14:49:10 +0000 (23:49 +0900)]
[API/Android] Modify build script to use the mock tizen_error header

This patch modifies the build script for Android API to use mock
tizen_error.h, recently added.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Tests/Meson] Add missing line continuation
Wook Song [Mon, 21 Oct 2019 15:10:35 +0000 (00:10 +0900)]
[Tests/Meson] Add missing line continuation

In the meson build script, there are missing line continuations that
break building. This patch fixes this issue.

Related to https://github.com/mesonbuild/meson/issues/4720
See also: https://github.com/mesonbuild/meson/commit/90c9b868b20b11bb089fc5e0c634d5ed76fea0cb

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Tests/Sink] Format code style using gst-indent
Wook Song [Mon, 21 Oct 2019 14:16:06 +0000 (23:16 +0900)]
[Tests/Sink] Format code style using gst-indent

This patch formats code style of unittest_sink that contains legacy
using gst-indent.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Tests/Sink] Add a command-line option to control pipeline's speed
Wook Song [Mon, 21 Oct 2019 14:13:08 +0000 (23:13 +0900)]
[Tests/Sink] Add a command-line option to control pipeline's speed

In order to control the speed of tests made of videotestsrc-based single
pipeline this patch adds a command-line option.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Tests/Sink] Add jitter between start and stop pipeline
Wook Song [Thu, 17 Oct 2019 06:48:05 +0000 (15:48 +0900)]
[Tests/Sink] Add jitter between start and stop pipeline

In some low performance machine such as VMs in the cloud, test cases in
unittest_sink are failed since they cannot finish their job until the
pipeline is stopped. To work around this issue, this patch adds jitter
between start and stop pipeline.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[C-API] Use mock header instead of Tizen dependent one
Wook Song [Thu, 24 Oct 2019 09:02:49 +0000 (18:02 +0900)]
[C-API] Use mock header instead of Tizen dependent one

In order to build C-API for Non-Tizen platforms, nnstreamer.h should be
modified at build time to emulate some Tizen-dependent symbols.
Instead, this patch adds a mock header, tizen_error.h, which emulates
those symbols and includes needed system header. Therefore, it is
possible to build C-API by adding this header to the build tree when
enabling C-API for Non-Tizen platform.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[C-API] Add a platform-dependent header emulating tizen-error.h
Wook Song [Thu, 24 Oct 2019 07:33:12 +0000 (16:33 +0900)]
[C-API] Add a platform-dependent header emulating tizen-error.h

This patch adds a platform-dependent header which emulates tizen-error.h
for Non-Tizen platforms. Note that any files under the platform
directory in API's include are filtered out from Tizen packages.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[Dist/Tizen] Add a script that generates tarball for source package
Wook Song [Thu, 24 Oct 2019 07:12:10 +0000 (16:12 +0900)]
[Dist/Tizen] Add a script that generates tarball for source package

For the purpose of filtering out sources which should not be include in
Tizen packages, this patch adds a script for generating source tarball
at build time.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years ago[single] Fix possible svace issue later
Parichay Kapoor [Thu, 24 Oct 2019 05:15:04 +0000 (14:15 +0900)]
[single] Fix possible svace issue later

Fix possible svace issue later
https://github.com/nnsuite/nnstreamer/pull/1787#discussion_r337823705

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Meson] update required meson version
Jaeyun [Wed, 23 Oct 2019 03:39:52 +0000 (12:39 +0900)]
[Meson] update required meson version

Set min meson version 0.50 and cleanup the script.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Coverity] fix coverity issues
Jaeyun [Thu, 24 Oct 2019 04:47:29 +0000 (13:47 +0900)]
[Coverity] fix coverity issues

Update code to fix invalid condition and free functions in nnstreamer plugins.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[single] flexible dimension unittest fail fix
Parichay Kapoor [Thu, 24 Oct 2019 05:38:41 +0000 (14:38 +0900)]
[single] flexible dimension unittest fail fix

Added fix for flexible dimension unittest fail fix

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[single] simplify get_tensors_info in single API
Parichay Kapoor [Mon, 21 Oct 2019 03:00:18 +0000 (12:00 +0900)]
[single] simplify get_tensors_info in single API

Added simplification for get_tensors_info in single API implementation
input and output tensors info is stored in single API
This patch updates to use that information than extracting the info again from element

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[single] Implementation of flexible input dimension
Parichay Kapoor [Thu, 17 Oct 2019 10:32:16 +0000 (19:32 +0900)]
[single] Implementation of flexible input dimension

Added implementation of flexible input dimension at the API level
Handling flexible input dimension at the tensor filter extension
scope to be done.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Filter] Enable C++ subplugin build
MyungJoo Ham [Tue, 15 Oct 2019 07:47:03 +0000 (16:47 +0900)]
[Filter] Enable C++ subplugin build

Before adding test cases for C++ filter subplugins,
enable build for Tizen/Ubuntu.

Add enable-cppfilter=true for meson build if you
want to use this feature.

Note that the subplugin is not yet fully implemented
and needs further implementation. Thus, we do not have
testcases, yet.

Changes at v2:
- cppfilter is now default
- added isAllocatedBeforeInvoke() virtual function

Change-Id: I5e1942e0b7c957ceb675bd78496041a888978e65
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[pytorch] Do first run with try/catch
Parichay Kapoor [Tue, 22 Oct 2019 04:27:04 +0000 (13:27 +0900)]
[pytorch] Do first run with try/catch

First run after configuring the tensor filter with pytorch framework
is now run with a try/catch.

Check #1809 for more details.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[TF-Lite] Added setInputDimension
Parichay Kapoor [Fri, 18 Oct 2019 03:41:53 +0000 (12:41 +0900)]
[TF-Lite] Added setInputDimension

Added implementation for setInputDimension
This can allow support for flexible input dimensions
The support is limited to only changing dimensions
Data type for the input or the number of inputs cannot be changed with current TF-Lite API
The rank for the input is allowed to be changed if the model allows
The input dimension can return error if the model does not allow dimension to be changed

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Decoder/Sub] install img segment
Jaeyun [Tue, 22 Oct 2019 10:52:33 +0000 (19:52 +0900)]
[Decoder/Sub] install img segment

Add definition to install image segment subplugin.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Decoder] update callback description
Jaeyun [Tue, 22 Oct 2019 07:21:07 +0000 (16:21 +0900)]
[Decoder] update callback description

Update callback description for decoder sub-plugin.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Decoder/Sub] mem error case in img segment
Jaeyun [Tue, 22 Oct 2019 08:18:00 +0000 (17:18 +0900)]
[Decoder/Sub] mem error case in img segment

1. handle allocation failure case
2. fix possible mem leak to get the out caps
3. add definition to include img segment in android-libray

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Android] add option to build with min plugins
Jaeyun [Mon, 21 Oct 2019 06:28:59 +0000 (15:28 +0900)]
[Android] add option to build with min plugins

Add build option to set target abi and core gstreamer plugins.

For example, to build library with core plugins for arm64
./build-android-lib.sh --api_option=core --target_abi=arm64

This only includes gstreamer core plugins, so library size is under 15MB.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Decoder] Set color to segmented image accoring to label_idx
niklasjang [Sun, 20 Oct 2019 13:00:02 +0000 (06:00 -0700)]
[Decoder] Set color to segmented image accoring to label_idx

Each pixel has a probability of 21 labels.
Apply a color of the label with the highest probability.

Signed-off-by: niklasjang <niklasjang@gmail.com>
Signed-off-by: Jihoon Lee <ulla4571@gmail.com>
4 years ago[Android/Doc] update build guide
Jaeyun [Fri, 18 Oct 2019 05:51:34 +0000 (14:51 +0900)]
[Android/Doc] update build guide

Update build guide with prebuilt gstreamer-1.16.1 binaries.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[single] Added API and skeleton for flexible input dimension
Parichay Kapoor [Thu, 17 Oct 2019 07:48:01 +0000 (16:48 +0900)]
[single] Added API and skeleton for flexible input dimension

Adding support for flexible input dimension
Added API and skeleton for setting input dimension via single API

V2:
Added more description for retval of ML_ERROR_NOT_SUPPORTED in documentation

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Decoder/Meson] Meson build for image segmentation decoder
Jihoon Lee [Sun, 20 Oct 2019 10:58:00 +0000 (19:58 +0900)]
[Decoder/Meson] Meson build for image segmentation decoder

In order to add tensor decoder for image segmentation to build tree,
updates meson build script.

Signed-off-by: niklasjang <niklasjang@gmail.com>
Signed-off-by: Jihoon Lee <ulla4571@gmail.com>
4 years ago[WIP] Tensor decoder for image segmentation
Jihoon Lee [Sun, 20 Oct 2019 10:57:40 +0000 (19:57 +0900)]
[WIP] Tensor decoder for image segmentation

In order to implement tensor decoder for image segmentation,
this patch composes skeleton code for it.

Signed-off-by: niklasjang <niklasjang@gmail.com>
Signed-off-by: Jihoon Lee <ulla4571@gmail.com>
4 years ago[CodeClean] replace meaningless variables
Dongwon Lee [Sun, 20 Oct 2019 07:09:09 +0000 (16:09 +0900)]
[CodeClean] replace meaningless variables
rename a and b to other more meaningful ones.
a -> from, b -> to

Signed-off-by: Dongwon Lee <dongwon1103@naver.com>
4 years ago[Typo] Fix typo
Injae Kang [Sat, 19 Oct 2019 16:50:56 +0000 (01:50 +0900)]
[Typo] Fix typo

This patch fixes typo in packaging/nnstreamer.spec

Signed-off-by: Injae Kang <abcinje@gmail.com>
4 years ago[CodeClean] combine if statements
Junsang Mo [Thu, 17 Oct 2019 12:46:27 +0000 (21:46 +0900)]
[CodeClean] combine if statements
combine if statements in tensor_transform.c.
I confirmed it worked well in example_image_classification_tflite.

Signed-off-by: Junsang Mo <junsang.mo@samsung.com>
4 years agoAdd execution bit of gradlew
이원준 [Fri, 18 Oct 2019 08:30:13 +0000 (17:30 +0900)]
Add execution bit of gradlew
Added excution bit of gradlew to prevent permission denied error.

Signed-off-by: 이원준 <dldnjs1013@nate.com>
4 years ago[Security] handle returned value
Jaeyun [Thu, 17 Oct 2019 04:18:33 +0000 (13:18 +0900)]
[Security] handle returned value

Check mem allocation failure case and refactor file-close in IIO.

This PR is related with ssms-1016-0006.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[tests] Install models/data with tests
Parichay Kapoor [Wed, 16 Oct 2019 04:25:39 +0000 (13:25 +0900)]
[tests] Install models/data with tests

Install models/data with tests correctly when needed
Install tizen-capi-unittest with install-test option

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years agoAdded the coverity badge
Geunsik Lim [Fri, 18 Oct 2019 04:33:21 +0000 (13:33 +0900)]
Added the coverity badge

This commit is to append the badge of the Coverity (static analysis tool).
TODO: the Coverity module of TAOS-CI will be soon enabled in the nnstreamer GitHub repository.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
4 years ago[Security] [Converter] handle text format in chain function
Jaeyun [Thu, 17 Oct 2019 04:39:09 +0000 (13:39 +0900)]
[Security] [Converter] handle text format in chain function

get min block size and use memcpy when input mime-type is text.

This PR is related with ssms-1016-0005.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Security] python lib name format
Jaeyun [Thu, 17 Oct 2019 05:31:30 +0000 (14:31 +0900)]
[Security] python lib name format

Define macro for file format and remove macro(preprocess defines) in the function call.

This PR is related with ssms-1016-0007.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Test] update model in tensor-filter
Jaeyun [Wed, 16 Oct 2019 08:31:31 +0000 (17:31 +0900)]
[Test] update model in tensor-filter

Add testcase to re-open nn model in tensor-filter using gst-harness.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[tests] Locate all models and data together
Parichay Kapoor [Wed, 16 Oct 2019 04:08:53 +0000 (13:08 +0900)]
[tests] Locate all models and data together

Locate all the models and data together for easier management

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[CodeClean]remove duplicates in TFLiteCore::getTensorDim
Junsang Mo [Wed, 16 Oct 2019 11:40:21 +0000 (20:40 +0900)]
[CodeClean]remove duplicates in TFLiteCore::getTensorDim
make a variable for interpreter->tensor (tensor_idx)->dims.
replace interpreter->tensor (tensor_idx)->dims with the variable.

Signed-off-by: Junsang Mo <junsang.mo@samsung.com>
4 years ago[Doc] fix doxygen link
Jaeyun [Wed, 16 Oct 2019 03:52:25 +0000 (12:52 +0900)]
[Doc] fix doxygen link

update doc-doxygen, fix the linked url.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Coverity/1087163] Fix dereference before null check
MyungJoo Ham [Tue, 15 Oct 2019 10:57:48 +0000 (19:57 +0900)]
[Coverity/1087163] Fix dereference before null check

This intends to fix:
```
There may be a null pointer dereference, or else the comparison against null is unnecessary.

In ml_tensors_data_create: All paths that lead to this null pointer comparison already dereference the pointer earlier (CWE-476)
```

It appears that Coverity hates defensive coding.

This adds missing free on _data as well.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[tizen/nnfw] Add invoke for nnfw
Parichay Kapoor [Fri, 11 Oct 2019 04:12:51 +0000 (13:12 +0900)]
[tizen/nnfw] Add invoke for nnfw

Added invoke implementation for nnfw along with some bug fixes

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Security] returned value to compare str
Jaeyun [Tue, 15 Oct 2019 02:33:50 +0000 (11:33 +0900)]
[Security] returned value to compare str

Add one more commit for string compare, check returned value.

EXP20-C. Perform explicit tests to determine success, true and false, and equality

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Android] add log to print version string
Jaeyun [Tue, 15 Oct 2019 03:33:14 +0000 (12:33 +0900)]
[Android] add log to print version string

add log to print nnstreamer, gstreamer and glib version info.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Doc] fix typo and link
Jaeyun [Tue, 15 Oct 2019 04:38:58 +0000 (13:38 +0900)]
[Doc] fix typo and link

Update docs (fix links and typo in document)

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