platform/upstream/nnstreamer.git
5 years ago[Conf] Custom conf keys
MyungJoo Ham [Mon, 25 Mar 2019 06:01:51 +0000 (15:01 +0900)]
[Conf] Custom conf keys

Any subplugins (/ext/) may use this to make custom
configuration keys.

To support custom filters, the header should be exported.
However, for now, let's forget about the need from
custom filters.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoUse macro to shorten common codes.
MyungJoo Ham [Mon, 18 Mar 2019 09:51:07 +0000 (18:51 +0900)]
Use macro to shorten common codes.

Use macro for init/exit routines that are same in many functions.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoCode clean: use macro for dlog tag name
MyungJoo Ham [Mon, 18 Mar 2019 08:29:26 +0000 (17:29 +0900)]
Code clean: use macro for dlog tag name

Use DLOG_TAG instead of "nnstreamer-capi-pipeline".

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Filter/Tensorflow] fix bug of testcase accepted/tizen/unified/20190326.024547 submit/tizen/20190325.074521
Hyoung Joo Ahn [Mon, 25 Mar 2019 05:09:20 +0000 (14:09 +0900)]
[Filter/Tensorflow] fix bug of testcase

Since the STRING input tensor should be processed differently, the logic was fixed.

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[Tizen/API] Implement src/sink/switch/valve handlers
MyungJoo Ham [Fri, 15 Mar 2019 00:44:54 +0000 (09:44 +0900)]
[Tizen/API] Implement src/sink/switch/valve handlers

Tizen-API implementation to handle
- tensor_sink
- app_src
- input_selector
- output_selector
- valve

Unit test cases and code clean/compaction commit will follow soon.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Filter/TFLite] refine the headers
Hyoung Joo Ahn [Mon, 25 Mar 2019 05:20:02 +0000 (14:20 +0900)]
[Filter/TFLite] refine the headers

relocate headers at proper position and remove useless headers

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[IIO] minor bug fixes and changes
Parichay Kapoor [Thu, 21 Mar 2019 11:09:51 +0000 (20:09 +0900)]
[IIO] minor bug fixes and changes

1. using scale and offset
2. removed unused mutex
3. using GST_ERROR_OBJECT() instead of GST_ERROR()
4. using silent debug properly
5. bug fix for setting generic_name in channel properties
6. using G_UNLIKELY with updated cppcheck

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Build] build warning
Jaeyun [Fri, 22 Mar 2019 11:41:53 +0000 (20:41 +0900)]
[Build] build warning

change incorrect header definition

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tizen/API] Implement start/stop/getstate/destroy with testcases
MyungJoo Ham [Wed, 13 Mar 2019 08:11:37 +0000 (17:11 +0900)]
[Tizen/API] Implement start/stop/getstate/destroy with testcases

Implement Tizen-CAPI, "start/stop/getstate/destroy" for a nnstreamer pipeline.
Add testcases for them.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Subplugin] Remove dlsym subplugin loader
MyungJoo Ham [Tue, 19 Mar 2019 02:36:38 +0000 (11:36 +0900)]
[Subplugin] Remove dlsym subplugin loader

We no longer need dlsym subplugin loader, which make it
incompatible with statically built subplugins.

Subplugins have been calling register_subplugin in its
init functions; thus removing dlsym routines is ok.

Fixes #1130

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[IIO] _create() creates the buffer
Parichay Kapoor [Tue, 19 Mar 2019 07:48:54 +0000 (16:48 +0900)]
[IIO] _create() creates the buffer

Create the buffer, allocate memory for the buffer
Enable setting the timestamp for the buffer by base src
Ignore timestamp channel for now - added in todo

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[IIO] scan data and fill buffer
Parichay Kapoor [Mon, 18 Mar 2019 07:47:48 +0000 (16:47 +0900)]
[IIO] scan data and fill buffer

1. Read the data from IIO device
2. Process the raw data
3. Fill the buffer with processed data
4. Fixing type for all channels data to float32

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[IIO] added scale and offset
Parichay Kapoor [Fri, 15 Mar 2019 11:23:16 +0000 (20:23 +0900)]
[IIO] added scale and offset

