platform/upstream/nnstreamer.git
5 years ago[CAPI] Beautify CAPI Generality Support
MyungJoo Ham [Fri, 14 Jun 2019 04:06:38 +0000 (13:06 +0900)]
[CAPI] Beautify CAPI Generality Support

While the default CAPI header is focussed on Tizen,
if "-Denable-tizen=false", the CAPI header becomes
non-Tizen, which does not require any Tizen packages.

1. Beautify by not using .spec for sed (support non-RPM packages)
2. Beautify by not using unnecessary header in nnstreamer.h
3. Beautify by adding enable-tizen meson option.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test/CAPI] Fix sign-ness mismatch
MyungJoo Ham [Fri, 14 Jun 2019 04:05:39 +0000 (13:05 +0900)]
[Test/CAPI] Fix sign-ness mismatch

Add 'U' postfix for numbers required to be unsigned.
This fixes CAPI unittest build errors in Ubuntu.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Subplugin] define function to find subplugin
Jaeyun [Thu, 13 Jun 2019 03:29:02 +0000 (12:29 +0900)]
[Subplugin] define function to find subplugin

1. add definition to find filter/decoder sub-plugins instance.
2. check duplicated name when registering sub-plugin.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/Api] Reorganize API directory
Sangjung Woo [Thu, 13 Jun 2019 06:20:01 +0000 (15:20 +0900)]
[Tizen/Api] Reorganize API directory

