platform/upstream/nnstreamer.git
4 years agoConverters: support external subplugins
MyungJoo Ham [Fri, 6 Dec 2019 02:38:00 +0000 (11:38 +0900)]
Converters: support external subplugins

Allow to add external converters in run-time as subplugins.

Policies to be determined:
- Build & integration policies for external converters.
- Would we allow a few "basic" external converters available by default? (without dlopen)
- Tizen feature keys and privileges along with "NOT SUPPORTED" handling.
- Which profiles would use which of external converters?

TODO:
- Implement multiple external subplugins for unit tests

Changes in V2:
- Typo fixed (comments)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years agoUnitTest: Tensor-src-tizensensor / Initial test cases
MyungJoo Ham [Tue, 26 Nov 2019 09:42:06 +0000 (18:42 +0900)]
UnitTest: Tensor-src-tizensensor / Initial test cases

1. Unit tests are added.
2. dummy_sensor.c/h offers dummy Tizen sensor framework for unit tests,
where we cannot activate Tizen sensor framework daemon.
3. Bugs were found with the unit tests and they are fixed.
    - g_hash_table misuses
    - property configuration errors
    - frequency (framerate) handling
    - Clean up and configured-status handling
    - Mutex deadlock
    - Timestamp handling

Changes v1->v2:
- Use G_USEC_PER_SEC for readability, suggested by dongju.chae@samsung.com
Changes v2->v3:
- Added error-clear in testcase, suggested by dongju.chae@samsung.com
- Removed unnecessary code (residue of internal tests), suggested by jy1210.jung@samsung.com
Changes v3->v4:
- Added free ops for pipelines, removed duplicated codes, suggested by jy1210.jung@samsung.com

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Filter] property description
Jaeyun [Thu, 12 Dec 2019 08:57:30 +0000 (17:57 +0900)]
[Filter] property description

Remove unnecessary space in the description.
(Using gst-inspect, the property model shows unnecessary space)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[nnfw] nnfw fix for aarch64
Parichay Kapoor [Thu, 12 Dec 2019 05:55:42 +0000 (14:55 +0900)]
[nnfw] nnfw fix for aarch64

This PR adds temporary fix for aarch64 enabling successful build and
testing of nnfw plugin for nnstreamer

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[CONF] Remove unnecessary g_key_file_free()
Dongju Chae [Thu, 12 Dec 2019 04:30:19 +0000 (13:30 +0900)]
[CONF] Remove unnecessary g_key_file_free()

This commit removes unnecessary g_key_file_free() because g_autoptr
already provides cleanup process. This bug was detected by valgrind.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
4 years agoDoc/Contributing: update code quality standards
MyungJoo Ham [Thu, 12 Dec 2019 06:51:48 +0000 (15:51 +0900)]
Doc/Contributing: update code quality standards

Let's describe the standards we are already enforcing.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Android] add asset dir for native library
Jaeyun [Mon, 9 Dec 2019 12:47:41 +0000 (21:47 +0900)]
[Android] add asset dir for native library

Add asset dir for native library.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[nnfw/single/test] Add tests for nnfw with single API
Parichay Kapoor [Fri, 8 Nov 2019 07:30:51 +0000 (16:30 +0900)]
[nnfw/single/test] Add tests for nnfw with single API

Add invoke test for nnfw with single API

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[nnfw/single] Enable nnfw with single API
Parichay Kapoor [Fri, 8 Nov 2019 07:29:13 +0000 (16:29 +0900)]
[nnfw/single] Enable nnfw with single API

- Enable nnfw with single API
- nnfw and tensorflow-lite both support tflite extensions
Added meson option to set default behavior which prioritizes tensorflow-lite

V2:
- Add check for availibilty of nnfw after assigning nnfw in case of ML_NNFW_TYPE_ANY

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[nnfw] update nnfw model dir path to model file path
Parichay Kapoor [Fri, 8 Nov 2019 07:26:01 +0000 (16:26 +0900)]
[nnfw] update nnfw model dir path to model file path

Update the nnfw framework input model format to work with file path
nnfw framework takes in model directory path
Directory path is extracted from file path
Metadata is verified in the extracted directory path

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[C-Api/Single] check invalid tensor info
Jaeyun [Wed, 4 Dec 2019 04:16:03 +0000 (13:16 +0900)]
[C-Api/Single] check invalid tensor info