Added scale and offset to process raw data.
First get channel specific scale/offset, if available. Secondly, try
generic scale/offset, else use default values.

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Filter/Tensorflow] remove memcpy by getting conf
Hyoung Joo Ahn [Mon, 18 Mar 2019 10:00:39 +0000 (19:00 +0900)]
[Filter/Tensorflow] remove memcpy by getting conf

Through conf, we can avoid the unexpected errors at the specific environment by turning on/off the option(memory optimization).

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[Tizen/API] Add unittest skeleton for Tizen-CAPI (TCT candidate)
MyungJoo Ham [Wed, 13 Mar 2019 02:33:10 +0000 (11:33 +0900)]
[Tizen/API] Add unittest skeleton for Tizen-CAPI (TCT candidate)

This is to be the basis of TCT (Tizen Compliance Test) in the future.

Testing construction & destruction of nnstreamer pipelines
with different elements.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Build] requirement for orc lib
Jaeyun [Thu, 21 Mar 2019 05:15:50 +0000 (14:15 +0900)]
[Build] requirement for orc lib

change dependency of orc lib

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Dist] Do not depend on ssat if it's not neeed. submit/tizen/20190321.045528
MyungJoo Ham [Wed, 20 Mar 2019 11:48:53 +0000 (20:48 +0900)]
[Dist] Do not depend on ssat if it's not neeed.

ssat is required only when unit_test is enabled.
We are not going to enable auto-unit-test in Tizen:Unified.

We will execute auto-unit-test only in Github-CI and
personal gbs for now.
We will enable auto-unit-test in Tizen:Unified after
we submit ssat to tizen.org

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test/RepoRnn] handle the uninitialized output buffer submit/tizen/20190321.034934
Dongju Chae [Wed, 20 Mar 2019 06:46:17 +0000 (15:46 +0900)]
[Test/RepoRnn] handle the uninitialized output buffer

In tizen, this uninitialized output buffer sometimes causes a wrong result

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Tizen/API] API implementation skeleton
MyungJoo Ham [Fri, 8 Mar 2019 06:18:49 +0000 (15:18 +0900)]
[Tizen/API] API implementation skeleton

This includes Tizen API implementation skeleton
and a constructor of a pipeline.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoStart of 0.1.3 RC development v0.1.2
MyungJoo Ham [Wed, 20 Mar 2019 05:59:59 +0000 (14:59 +0900)]
Start of 0.1.3 RC development

From here, it's NNStreamer 0.1.3 Release Candidate Development.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoRelease of NNStreamer 0.1.2
MyungJoo Ham [Wed, 20 Mar 2019 05:57:09 +0000 (14:57 +0900)]
Release of NNStreamer 0.1.2

After the nnstreamer summit 5,
https://github.com/nnsuite/nnstreamer/wiki/NNStreamer-Mini-Summit-%235

we are releasing 0.1.2

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoUpdated the misspelt words
Dongju Chae [Tue, 19 Mar 2019 07:24:49 +0000 (16:24 +0900)]
Updated the misspelt words

- 'upto' --> 'up to'
- 'there is' --> 'there are'

This commit is for testing my submission envionment.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
5 years ago[Conf] Code Clean
MyungJoo Ham [Tue, 19 Mar 2019 00:57:39 +0000 (09:57 +0900)]
[Conf] Code Clean

- nnsconf_load(FALSE) do not process if it's loaded. We do not need to check it before calling it.
- Do not repeat parsing the configuration string (Raw values). Cache it and read the cached values.
- Processing raw values should be completed in nnsconf_load() for caching.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoWelcome new member: Dongju Chae
MyungJoo Ham [Tue, 19 Mar 2019 00:45:33 +0000 (09:45 +0900)]
Welcome new member: Dongju Chae

https://github.com/dongju-chae has just joined the group.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test/Decoder/ImageLabeling] Add test cases for various data types
Wook Song [Fri, 15 Mar 2019 09:46:47 +0000 (18:46 +0900)]
[Test/Decoder/ImageLabeling] Add test cases for various data types

This patch adds more test cases for checking that the 'image labeling'
sub plug-in of tensor_decoder properly works with various data types.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[CONF] add the new variables and method
Hyoung Joo Ahn [Thu, 14 Mar 2019 12:47:09 +0000 (21:47 +0900)]
[CONF] add the new variables and method