Since previous 'tizen-api' directory only supports Tizen CAPI, this
patch reorganizes directory structure to support multiple platform APIs
as below.

  NNStreamer - api - capi
                   ` java

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/Api] Remove Tizen dependency from CAPI set
Sangjung Woo [Thu, 13 Jun 2019 06:01:51 +0000 (15:01 +0900)]
[Tizen/Api] Remove Tizen dependency from CAPI set

Since NNStreamer CAPI will be used for Android, Tizen and Linux distro,
this patch removes the Tizen dependency from API set. Detailed works are
as below.

* Support multiple Log environment such as Android, Tizen and Linux
  distro instead of dlog API.
* Use the standard error code instead of that of Tizen.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Filter/Caffe2] initial commit for caffe2
Hyoung Joo Ahn [Wed, 5 Jun 2019 09:02:45 +0000 (18:02 +0900)]
[Filter/Caffe2] initial commit for caffe2

it will be updated after packaging pytorch properly and example & test also

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[Tizen/Api] add common utilities and change name prefix
Jaeyun [Mon, 10 Jun 2019 06:55:16 +0000 (15:55 +0900)]
[Tizen/Api] add common utilities and change name prefix

1. Define new functions to handle tensor data and refactor api functions.
2. Update api description.
3. Add testcases using custom filter.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/Api] change callback param for tensors
Jaeyun [Mon, 10 Jun 2019 00:57:16 +0000 (09:57 +0900)]
[Tizen/Api] change callback param for tensors

Change tensors data struct and set callback with tensors data (sink and appsrc)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Source/AMC] Source element for Android MediaCodec (AMC)
Dongju Chae [Thu, 16 May 2019 03:31:07 +0000 (12:31 +0900)]
[Source/AMC] Source element for Android MediaCodec (AMC)

This commit implements a source element for Android MediaCodec (AMC)

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Typo] fix a minor typo of comment
Hyoung Joo Ahn [Mon, 10 Jun 2019 05:41:50 +0000 (14:41 +0900)]
[Typo] fix a minor typo of comment

fix a minor typo of comment

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[Dist] typo fix $ --> %
MyungJoo Ham [Thu, 6 Jun 2019 12:49:20 +0000 (08:49 -0400)]
[Dist] typo fix $ --> %

% is the macro character in RPM/spec. $ is a typo.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test] move data files to model directory
Jaeyun [Tue, 4 Jun 2019 09:45:21 +0000 (18:45 +0900)]
[Test] move data files to model directory

Move files to data directory and remove duplicated.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/Api] change name prefix
Jaeyun [Wed, 5 Jun 2019 11:31:26 +0000 (20:31 +0900)]
[Tizen/Api] change name prefix

change function name and param prefix to ml

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter] add the model path parser
Hyoung Joo Ahn [Mon, 27 May 2019 07:37:15 +0000 (16:37 +0900)]
[Filter] add the model path parser

Since caffe2 require 2 model files(init, prediction) the model path option should handle the complicated input string

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[pytorch] Added pytorch subplugin support
Parichay Kapoor [Wed, 15 May 2019 04:50:57 +0000 (13:50 +0900)]
[pytorch] Added pytorch subplugin support

1. Added pytorch subplugin support to run inference of networks
2. Added support to run on gpu for the inference
3. Added test cases for the subplugin

Added a sample file torch saved file used to test the code

V2:
Add pytorch in nnstreamer.mk
install pytorch tests
add nnstreamer-pytorch package

V3:
Disable pytorch for tizen build until its supported

V4:
Disable pytorch tests when disabling pytorch builda

V5:
Corrected variable in spec file
Explanation for enable-pytorch-use-gpu option

V6:
Using mnist based unit-test case instead of imagenet based model
to reduce the model file size in use

V7:
Using input and output properties of tensorfilter than specify in
the model file

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years agoUpdate .gitignore to ignore files generated by Visual Studio
Sangjung Woo [Wed, 5 Jun 2019 08:10:32 +0000 (17:10 +0900)]
Update .gitignore to ignore files generated by Visual Studio

This patch updates .gitignore to exclude files generated by Visual
Studio for C# APIs.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/Api] basic implementation for single shot
Jaeyun [Tue, 4 Jun 2019 07:49:55 +0000 (16:49 +0900)]
[Tizen/Api] basic implementation for single shot

Add base code for single shot model.
Update .spec and add simple testcases.

TODO: update name rules (function names and common util)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/API] Use function instead of API in documentation
Sangjung Woo [Mon, 3 Jun 2019 07:58:49 +0000 (16:58 +0900)]
[Tizen/API] Use function instead of API in documentation

API review scripts recommands to use the word 'function' instead of
'API' in documentation as below. So this patch fixes this issue.

Are you sure "API" in this case shouldn't be "function"? If this
sentence refers to a single function, not a set of functions, it should
be "function".

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/API] Fix the broken link
Sangjung Woo [Mon, 3 Jun 2019 07:48:33 +0000 (16:48 +0900)]
[Tizen/API] Fix the broken link

This patch fixes broken links on the doxygen documentation.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/Api] add appsink to handle sink event
Jaeyun [Mon, 3 Jun 2019 11:16:56 +0000 (20:16 +0900)]
[Tizen/Api] add appsink to handle sink event

1. Register the appsink as a sink element. User can register appsink and tensor-sink as a sink element.
2. Move logging macro to private header.
3. Add testcases to test appsink element.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter/MvNCSDK] Write callbacks for framework invocation
Wook Song [Thu, 30 May 2019 07:52:12 +0000 (16:52 +0900)]
[Filter/MvNCSDK] Write callbacks for framework invocation

This patch fills the body of the callback function for invoke_NN, which
invokes the framework with the given network model.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[WIP. Tizen/API] Simple Single-Shot Inference Low-Level API
MyungJoo Ham [Fri, 29 Mar 2019 05:00:35 +0000 (14:00 +0900)]
[WIP. Tizen/API] Simple Single-Shot Inference Low-Level API

This is quite similar with CoreML/MLModel API, which is the
low-level API for iOS CoreML.

With this, application developers may invoke "inferences"
of a given model with a single data frame without
any pre/post-processings.

The corresponding pipeline will be:

app_src --> tensor_filter --> tensor_sink

with 0/1 framerate.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Typdef] Update doxygen for GstTensorInfo
MyungJoo Ham [Fri, 29 Mar 2019 05:00:04 +0000 (14:00 +0900)]
[Typdef] Update doxygen for GstTensorInfo

name entry is not mandatory for all cases.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Meson] update version info
Jaeyun [Thu, 30 May 2019 08:27:45 +0000 (17:27 +0900)]
[Meson] update version info

update required meson version to 0.42

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter/Python] Fix missing initialization of class members
Dongju Chae [Fri, 31 May 2019 05:03:24 +0000 (14:03 +0900)]
[Filter/Python] Fix missing initialization of class members

This commit updates missing initializations of class member variables

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Test/Api/Tizen] add testcases for params and element
Jaeyun [Thu, 30 May 2019 07:49:00 +0000 (16:49 +0900)]
[Test/Api/Tizen] add testcases for params and element

Add testcases for function params and element switch

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/API] Remove unnecessary todo and TBD items
Sangjung Woo [Thu, 30 May 2019 05:58:16 +0000 (14:58 +0900)]
[Tizen/API] Remove unnecessary todo and TBD items

In order to pass the ACR process, unnecessary information such as `TBD`
or `todo` should be removed in Public header. This patch removes those
things.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Api/Tizen] handle invalid param
Jaeyun [Wed, 29 May 2019 08:01:02 +0000 (17:01 +0900)]
[Api/Tizen] handle invalid param

check the error case of invalid params.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Api/Tizen] change param and enum
Jaeyun [Wed, 29 May 2019 04:49:53 +0000 (13:49 +0900)]
[Api/Tizen] change param and enum

change function param names and enums for acr process

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years agoDevelopment of 0.2.1 RC1 started
MyungJoo Ham [Wed, 29 May 2019 18:53:21 +0000 (14:53 -0400)]
Development of 0.2.1 RC1 started

After the release of 0.2.0, 0.2.1-rc1 is started.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoRelease of NNStreamer 0.2.0 v0.2.0
MyungJoo Ham [Mon, 27 May 2019 10:09:30 +0000 (19:09 +0900)]
Release of NNStreamer 0.2.0

0.1.3 RC has become 0.2.0 as this version is accepted by Tizen 5.5 M1.

- A lot of security issues and bugs fixed (for Tizen 5.5 M1 release)
- Tizen Public C-API Pipeline for 5.5 M1
- Tizen Public C-API SingleShot Prototype
- Yocto/Openembedded layer released
- ROS sink/src
- IIO support
- Android source draft
- Python custom filter
- Android sample application released
- Tensorflow-lite / NNAPI support

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Api/Tizen] unref object after usage
Jaeyun [Tue, 28 May 2019 09:38:20 +0000 (18:38 +0900)]
[Api/Tizen] unref object after usage

unref caps and pad data after getting each object

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Api/Tizen] add macro for logging
Jaeyun [Tue, 28 May 2019 08:56:44 +0000 (17:56 +0900)]
[Api/Tizen] add macro for logging

add macros for dlog message and replace all dlog_print()

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Api/Tizen] change function name
Jaeyun [Tue, 28 May 2019 08:30:47 +0000 (17:30 +0900)]
[Api/Tizen] change function name

change function name and indent rule in tizen-capi.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter/MvNCSDK] Write callbacks for getting dimensions of in/out tensor
Wook Song [Mon, 27 May 2019 05:22:13 +0000 (14:22 +0900)]
[Filter/MvNCSDK] Write callbacks for getting dimensions of in/out tensor

This patch fills the bodies of callback functions, getInputDimension and
getOutputDimensions, which return the dimension information of input and
output tensor of this filter.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Filter/MvNCSDK] Implement callbacks for open/close of filter framework
Wook Song [Thu, 23 May 2019 08:55:22 +0000 (17:55 +0900)]
[Filter/MvNCSDK] Implement callbacks for open/close of filter framework

This patch implements callback functions for opening and closing
GstTensorFilterFramework for the Intel Movidius Neural Compute Stick
sub-plugin of tensor_filter.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Conf] add option to enable symbolic link
Jaeyun [Mon, 13 May 2019 06:42:39 +0000 (15:42 +0900)]
[Conf] add option to enable symbolic link

In nnstreamer ini, add new option to enable/disable symbolic link.
Add internal function to check a library is available with symlink option.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Decoder] validate sub-plugin data
Jaeyun [Thu, 2 May 2019 12:00:49 +0000 (21:00 +0900)]
[Decoder] validate sub-plugin data

Check decoder sub-plugins data before registration.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[PythonFilter/Testcases] Add some testcases for Python filter
Dongju Chae [Fri, 17 May 2019 08:23:22 +0000 (17:23 +0900)]
[PythonFilter/Testcases] Add some testcases for Python filter

I've added some existing testcases
- passthrough.py
- scaler.py

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Meson] remove unnecessary option
Jaeyun [Mon, 13 May 2019 02:51:48 +0000 (11:51 +0900)]
[Meson] remove unnecessary option

For opencv test, 'enable-opencv-test' is unnecessary option.
Check dependency of opencv pkg and build libraries when found the dependency.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Unittest] GCC7-GTEST compatibility
MyungJoo Ham [Fri, 17 May 2019 07:15:26 +0000 (16:15 +0900)]
[Unittest] GCC7-GTEST compatibility

GCC7 has stricter rules on signed-unsigned comparison.

Update unit-test cases to avoid gtest errors with gcc7.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Conf] add flag to load path from env-var
Jaeyun [Tue, 7 May 2019 08:17:39 +0000 (17:17 +0900)]
[Conf] add flag to load path from env-var

Parse ini file and add sub-plugins path from env-var. (default false)
For unittest, add temorary configuration to read env variables.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[PythonFilter/Build] Update build files for Ubuntu/Tizen packaging
Dongju Chae [Thu, 16 May 2019 06:52:23 +0000 (15:52 +0900)]
[PythonFilter/Build] Update build files for Ubuntu/Tizen packaging

Changed ubuntu/tizen build files to support Python subplugin/api

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Filter/MvNCSDK/Meson] Add a build dependency on NCSDK2
Wook Song [Tue, 14 May 2019 02:51:50 +0000 (11:51 +0900)]
[Filter/MvNCSDK/Meson] Add a build dependency on NCSDK2

In order to use NCSDK v2 in the Intel Movidius Neural Compute Stick
sub-plugin of tensor_filter, this patch adds a build dependency on
it to the meson build script.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Filter] Add skeleton for Intel Movidius Neural Compute Stick support
Wook Song [Mon, 13 May 2019 08:23:00 +0000 (17:23 +0900)]
[Filter] Add skeleton for Intel Movidius Neural Compute Stick support

This patch adds skeleton code of a tensor_filter sub-plugin using Neural
Compute SDK ver.2 for Intel Movidius Neural Compute Stick support. The
build tree is also revised to include this sub-plugin.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Decoder/Api] remove output type
Jaeyun [Mon, 29 Apr 2019 08:29:42 +0000 (17:29 +0900)]
[Decoder/Api] remove output type

Remove output type in sub-plugin definition.
Output mime-type depends on sub-plugins out caps.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Decoder] subplugin mode only
Jaeyun [Fri, 26 Apr 2019 09:20:20 +0000 (18:20 +0900)]
[Decoder] subplugin mode only

Support sub-plugins only.
Remove unnecessary private properties and code clean.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Decoder/Api] change function name
Jaeyun [Fri, 26 Apr 2019 07:34:04 +0000 (16:34 +0900)]
[Decoder/Api] change function name

change decoder register function / struct name

TODO : refactor decoder main (support plugin mode only)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Conf] code clean
Jaeyun [Thu, 9 May 2019 06:41:56 +0000 (15:41 +0900)]
[Conf] code clean

1. remove unused val error. (set NULL to call glib functions)
2. add function to parse bool from string
3. rename functions and clean-up code

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Conf/Tensorflow] remove default flag in conf setting
Jaeyun [Thu, 9 May 2019 03:59:36 +0000 (12:59 +0900)]
[Conf/Tensorflow] remove default flag in conf setting

Remove default flag about tensorflow memory optimization.
In tensorflow sub-plugin, read this option using custom-bool function.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] function to get element size
Jaeyun [Mon, 29 Apr 2019 04:38:29 +0000 (13:38 +0900)]
[Common] function to get element size

Add function to get element size.
Remove variable about element size definition in header.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] function to get element type str
Jaeyun [Thu, 25 Apr 2019 07:31:38 +0000 (16:31 +0900)]
[Common] function to get element type str

define function to get tensor type string

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Merge/Mux] common functions about time-sync option
Jaeyun [Thu, 25 Apr 2019 05:50:36 +0000 (14:50 +0900)]
[Merge/Mux] common functions about time-sync option

In the element merge/mux, add common functions about time-sync option.
Also refactor function name and param to handle sync option.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/API] Add 'remarks' information for specific functions
Sangjung Woo [Fri, 10 May 2019 05:57:25 +0000 (14:57 +0900)]
[Tizen/API] Add 'remarks' information for specific functions

This patch adds the remarks information to properly release allocated
memory space.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/API] Make a verb for the third person singular
Sangjung Woo [Fri, 10 May 2019 05:22:39 +0000 (14:22 +0900)]
[Tizen/API] Make a verb for the third person singular

To comply with Tizen API Process, this patch makes a verb for the third
person singular in doxygen documentation.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/API] Make a consistency in naming of GStreamer
Sangjung Woo [Fri, 10 May 2019 02:34:34 +0000 (11:34 +0900)]
[Tizen/API] Make a consistency in naming of GStreamer

This patch makes a consistency in naming of GStreamer.
* Normal case: GStreamer
* URL only: gstreamer

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Meson] add minimal warning flag
Jaeyun [Fri, 3 May 2019 08:02:08 +0000 (17:02 +0900)]
[Meson] add minimal warning flag

add minimal flags to prevent build warning

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Repo] move repo sources into one directory
Jaeyun [Fri, 3 May 2019 08:34:52 +0000 (17:34 +0900)]
[Repo] move repo sources into one directory

tensor-repo is not a common header and can be built only in repo directory.
Move files about tensor-repo into tensor_repo directory and clean up sources.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] remove typefind function
Jaeyun [Thu, 25 Apr 2019 09:04:35 +0000 (18:04 +0900)]
[Common] remove typefind function

Remove typefind function.

TODO
Consider to add typefind later in tensor-save/load plugins.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/API] Make API signature as single line
Sangjung Woo [Thu, 9 May 2019 01:46:05 +0000 (10:46 +0900)]
[Tizen/API] Make API signature as single line

This patch makes the API signature as single line to comply with Tizen
API style. This is requested by Sunggyu Choi who is in charge of Tizen
API.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/API] Update omitted return codes
Sangjung Woo [Thu, 9 May 2019 01:36:39 +0000 (10:36 +0900)]
[Tizen/API] Update omitted return codes

This patch updates the omitted return codes for Tizen API.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Tizen/API] fix the typos in header
Sangjung Woo [Thu, 9 May 2019 01:22:18 +0000 (10:22 +0900)]
[Tizen/API] fix the typos in header

This patch fixes the minor typos in header file.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Build/Meson] remove unnecessary flag
Jaeyun [Thu, 9 May 2019 02:26:26 +0000 (11:26 +0900)]
[Build/Meson] remove unnecessary flag

Meson v0.50 supports the install arg in configure_file().
If install_dir is set, configured file will be installed.

Also, TEST_TENSORFLOW in rpm spec is unnecessary.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/API] License Tizen-CAPI as LGPL 2.1
MyungJoo Ham [Wed, 8 May 2019 11:27:59 +0000 (20:27 +0900)]
[Tizen/API] License Tizen-CAPI as LGPL 2.1

Unify the licences of subpackages.
Fortunately, there are only a few related contributors and
we have re-licensing agreements in CoC as well.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Tizen/API] Rename tizen-api.h to nnstreamer.h
MyungJoo Ham [Wed, 8 May 2019 08:11:27 +0000 (17:11 +0900)]
[Tizen/API] Rename tizen-api.h to nnstreamer.h

The file name "tizen-api.h" is ubsurd for Tizen application writers.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Tizen/API] Module group hierarchy fix
MyungJoo Ham [Wed, 8 May 2019 06:45:31 +0000 (15:45 +0900)]
[Tizen/API] Module group hierarchy fix

NNStreamer Pipeline is in NNStreamer group.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[UNITTEST] Skip the test when there is not tensorflow and lite
jijoong.moon [Wed, 17 Apr 2019 01:38:18 +0000 (10:38 +0900)]
[UNITTEST] Skip the test when there is not tensorflow and lite

We need to skip tests using tensorflow and lite if they are not
installed. So pkg-config is used to identify their installation.

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

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Build/Plugin] common plugin registration
Jaeyun [Wed, 24 Apr 2019 12:51:27 +0000 (21:51 +0900)]
[Build/Plugin] common plugin registration

Move all element registration to common file. (warning about function prototype)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Subplugin] handle error case
Jaeyun [Thu, 2 May 2019 11:29:20 +0000 (20:29 +0900)]
[Subplugin] handle error case

update code to handle error case of invalid params.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Subplugin] check symlink before getting handle
Jaeyun [Tue, 30 Apr 2019 08:19:41 +0000 (17:19 +0900)]
[Subplugin] check symlink before getting handle

Add code to check symlink before open file handle.
(fix one of security issues)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter] validate sub-plugin data
Jaeyun [Thu, 2 May 2019 10:44:07 +0000 (19:44 +0900)]
[Filter] validate sub-plugin data

1. Add code to validate nn-framework data before registration.
2. Code clean to set filter properties.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[IIO] open file with with glib function
Jaeyun [Tue, 30 Apr 2019 10:31:29 +0000 (19:31 +0900)]
[IIO] open file with with glib function

Use glib function to open file (fix one of security issues)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Decoder/Sub-plugins] use glib to load labels
Jaeyun [Thu, 2 May 2019 06:21:37 +0000 (15:21 +0900)]
[Decoder/Sub-plugins] use glib to load labels

1. use glib function to load and initialize labels (fix one of security issues)
2. fix exception case when total label is larger then ssd model output

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Repo] handle empty repo data
Jaeyun [Thu, 18 Apr 2019 08:22:38 +0000 (17:22 +0900)]
[Repo] handle empty repo data

If repo has no data or hashtable returns null, this makes exception to set lock or signal.
To prevent this exception, check returned data and handle error case.

Exception case when checking 'gst-inspect-1.0 -a'
tensor-repo made an exception.

TODO: Consider to move repo/reposrc/reposink sources into one directory.
Now tensor-repo is not a common source.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Conf/Subplugins] scan subplugins
Jaeyun [Fri, 19 Apr 2019 10:49:13 +0000 (19:49 +0900)]
[Conf/Subplugins] scan subplugins

1. Scan sub-plugins directory and update only so files.
2. Print the list of sub-plugins using gst-inspect in filter/decoder.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter/TF] use glib to parse and compare string
Jaeyun [Tue, 30 Apr 2019 07:31:49 +0000 (16:31 +0900)]
[Filter/TF] use glib to parse and compare string

use glib to compare and parse strings (fix one of security issues)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter/Api] move NNFW struct
Jaeyun [Fri, 26 Apr 2019 05:04:05 +0000 (14:04 +0900)]
[Filter/Api] move NNFW struct

Mode the struct NNFW definition and properties into filter-api header.
Change function name and code clean.

TODO : update decoder struct and api also.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[IIO] init local variable
Jaeyun [Thu, 2 May 2019 06:58:48 +0000 (15:58 +0900)]
[IIO] init local variable

Initialize variable to handle memory blocks (fix coverity issue)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Coverity 1050294, 1050288] Dereference before null check
Sangjung Woo [Tue, 30 Apr 2019 07:50:34 +0000 (16:50 +0900)]
[Coverity 1050294, 1050288] Dereference before null check

In order to handle the dereference issue, this patch uses g_strcmp0()
function instead of g_str_equal().

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Coverity 1050034] Resource leak
Sangjung Woo [Tue, 30 Apr 2019 06:01:29 +0000 (15:01 +0900)]
[Coverity 1050034] Resource leak

Since gst_object_get_name() returns a copy of the name string and it
should be freed by calling g_free(). This patch adds the omitted
g_free() function to fix the memory leak issue.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Coverity 1051566] Resource leak
Sangjung Woo [Tue, 30 Apr 2019 05:45:26 +0000 (14:45 +0900)]
[Coverity 1051566] Resource leak

After calling g_file_get_contents(), 'file_contents' variable is not
freed so memory leak occurs. This patch fixes that bug.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Unittest] Added tensorflow-lite model data
jijoong.moon [Tue, 30 Apr 2019 05:24:25 +0000 (14:24 +0900)]
[Unittest] Added tensorflow-lite model data

Add tensorflow-lite model data when test unittest is installed.

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

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Unittest] add install gen24bBMP.py
jijoong.moon [Mon, 29 Apr 2019 02:14:32 +0000 (11:14 +0900)]
[Unittest] add install gen24bBMP.py

gen24bBMP.py is requried from some of tests

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

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Meson] remove unnecessary flag
Jaeyun [Wed, 24 Apr 2019 07:54:26 +0000 (16:54 +0900)]
[Meson] remove unnecessary flag

remove unnecessary flag and clean meson script

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Build] fix build warning
Jaeyun [Wed, 24 Apr 2019 06:49:26 +0000 (15:49 +0900)]
[Build] fix build warning

update sources to fix warning (missing-prototypes)

TODO : add function prototype to register tensor_* plugins

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] pad info struct
Jaeyun [Wed, 24 Apr 2019 06:33:39 +0000 (15:33 +0900)]
[Common] pad info struct

define common tensor-pad struct used in split/demux

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[IIO] Added support for other/tensors
Parichay Kapoor [Wed, 17 Apr 2019 03:13:54 +0000 (12:13 +0900)]
[IIO] Added support for other/tensors

Added support for other/tensors when merging of channels
with corresponding test cases

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[SVACE] Fix Issue WGID 414649 accepted/tizen/unified/20190425.014439 submit/tizen/20190424.061404 submit/trunk/20190424.060556
jijoong.moon [Tue, 23 Apr 2019 09:37:31 +0000 (18:37 +0900)]
[SVACE] Fix Issue WGID 414649

Threre is svace issue said:

WID:66310927 Return value of a function 'gst_buffer_get_meta' is
dereferenced at tensor_reposrc.c:338 without checking, but it is
usually checked for this function (20/21).

Add check if the meta is null and arise the error.

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

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Build] remove warning
Jaeyun [Fri, 19 Apr 2019 05:32:33 +0000 (14:32 +0900)]
[Build] remove warning

remove build warning (-Wdiscarded-qualifiers)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[SVACE/IIO] Bugfix of memory leak for iio svace
Parichay Kapoor [Tue, 23 Apr 2019 11:14:13 +0000 (20:14 +0900)]
[SVACE/IIO] Bugfix of memory leak for iio svace

MEMORY_LEAK.EX Dynamic memory referenced by raw_data_base was allocated
by calling function g_malloc and lost

Fixed with updated memory free

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[SVACE] Fix Issue #414638
jijoong.moon [Tue, 23 Apr 2019 09:54:01 +0000 (18:54 +0900)]
[SVACE] Fix Issue #414638

There is svace issuse said:
WID:66310552 Return value of a function 'g_slist_nth' is dereferenced
at tensor_common.c:1096 without checking, but it is usually checked
for this function (195/205).

Add Null check.

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

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[UNITTEST] add tensorflow-lite test cases accorting to option
jijoong.moon [Thu, 18 Apr 2019 05:49:47 +0000 (14:49 +0900)]
[UNITTEST] add tensorflow-lite test cases accorting to option

add
 . nnstreamer_filter_tensorflow-lite
 . nnstreamer_filter_tensorflow
 . nnstreamer_decoder_image_labeling

according to enable-tensorflow and enable-tensorflow-lite option.

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

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Test/Valgrind] timer to push buffer
Jaeyun [Wed, 17 Apr 2019 08:17:38 +0000 (17:17 +0900)]
[Test/Valgrind] timer to push buffer

1. add timer to push test buffers into appsrc.
2. prevent unittest locked when appsrc cannot send eos event.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Meson/Test] increase test-timeout
Jaeyun [Mon, 22 Apr 2019 07:30:03 +0000 (16:30 +0900)]
[Meson/Test] increase test-timeout

set unittest timeout to 2 minutes for sink and src_iio stream test.

default 30 seconds may make a timeout error when running unittests in local.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Orc] remove unnecessary code
Jaeyun [Mon, 22 Apr 2019 10:09:13 +0000 (19:09 +0900)]
[Orc] remove unnecessary code

We don't need to init orc functions.
It will be called when creating new orc program.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Split] code clean
Jaeyun [Thu, 18 Apr 2019 03:51:34 +0000 (12:51 +0900)]
[Split] code clean

remove warning, change function and val names, and code clean.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Split] exception to get property
Jaeyun [Wed, 17 Apr 2019 11:46:21 +0000 (20:46 +0900)]
[Split] exception to get property

check null ptr to get the property tensorseg

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Test/Repo] remove unnecessary header
Jaeyun [Thu, 18 Apr 2019 08:31:48 +0000 (17:31 +0900)]
[Test/Repo] remove unnecessary header

1. In testcase of tensor-repo test, it does not need to include repo header.
2. Code clean tensor-repo src/sink

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Build] remove warning
Jaeyun [Thu, 18 Apr 2019 11:56:52 +0000 (20:56 +0900)]
[Build] remove warning

update changes to remove warning message

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[SVACE] Addressess memory leaks
Parichay Kapoor [Thu, 18 Apr 2019 07:31:34 +0000 (16:31 +0900)]
[SVACE] Addressess memory leaks

Resolved memory leaks given by svace for src_iio code as well as tests

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>