Check input/output tensor info when opening the nn model.
If given info is not matched with model, try to change input info for dynamic mode.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[C-Api] update util functions
Jaeyun [Fri, 15 Nov 2019 06:28:32 +0000 (15:28 +0900)]
[C-Api] update util functions

1. add new function to compare tensors metadata (type, dimension)
2. refactor function to create tensors data handle

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[FIX] Add a missing g_clear_error() in unittest_sink.cpp
Dongju Chae [Wed, 11 Dec 2019 01:15:27 +0000 (10:15 +0900)]
[FIX] Add a missing g_clear_error() in unittest_sink.cpp

This commit adds a missing g_clear_error() in unittest_sink.cpp.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
4 years ago[TensorFilter] Add Add a callback of tensor filter for model update in runtime
Dongju Chae [Mon, 9 Dec 2019 11:17:11 +0000 (20:17 +0900)]
[TensorFilter] Add Add a callback of tensor filter for model update in runtime

This commit adds a callback, reloadModel(), of tensor filter for model
update in runtime. When the model property is updated, this callback
will be called if is-updatable is TRUE.

Also, it adds an event handler to update a model in the same pipeline.
On receiving a model update event, it calls set_property() of PROP_MODEL.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
4 years ago[PROP/MODEL] Revise the model property to support multiple model files
Dongju Chae [Mon, 9 Dec 2019 09:18:56 +0000 (18:18 +0900)]
[PROP/MODEL] Revise the model property to support multiple model files

This commit revises the model property to support multiple model files.
Also, tensor_filter_common.c now does not handle FW-specific model file
semantic (e.g., pred/init files).

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
4 years agoTensor-src-tizensensor: fixes (style & build)
MyungJoo Ham [Thu, 21 Nov 2019 09:35:40 +0000 (18:35 +0900)]
Tensor-src-tizensensor: fixes (style & build)

- Style fixes applied
- Fixed meson.build bug
- Fixed all the build errors and warnings of tizensensor.

v2
- Removed names from tensorinfo tempaltes.
- Use gst_tensor_get_dimension_string()

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[DIST/DEBIAN] Add a missing debian package for nnstreamer-caffe2
Dongju Chae [Mon, 9 Dec 2019 07:42:22 +0000 (16:42 +0900)]
[DIST/DEBIAN] Add a missing debian package for nnstreamer-caffe2

This commit adds a missing debian package for nnstreamer-caffe2.
Note that it has the dependency on pytorch.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
4 years agoRemove nnfw default backend configuration accepted/tizen/unified/20191209.144035 accepted/tizen/unified/20191210.051307 submit/tizen/20191209.091506 submit/tizen/20191210.012644 submit/tizen/20191210.033651
Chunseok Lee [Mon, 9 Dec 2019 08:19:03 +0000 (17:19 +0900)]
Remove nnfw default backend configuration

Now, nnfw will use available backend. Thus, no need to configure default backend manually.

**Self evaluation:**
Test on gbs build:

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

Signed-off-by: Chunseok Lee <chunseok.lee@samsung.com>
4 years ago[FIX] Fix a typo of nnstreamer-cpp package in debian/control
Dongju Chae [Mon, 9 Dec 2019 04:07:55 +0000 (13:07 +0900)]
[FIX] Fix a typo of nnstreamer-cpp package in debian/control

This commit fixes a typo of nnstreamer-cpp package in debian/control.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
4 years agoDoc: update component implementation status
MyungJoo Ham [Thu, 5 Dec 2019 07:43:14 +0000 (16:43 +0900)]
Doc: update component implementation status

The component descriptions were obsolete. Update them.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years agoTensor-src-tizensensor: complete initial implementation.
MyungJoo Ham [Wed, 13 Nov 2019 12:19:11 +0000 (21:19 +0900)]
Tensor-src-tizensensor: complete initial implementation.

All the required callbacks are implemented.

Next step: write test cases.

This addresses #1143

Changes in v2:
- use g_get_monotonic_time instead of clock_get_time
Suggested-by: Jaeyun Jung <jy1210.jung@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[CodeClean] cleanup duplicated and update testcases
Jaeyun [Fri, 29 Nov 2019 08:12:54 +0000 (17:12 +0900)]
[CodeClean] cleanup duplicated and update testcases