to process with int/boolean value, the new variables and method is added.

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[CONF] fix a comment of a method
Hyoung Joo Ahn [Thu, 14 Mar 2019 12:46:44 +0000 (21:46 +0900)]
[CONF] fix a comment of a method

fix the invalid comment for the method

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[IIO] setting caps and data configs
Parichay Kapoor [Tue, 12 Mar 2019 07:50:14 +0000 (16:50 +0900)]
[IIO] setting caps and data configs

1. Find caps from data configs based on the device channels
2. Fixate the caps for the pad in _start()
3. Filled _set() and _get() for caps
4. Added feature to merge channels data into 1 tensor
5. Filled _fixate()

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[IIO] enable buffers
Parichay Kapoor [Wed, 13 Mar 2019 04:24:30 +0000 (13:24 +0900)]
[IIO] enable buffers

1. Enabling buffers in _start, disabling buggers in _stop
2. Setting channels data location in buffers
3. Storing only enabled channels
4. Opening the device data buffer file descriptor to be ready to read data
Added some bugfixes and fixes to comments

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[YOCTO] Add enable-opencv-test meson option to remove opencv dep
jijoong.moon [Fri, 15 Mar 2019 09:55:03 +0000 (18:55 +0900)]
[YOCTO] Add enable-opencv-test meson option to remove opencv dep

The only place which has opencv dependency is
custom_exampel_opencv. In order to manage more efficient,
enable-opencv-test meson option is added. If it is true, opencv
example is enabled or disabled, if not.

**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[Decoder] Add GObject vmethod implementation for finalize
Wook Song [Fri, 15 Mar 2019 09:58:35 +0000 (18:58 +0900)]
[Decoder] Add GObject vmethod implementation for finalize

In order to clean up private data of each decoder sub plug-in,
corresponding TensorDecDef.exit() should be invoked by the decoder.
To this end, this patch adds GObject 'finalize' vmethod implementation
to the tensor decoder element.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Test/Transform/Arithmetic] Add test for dynamically changing option string
Wook Song [Thu, 14 Mar 2019 01:43:18 +0000 (10:43 +0900)]
[Test/Transform/Arithmetic] Add test for dynamically changing option string

This patch adds unit test cases for dynamically changing option string
for the 'arithmetic' mode of tensor_transform.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Transform] Handle error due to wrong option string gracefully
Wook Song [Wed, 13 Mar 2019 06:59:47 +0000 (15:59 +0900)]
[Transform] Handle error due to wrong option string gracefully

This patch replaces assertion code for handling wrong option string with
the code returning error code in order to gracefully terminate the
pipeline with proper error messages.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Test/Transform/Arithmetic] Add more test cases
Wook Song [Wed, 13 Mar 2019 06:57:46 +0000 (15:57 +0900)]
[Test/Transform/Arithmetic] Add more test cases

This patch adds more test cases for verifying the 'arithmetic' mode
of the tensor_transform element.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Test/Transform/Arithmetic] Remove unused code from checkResult.py
Wook Song [Wed, 13 Mar 2019 06:46:34 +0000 (15:46 +0900)]
[Test/Transform/Arithmetic] Remove unused code from checkResult.py

This is a trivial patch that removes unused code from the python script
checking the unit test results.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Test/Transform/Arithmetic] Update checkResult script to support integer
Wook Song [Wed, 13 Mar 2019 06:33:29 +0000 (15:33 +0900)]
[Test/Transform/Arithmetic] Update checkResult script to support integer

Since the python script for checking unit test results has only
supported values of floating-point type until now, this patch updates
the script to support integer so that more test cases using integer
values could be added.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Tizen] Native API Draft: Main API Prototype
MyungJoo Ham [Thu, 7 Mar 2019 09:55:31 +0000 (18:55 +0900)]
[Tizen] Native API Draft: Main API Prototype

The prototypes of TIZEN-ML-NNSTREAMER-PIPELINE (Main API set of NNStremaer-Tizen) are defined.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoAndroid/ARM64: Updated binary path
Geunsik Lim [Tue, 12 Mar 2019 09:47:15 +0000 (18:47 +0900)]
Android/ARM64: Updated binary path

This commit is trivial. However, the existing statements have to be updated
to give developers a correct instruction. After updating *.mk file, The binary
path is also changed from ../ to ./ folder.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[IIO] added _get_times
Parichay Kapoor [Tue, 12 Mar 2019 07:56:10 +0000 (16:56 +0900)]
[IIO] added _get_times

Added _get_times to support syncing of buffer for the live source

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Common] Updated copy tensor info
Parichay Kapoor [Wed, 13 Mar 2019 04:58:38 +0000 (13:58 +0900)]
[Common] Updated copy tensor info

Added function to copy tensor_info with variable length

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Test/Transform] Replace existing typecast tests with macro
Wook Song [Tue, 12 Mar 2019 04:45:20 +0000 (13:45 +0900)]
[Test/Transform] Replace existing typecast tests with macro

For convenience, this patch replaces the existing type cast tests (from
typecast_1 to typecast_7) with the macro, TEST_TRANSFORM_TYPECAST.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Test/UnittestPlugins/Transform] Add test cases for properties
Wook Song [Tue, 12 Mar 2019 04:16:25 +0000 (13:16 +0900)]
[Test/UnittestPlugins/Transform] Add test cases for properties

This patch adds unit test cases for setting and getting properties.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Test/Transform/Typecast] Add more test cases
Wook Song [Tue, 12 Mar 2019 02:24:15 +0000 (11:24 +0900)]
[Test/Transform/Typecast] Add more test cases

This patch adds more unit test cases for the typecast mode of the
tensor_transform element.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Test/UnittestPlugins/Transform] Add a macro to test typecast
Wook Song [Tue, 12 Mar 2019 02:01:21 +0000 (11:01 +0900)]
[Test/UnittestPlugins/Transform] Add a macro to test typecast

This patch adds a macro to test typecast mode of the tensor_transform
element for convenience.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Codegen/CustomFilter] Fix typo in boilerplate to be generated
Wook Song [Tue, 12 Mar 2019 09:23:51 +0000 (18:23 +0900)]
[Codegen/CustomFilter] Fix typo in boilerplate to be generated

This is a trivial patch which fixes typo in boilerplate to be generated
by the codegen tool for Custom Filter.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Git] Update .gitignore to ignore files generated by codegen tests
Wook Song [Tue, 12 Mar 2019 09:05:23 +0000 (18:05 +0900)]
[Git] Update .gitignore to ignore files generated by codegen tests

This patch updates .gitignore to exclude files generated by the test
script of codegen.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years agoAndroid/ARM64: Added how to run CLI app with linker64
Geunsik Lim [Tue, 12 Mar 2019 07:48:52 +0000 (16:48 +0900)]
Android/ARM64: Added how to run CLI app with linker64

This commit is to depict how to run nnstreamer-based test application
with linker64 (the ELF interpreter) on the Android 64bit devices.

We assume that you run your test applications in the `/data/nnstreamer/`
folder on the Android devices based on ARM64 CPU. Note that the 'linker64'
file to interpret ELF files is located in the `/data/nnstreamer/libandroid/`
folder.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[CodeGen] add tensor name
Jaeyun [Mon, 11 Mar 2019 06:45:52 +0000 (15:45 +0900)]
[CodeGen] add tensor name

add lines to set name in tensot-info structure

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Converter] media caps definition
Jaeyun [Mon, 11 Mar 2019 04:52:33 +0000 (13:52 +0900)]
[Converter] media caps definition

move media caps definition to converter.
set template caps for each media type.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Decoder] media caps string
Jaeyun [Mon, 11 Mar 2019 04:15:30 +0000 (13:15 +0900)]
[Decoder] media caps string

set media caps string from decoder sub-plugins.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[IIO] updated comments
Parichay Kapoor [Fri, 8 Mar 2019 01:55:57 +0000 (10:55 +0900)]
[IIO] updated comments

Updated all comments to be compatible with doxygen

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[IIO] Handling queries
Parichay Kapoor [Thu, 7 Mar 2019 07:54:55 +0000 (16:54 +0900)]
[IIO] Handling queries

Handling scheduling query and remaining queries handled with basesrc class
All events are handled by basesrc class

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Converter] move functions to parse media stream
Jaeyun [Fri, 8 Mar 2019 09:48:13 +0000 (18:48 +0900)]
[Converter] move functions to parse media stream