1. remove duplicated condition and fix invalid comment
2. add tc to check tensor info

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years agoTensor-src-tizensensor: fill gst callbacks, Tizen sensor-fw APIs
MyungJoo Ham [Wed, 13 Nov 2019 12:19:11 +0000 (21:19 +0900)]
Tensor-src-tizensensor: fill gst callbacks, Tizen sensor-fw APIs

- Added Tizen sensor-framework mechanisms (sensor-listeners)
- Added get/set/fixate caps callbacks of Gst.
- Revised a few data structures.

This addresses #1143

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Dist/Tizen] Fix integration error with libarmcl accepted/tizen/unified/20191204.042059 submit/tizen/20191203.102344
MyungJoo Ham [Wed, 4 Dec 2019 01:48:37 +0000 (10:48 +0900)]
[Dist/Tizen] Fix integration error with libarmcl

With recent changes in the dependencies between
libarmcl and nnfw, nnfw incurs have-choice-for
errors for its users.

Fixing this requires some overlap periods for the
integration system; thus, we need this workaround for a while
until the OBS eliminates obsolete packages (libarmcl-release)

This is to be group-SR'ed with armcl.git in Tizen;
thus, this won't be able to pass CI-Tizen build until
everything gets fixed up.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[PROP] Add new tensor filter prop to indicate a model is updatable
Dongju Chae [Mon, 2 Dec 2019 10:19:10 +0000 (19:19 +0900)]
[PROP] Add new tensor filter prop to indicate a model is updatable

This commit adds new tensor filter property to indicate a given model
to a tensor filter is updatable or not. The default value is False.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
4 years ago[Transform] init 0 for mode enum-value
Jaeyun [Fri, 29 Nov 2019 09:46:58 +0000 (18:46 +0900)]
[Transform] init 0 for mode enum-value

init 0 to register the enum-value for transform mode option.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Common] condition to compare tensor info
Jaeyun [Thu, 28 Nov 2019 10:57:55 +0000 (19:57 +0900)]
[Common] condition to compare tensor info

1. validate tensor info when comparing the structure.
2. fix invalid doxygen tag.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[Docs] Update the link for Tizen
Sangjung Woo [Mon, 2 Dec 2019 02:19:38 +0000 (11:19 +0900)]
[Docs] Update the link for Tizen

This patch updates the URL for Tizen API and its related link.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 years agoTensor-src-tizensensor: fill minor gst callbacks accepted/tizen/unified/20191129.033510 submit/tizen/20191128.132227
MyungJoo Ham [Tue, 12 Nov 2019 11:14:26 +0000 (20:14 +0900)]
Tensor-src-tizensensor: fill minor gst callbacks

- finalize, start, stop, is_seekable filled.
- Internal static functions are partially filled for future direction.

This should follow #1864 and addresses #1143

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 years ago[Doc] dimension in converter
Jaeyun [Thu, 28 Nov 2019 06:02:07 +0000 (15:02 +0900)]
[Doc] dimension in converter

update docs about the dimension of each media stream.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[CodeClean/Test] free log-file str
Jaeyun [Tue, 26 Nov 2019 03:45:18 +0000 (12:45 +0900)]
[CodeClean/Test] free log-file str

free log-file name str in clean-dev function.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 years ago[IIO/test/coverity] Resolve coverity issues
Parichay Kapoor [Thu, 21 Nov 2019 01:21:26 +0000 (10:21 +0900)]
[IIO/test/coverity] Resolve coverity issues

Added more checks coherent with in #1859 and #1863 to another location

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[tests/coverity] Fix coverity issues related to gtest main
Parichay Kapoor [Thu, 21 Nov 2019 01:44:21 +0000 (10:44 +0900)]
[tests/coverity] Fix coverity issues related to gtest main

Add try/catch for exceptions thrown by function calls in main bosy when using gtest

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
4 years ago[Dist/Tizen] Enable nnstreamer-ncsdk2
Wook Song [Thu, 7 Nov 2019 06:46:55 +0000 (15:46 +0900)]
[Dist/Tizen] Enable nnstreamer-ncsdk2

This patch enables the tensor filter extension for Intel Movidius Neural
Compute stick SDK2 (NCSDK2) in Tizen.

Signed-off-by: Wook Song <wook16.song@samsung.com>
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>