tensor-converter converts all media stream to tensor type.
moves all functions to parse media info into tensor-converter.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] Updated return values
Parichay Kapoor [Fri, 8 Mar 2019 10:31:57 +0000 (19:31 +0900)]
[Common] Updated return values

Use return values from function calls while setting up config

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Android] Make concise list of gst plugins for build nnstream & app
jijoong.moon [Thu, 7 Mar 2019 09:43:16 +0000 (18:43 +0900)]
[Android] Make concise list of gst plugins for build nnstream & app

Make BUILDING_BLOCK_LIST more concise. If other plugin are needed,
then add plugin library in BUILDING_BLOCK_LIST

**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[Android] Add NO_AUDIO for video only case
jijoong.moon [Mon, 4 Mar 2019 08:30:49 +0000 (17:30 +0900)]
[Android] Add NO_AUDIO for video only case

There are the cases which has no needs for audio support. In order to
reduce shared library size, NO_AUDIO build Option is added.

**Changes proposed in this PR:**
- Addded NO_AUDIO option for build.
- Modify Android-app.mk and Android-nnstreamer.mk

**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[IIO] Added doxygen entries
Parichay Kapoor [Wed, 6 Mar 2019 07:45:50 +0000 (16:45 +0900)]
[IIO] Added doxygen entries

Added more doxygen entries for the functions
Updated some bugs

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[IIO] Add start/stop for src IIO
Parichay Kapoor [Tue, 5 Mar 2019 08:48:13 +0000 (17:48 +0900)]
[IIO] Add start/stop for src IIO

1. Add reading device and its properties
2. Get device ready to data capture, start function (null->ready state)
3. Filled stop function (ready->null state)

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years agoUpdate README: release status & typo correction
MyungJoo Ham [Thu, 7 Mar 2019 05:45:04 +0000 (14:45 +0900)]
Update README: release status & typo correction

We now have Android-NDK build support. Apply the change along with a typofix.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Common] Remove unnecessary init function call
Sangjung Woo [Fri, 8 Mar 2019 06:23:25 +0000 (15:23 +0900)]
[Common] Remove unnecessary init function call

This patch removes the unnecessary gst_tensor_config_init() function call
since init function of each type (i.g. gst_tensor_config_from_[TYPE]_info())
calls gst_tensor_config_init() internally.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Converter] test for converter properties
Jaeyun [Fri, 8 Mar 2019 11:05:15 +0000 (20:05 +0900)]
[Converter] test for converter properties

1. when called get_property, return empty string if converter has invalid tensor info.
2. check each properties iin stream test.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter/Tensorflow] remove unused header files
Hyoung Joo Ahn [Fri, 8 Mar 2019 08:25:25 +0000 (17:25 +0900)]
[Filter/Tensorflow] remove unused header files

clear unused tensorflow header files

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[Tizen] Native API Draft: Documentation
MyungJoo Ham [Wed, 6 Mar 2019 10:37:21 +0000 (19:37 +0900)]
[Tizen] Native API Draft: Documentation

This is a draft for Tizen 5.5 NNStreamer Public API.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoCustom filter CodeGen / unittest
MyungJoo Ham [Wed, 6 Mar 2019 07:41:53 +0000 (16:41 +0900)]
Custom filter CodeGen / unittest

Add unittest cases for codegen

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoCustom filter CodeGen / Skeleton code
MyungJoo Ham [Mon, 4 Mar 2019 08:52:40 +0000 (17:52 +0900)]
Custom filter CodeGen / Skeleton code

Although the code is far from completion,
this adds a skeleton for the custom filter codegen.

Often, codegen can be more effective than examples.

It is going to provide both .C and .meson files.

This starts implementing for #764

Precondition: nnstreamer is installed:
```
$ meson build && ninja -C build && sudo ninja -C build install
```

Test:
```
$ cd tools/development
$ python nnstreamerCodeGenCustomFilter.py
Please enter the name of the nnstreamer custom filter: abc
Please enter the custom filter name registered to tensor_filter.
Or press enter without name if [abc] is ok: s
Are dimensions of input/output tensors fixed? (yes/no):y
Are you going to allocate output buffer in your code? (yes/no):y
$ meson build
$ ninja -C build
$ gst-launch-1.0 videotestsrc num-buffers=10 ! videoconvert ! videoscale ! video/x-raw,width=224,height=224 ! tensor_converter ! tensor_filter framework=custom model=build/libs.so ! fakesink

```

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoBuild: synchronize vesion info among platforms
Geunsik Lim [Tue, 5 Mar 2019 23:01:00 +0000 (08:01 +0900)]
Build: synchronize vesion info among platforms

This commit is to synchronize the version information among Ubuntu,
Tizen, Android, and Meson.

For example,
 1. Ubuntu : ./debian/changelog
 2. Tizen  : ./packaging/nnstreamer.spec
 3. Android: ./jni/Android*.mk
 4. Meson  : ./meson.build

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Filter] Clear & explicit error for missing extensions.
MyungJoo Ham [Thu, 7 Mar 2019 01:45:10 +0000 (10:45 +0900)]
[Filter] Clear & explicit error for missing extensions.

If an extension (e.g., nnstreamer-tensorflow) is missing,
the error message must be explicit and visible even without
GST_DEBUG envvars; most applications developers won't know it.

However, we cannot alarm them at the stage of set-properties.
Thus, delay alarming until it becomes "fatal".

Fixes #1206
Helps https://github.com/nnsuite/nnstreamer-example/issues/21

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Workaround] There is no tensorflow deb in the PPA
MyungJoo Ham [Thu, 7 Mar 2019 01:03:17 +0000 (10:03 +0900)]
[Workaround] There is no tensorflow deb in the PPA

In Ubuntu PPA, there is tensorflow-dev, not tensorflow, which
includes both devel and libraries.

As a workaround, make it depends on either of the two.

Fixes #1204
Addresses https://github.com/nnsuite/nnstreamer-example/issues/21

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test/Aggregator] testcase for same in/out frames
Jaeyun [Wed, 6 Mar 2019 07:02:28 +0000 (16:02 +0900)]
[Test/Aggregator] testcase for same in/out frames

add new testcases for aggregator properties and same in/out frames

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Test] exclude orc file in coverage
Jaeyun [Tue, 5 Mar 2019 10:02:18 +0000 (19:02 +0900)]
[Test] exclude orc file in coverage

-orc file generated while building nnstreamer.
Exclude this in unittest coverage report.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years agoAndroid/ARM64: fixed incorrect path of libs/obj
Geunsik Lim [Tue, 5 Mar 2019 07:54:35 +0000 (16:54 +0900)]
Android/ARM64: fixed incorrect path of libs/obj

This commit is to update correctly the existing path of libs and obj folder
after improving the configuration file to generate a C/C++ library.

**Changelog**
1. Fixed indentation
2. Replaced ../{libs,obj} with ./{libs,obj}

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[IIO] Add properties for IIO
Parichay Kapoor [Tue, 5 Mar 2019 07:47:10 +0000 (16:47 +0900)]
[IIO] Add properties for IIO

1. Updated properties for IIO src plugin
2. Added get and set property functions

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Android/ARM64] linker64: added a variable to maintain the custom linker64
Geunsik Lim [Mon, 4 Mar 2019 09:42:25 +0000 (18:42 +0900)]
[Android/ARM64] linker64: added a variable to maintain the custom linker64

This commit is to specify a variable to maintain the custom linker64.
This build script handles how to run the NNstreamer-based 64bit application
on Android 32bit platform. If the tart device is based on Android 64bit platform,
We do not need to use the custom linker64 repeatedly on the device.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Decoder/DirectVideo] 0/1 framerate
Jaeyun [Tue, 5 Mar 2019 10:10:44 +0000 (19:10 +0900)]
[Decoder/DirectVideo] 0/1 framerate

Allow 0/1 framerate in decoder-direct video mode

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[demux/split] memory leak
Parichay Kapoor [Tue, 5 Mar 2019 11:04:25 +0000 (20:04 +0900)]
[demux/split] memory leak

remove memory corresponding to get_property

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years ago[Meson] fix file paths
Jaeyun [Tue, 5 Mar 2019 07:12:09 +0000 (16:12 +0900)]
[Meson] fix file paths

add current dir path and clean up meson script.

This will make to get the unittest coverage for ext sub-plugins.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Android/ARM64] doc: updated how to build nnstreamer and test app
Geunsik Lim [Mon, 4 Mar 2019 04:51:21 +0000 (13:51 +0900)]
[Android/ARM64] doc: updated how to build nnstreamer and test app

This commit is to update the existing building manual to generate
NNstreamer library (e.g., libnnstreamer.so) and a test application.

**Changelog**
1. Updated the existing ndk-build manual
2. doc: replaced ndk-r16b with ndk-r12b

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Filter] add proper error messages
Hyoung Joo Ahn [Tue, 26 Feb 2019 02:15:25 +0000 (11:15 +0900)]
[Filter] add proper error messages

when the model file is not valid or not existed, system generates the proper error messages without any options.

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
5 years ago[Meson] add default werror option
Jaeyun [Mon, 4 Mar 2019 12:15:28 +0000 (21:15 +0900)]
[Meson] add default werror option

add werror in project default options

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Test] fix index error
Jaeyun [Mon, 4 Mar 2019 05:11:46 +0000 (14:11 +0900)]
[Test] fix index error

fix index error in ut-coverage

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Src] Template for tensor source
Parichay Kapoor [Wed, 27 Feb 2019 08:50:59 +0000 (17:50 +0900)]
[Src] Template for tensor source

Added empty template for tensor source plugin for linux IIO
Properties for IIO devices have been added, but not yet finalized

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
5 years agoAndroid/ARM64: Improve how to specify CPU architecture(ABI)
Geunsik Lim [Wed, 27 Feb 2019 05:22:53 +0000 (14:22 +0900)]
Android/ARM64: Improve how to specify CPU architecture(ABI)

This commit is to improve the writing style of the existing ABI
(CPU architecture) with a method that is described at the documentation
website of the Android NDK toolkit.
* https://developer.android.com/ndk/guides

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Android] ARM64: Split Android.mk file
Geunsik Lim [Fri, 22 Feb 2019 06:21:28 +0000 (15:21 +0900)]
[Android] ARM64: Split Android.mk file

This commit is to split the existing Android.mk file in order to maintain
(1) nnstreamer library (e.g., libnnstreamer.so) and (2) test applications
separately.

* Before: Android.mk
* After :
  - Android-nnstreamer.mk (to generate nnstreamer library)
  - Android-app.mk (to generate nnstreamer-based test application)

**Changelog**

* Version 2:
1. Added two functions to simplify duplicated statements with foreach
2. Updated the existing comment to build C/C++ source code with ndk-build

* Version 1:
1. Added Android-nnstremaer.mk
2. Added Android-app.mk

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Unittest] GetProperty of decoder/split
MyungJoo Ham [Mon, 25 Feb 2019 08:27:25 +0000 (17:27 +0900)]
[Unittest] GetProperty of decoder/split

Add more unit test cases to boost the lcov coverage data of decoder and split.

This requires #1168 merged to pass all the test cases.
(Bug of #1168 is found by this unit test cases)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoStart of 0.1.2 Development
MyungJoo Ham [Tue, 26 Feb 2019 11:38:58 +0000 (20:38 +0900)]
Start of 0.1.2 Development

0.1.2 RC (0.1.2.0) is started.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoRelease of 0.1.1 v0.1.1
MyungJoo Ham [Thu, 21 Feb 2019 10:00:26 +0000 (19:00 +0900)]
Release of 0.1.1

Along with Mini Summit #4, nnstreamer 0.1.1 is released.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[README] update README
MyungJoo Ham [Thu, 21 Feb 2019 09:48:17 +0000 (18:48 +0900)]
[README] update README

- Update reviewer list
- Add more external materials of nnstreamer
- Updated introduction

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Dist] Separate filter subplugin subpackages
MyungJoo Ham [Thu, 21 Feb 2019 06:49:43 +0000 (15:49 +0900)]
[Dist] Separate filter subplugin subpackages

This concludes the EPIC item of #786.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Filter] handle TF framework return value
Aaron Boxer [Tue, 26 Feb 2019 12:39:05 +0000 (07:39 -0500)]
[Filter] handle TF framework return value

Return value was being ignored

Signed-off-by: Aaron Boxer <aaron.boxer@collabora.com>
5 years ago[Filter/Decoder] Exception handling of not found subplugin
MyungJoo Ham [Thu, 21 Feb 2019 08:40:18 +0000 (17:40 +0900)]
[Filter/Decoder] Exception handling of not found subplugin

If subplugin is not found or not configured,
do not proceed with GSTCAP negotiation or STREAM-START.

Fixes #1092

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[CI] Add /ext/* to unit-test-coverage scope
MyungJoo Ham [Fri, 22 Feb 2019 04:11:53 +0000 (13:11 +0900)]
[CI] Add /ext/* to unit-test-coverage scope

The files in /ext/* are officially released code.
Publish the lcov result.

This prepares #1153

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test/Decoder] Add unit test cases of errors
MyungJoo Ham [Mon, 25 Feb 2019 04:46:51 +0000 (13:46 +0900)]
[Test/Decoder] Add unit test cases of errors

To cover more code measured by lcov, add test cases for exceptions

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Decoder] Bugfix: get_property/tensorseg format error
MyungJoo Ham [Mon, 25 Feb 2019 08:25:24 +0000 (17:25 +0900)]
[Decoder] Bugfix: get_property/tensorseg format error

1. Do not print "," as the first character: write "seg1,seg2,seg3" instead of ",seg1,seg2,seg3".
2. Free memory!

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Decoder/DV] INFO, instead of ERR, for normal log
MyungJoo Ham [Mon, 25 Feb 2019 06:36:48 +0000 (15:36 +0900)]
[Decoder/DV] INFO, instead of ERR, for normal log

Normal operation information log should not use "GST_ERROR".

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agodoc: Add how to generate libnnstreamer.so with ndk-build
Geunsik Lim [Mon, 25 Feb 2019 09:46:29 +0000 (18:46 +0900)]
doc: Add how to generate libnnstreamer.so with ndk-build

This commit is to append a document to describe how to compile
the nnstreamer repository with the ndk-build command to get the
libnnstreamer for Android software platform. The ndk-build
is provided by Android NDK toolkit.

**Changes

* Version 2:
1. Added how to download (custom) prebuilt android-gstreamer files
2. Added how to setup Android NDK

* Version 1:
1. Added how to build a nnstreamer library
2. Added how to build a test application

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Unittest/Split] Test tensorpick property
MyungJoo Ham [Mon, 25 Feb 2019 06:42:28 +0000 (15:42 +0900)]
[Unittest/Split] Test tensorpick property

Tensorpick feature is not tested in unittest.
Add a corresponding test case.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Filter] Check if open is successful.
MyungJoo Ham [Mon, 25 Feb 2019 02:21:02 +0000 (11:21 +0900)]
[Filter] Check if open is successful.

Check if open() is successful at the start().

Note that other usage of gst_tensor_filter_open_fw()
if called by gst_tensor_filter_call(), whose
success is checked by "ret" value if required; there
are cases where a "fail" is an option.

Note that by checking it at start callback,
we can ensure that it's successfully opened for
every pipeline start.

Fixes #1160

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Decoder] Bugfix: silent semantics reversed.
MyungJoo Ham [Mon, 25 Feb 2019 08:20:29 +0000 (17:20 +0900)]
[Decoder] Bugfix: silent semantics reversed.

It should be "verbose" if silent is false.
If it's "silent", it should not emit too many messages.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Android] ARM64: Added supported API level of NDK r12b
Geunsik Lim [Fri, 22 Feb 2019 02:32:51 +0000 (11:32 +0900)]
[Android] ARM64: Added supported API level of NDK r12b

This commit is to comment the limitation of NDK r12b when developers
try to run NNstreamer on their Android target device.

**Changes
1. Updated coding style of Application.mk
2. Added annotation on NDK r12b

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[tensor_repo] Doxygen: Updated annotation on EOS
Geunsik Lim [Fri, 22 Feb 2019 02:22:35 +0000 (11:22 +0900)]
[tensor_repo] Doxygen: Updated annotation on EOS

This commit is to update the existing annotation on EOS in order to
generate understanding statements with Doxygen.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>