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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Geunsik Lim [Tue, 19 Feb 2019 02:25:40 +0000 (11:25 +0900)]
[Android/ARM64] Support ndk-build to run nnstreamer on Android
This commit is to support the ndk-build command that is included in Android
NDK toolkit. This commit is to be enabled in order to run nnstream-based
their applications on Android platform as well as Ubuntu and Tizen.
**CHANGELOG**
* Version 5
1. Added the tensor decoder in Android.mk to avoid a situation that developers
have to modify the gst_nnstreamer_init() function.
* Version 4
1. Added variable NNSTREAMER_VERSION to do not modify the existing nnstreamer.c
* Version 3
1. Disconnected the dependant absolute path of libz.so file
- It means that nnstreamer library and test app (shared ELF) do not call
libz.so. file directly. The libz.so file will be called gstreamer to avoid
absolute path issue as soon as possible.
2. Added a multiple architecture structure
- This commit support others (e.g. ARM32, X86, X86_64) as well as ARM64.
* Version 2
1. Removed hardcoded operations to support ARM64
2. Added instruction manual to reproduce consistently
3. Synchronized Android NDK + Android Platform (Nougat) + Android API level (24)
4. Unified separated two folders (e.g., header files and .so files)
* Version 1
1. Added Android.mk file to build nnstreamer and apps
2. Added Application.mk to define a run-time C library and
the API level of Android
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Signed-off-by: Jijoong Moon <Jijoong.moon@amsung.com>
Geunsik Lim [Thu, 21 Feb 2019 23:29:47 +0000 (08:29 +0900)]
[tensor_repo] fixed coding style of header file
This patch is trivial. This commit is to fix a coding style
of header file consistently.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Jaeyun [Fri, 15 Feb 2019 05:03:39 +0000 (14:03 +0900)]
[Filter/TF] support string type
In tensorflow sub-plugin, support DT_STRING type.
Added testcase with speech command model, which classifies wav input to keyword.
This model has input type DT_STRING.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 13 Feb 2019 11:44:37 +0000 (20:44 +0900)]
[Filter/TF] refactor to init tf model
1. set in/out tensor info while loading and verifying tf model
2. copy raw data into tensor instead loop and remove macros to set tensor data
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Geunsik Lim [Tue, 19 Feb 2019 03:46:30 +0000 (12:46 +0900)]
meson: sync version number among ubuntu, gbs, and meson
This commit is to synchronize the version number of nnstreamer
among the Ubuntu, Gbs, and Meson. The standard number is located
in 'version' tag of ./packaging/nnstreamer.spec file.
* Tizen/gbs: ./packaging/ (Standard)
* Ubuntu/pdebuild: ./debian/changelog
* meson/build-system: meson.build
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Jaeyun [Mon, 11 Feb 2019 09:23:11 +0000 (18:23 +0900)]
[Filter] common functions in filter-subplugins
use common functions to load tf/tf-lite model
1. remove unnecessary functions in sub-plugins (tf/tf-lite)
2. copy and free tensor info to load tf model during the caps negotiation
3. print additional logs when loading model info
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Wook Song [Mon, 18 Feb 2019 23:45:53 +0000 (08:45 +0900)]
[DIST/Debian] Create a symbolic link to libnnstreamer
This patch creates a symbolic link to libnnstreamer using dh_link.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 15 Feb 2019 02:15:04 +0000 (11:15 +0900)]
[Git] Update .gitignore to ignore files related to VS Code and debuild
This patch updates .gitignore to ignore files related to Visual Studio
Code and debuild.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 15 Feb 2019 01:33:01 +0000 (10:33 +0900)]
[Transform] Do not apply 80col break rule for error message string
This patch updates error messages in tensor_transform to allow breaking
80col rule.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Wed, 13 Feb 2019 07:07:20 +0000 (16:07 +0900)]
[Transform/Arithmetic] Remove checking for typecast-first rule
This patch removes the typecast-first checking rule from the
set_option_data function. This rule is already checked by the regex
before the option string parsing.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Wed, 13 Feb 2019 06:25:19 +0000 (15:25 +0900)]
[Test/UnittestPlugins/Transform] Apply 'mode' property changed to enum
This patch applies the 'mode' property newly changed from string to enum
to tensor_transform tests.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 12 Feb 2019 10:14:09 +0000 (19:14 +0900)]
[Transform/Arithmetic] Handle invalid option using regex
This patch add handling for the invalid option string using a regex.
Before the application pipeline starts, it verifies the option string
first, and then terminates the pipeline when the option string is
invalid.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 12 Feb 2019 07:44:53 +0000 (16:44 +0900)]
[Transform/Stand] Change reaction for invalid option string
This patch changes the reaction for the invalid option string to
displaying error messages using g_critical and terminating the pipeline
before it starts.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 12 Feb 2019 07:27:06 +0000 (16:27 +0900)]
[Transform/Dimchg] Refine option string parsing code
This patch refines the code for parsing option string of the dimchg mode.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 12 Feb 2019 07:16:35 +0000 (16:16 +0900)]
[Transform/Dimchg] Add handling for invalid option string
This patch adds invalid option string handling for the dimchg mode.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 12 Feb 2019 06:53:45 +0000 (15:53 +0900)]
[Transform/Transpose] Remove unnecessary error handling code
This patch removes error handling code that is not necessary anymore.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 12 Feb 2019 06:45:09 +0000 (15:45 +0900)]
[Transform/Transpose] Add invalid option string handling
This patch adds handling for invalid option string. When the option
string is invalid, the pipeline would be terminated by g_assert before
it starts.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Tue, 12 Feb 2019 01:34:02 +0000 (10:34 +0900)]
[Transform/Typecast] Change reaction for invalid option using g_critical
This patch adds a regular expression for the typecast option string, and
then changes the reaction for invalid option string using the regular
expression and g_critical. In short, if the option string is invalid,
the pipeline would be terminated before it starts.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Mon, 11 Feb 2019 05:16:36 +0000 (14:16 +0900)]
[Transform] Change parameter spec of 'mode' property to enum
This patch changes the existing parameter spec of string type
(g_param_spec) to the parameter spec of enum (g_param_enum), which gives
more flexibility by taking either strings or enum value, for the
arguments of the 'mode' property. Moreover, this change makes the
gst-inspect-1.0 command show a list of supporting modes.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Fri, 15 Feb 2019 02:43:03 +0000 (11:43 +0900)]
[Build] fix indent error
ci report - indent error in tensor-converter
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 14 Feb 2019 08:41:25 +0000 (17:41 +0900)]
Updated error message string
1. In order to prevent incorrect impression on the string size, added "up to"
2. Don't apply 80col break for error message strings; it often makes it to grep error messages (ref: Linux kernel 80col rule)
Jaeyun [Wed, 13 Feb 2019 08:10:18 +0000 (17:10 +0900)]
[Converter] data size of text input
Remove definition for text size.
Instead, set dimension for text input with the property input-dim in tensor-converter.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 13 Feb 2019 03:12:38 +0000 (12:12 +0900)]
[Common] change type name - text
change type name for text/x-raw
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Wed, 13 Feb 2019 02:15:07 +0000 (11:15 +0900)]
[Common] remove file _plugin_api.c
move all functions to _common and remove _plugin_api
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 12 Feb 2019 08:25:10 +0000 (17:25 +0900)]
[Common] move common tensor-info functions to api header
move the functions about tensor-info and caps negotiation into plugin api
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 12 Feb 2019 07:54:25 +0000 (16:54 +0900)]
[Common] change function name
change common functions for nnstreamer plugin api
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Tue, 12 Feb 2019 07:35:58 +0000 (16:35 +0900)]
[Decoder] remove unused
remove unused code and fix log type
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Fri, 1 Feb 2019 00:56:50 +0000 (09:56 +0900)]
Do not configure LD_PATH during build
- It breaks debian build postprocessing.
- We do not need it during build.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Jan 2019 10:06:14 +0000 (19:06 +0900)]
[Decoder] Pull decoder subplugins out to /ext
Decoder subplugins can now be built externally
without the need to be built along with nnstreamer.
Thus, from now on, third party developers can
write decoder subplugins without nnstreamer sources.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Jan 2019 09:44:49 +0000 (18:44 +0900)]
[API] Filter/Decoder subplugin API headers
Before:
- nnstreamer_plugin_api.h had mandatory filter APIs and optional APIs for filter/decoder, depend on glib, not supporting decoder mandatory APIs.
After:
- nnstreamer_plugin_api.h has optional APIs only / depend on glib
- nnstreamer_plugin_api_filter.h has mandatory Filter APIs / no dependencies
- nnstremaer_plugin_api_decoder.h has mandatory Decoder APIs / depend on gst
With this, we can completely cut the dependencies on glib for nnstreamer sub-plugin writers.
Besides, "ext-nizing" decoders requires this as well.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 11 Feb 2019 09:07:37 +0000 (18:07 +0900)]
[Common] add common function
1. add new function _info_free() to free allocated data in tensor-info structure
2. move functions to plugin api header
TODO:
I will add new PR to use common functions to set/get tensor info in tensor_filter tf sub-plugins.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 8 Feb 2019 10:31:57 +0000 (19:31 +0900)]
[Common] fix val type
fix return type in common functions and code clean
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Mon, 11 Feb 2019 04:35:57 +0000 (13:35 +0900)]
[Filter] print message when caps-nego failed
add warning message if properties and model info are different
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 30 Jan 2019 09:28:08 +0000 (18:28 +0900)]
[Decoder] refactor subplugin structure for /ext preparation
The interface between tensor-decoder::main and tensor-decoder::*
should not include internal tensor-decoder data structure.
Communicate with Gstreamer native or exported data structure only.
For third-party / user-contents developers, detach
glib dependencies as well.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Jan 2019 07:27:44 +0000 (16:27 +0900)]
Subplugin register/unregister refactored.
A plugin, "filter" and "decoder" no more have their own
internal data structure to store subplugins.
Both filter and decoder subplugins now use APIs of
nnstreamer_subplugin via
nnstreamer_plugin_api.h (filters)
tensordec.h (decoder)
Decoders are to be refactored further to use
nnstreamer_plugin_api.h after moving decoder subplugins
to ext/
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Fri, 8 Feb 2019 08:52:09 +0000 (17:52 +0900)]
[Build/Filter] code clean
fix typo and clean up build script,
1. remove unnecessary variable and dependency.
2. set common path and dependencies, clean up meson script.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Tue, 29 Jan 2019 09:41:31 +0000 (18:41 +0900)]
[DIST] Install path changes, add symlink
1. Add symlink to libnnstreamer.so at _libdir
2. Install tensor-filter subplugins to the tensor-filter
configuration directory, not _libdir.
3. Do not generate api library. We can use libnnstreamer.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 29 Jan 2019 09:33:47 +0000 (18:33 +0900)]
[Filter:*] Migrate subplugins to ext
Filter subplugins that have external dependencies are
fully detached from Filter:main now.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun Jung [Fri, 1 Feb 2019 16:38:22 +0000 (01:38 +0900)]
[Meson] dependency for generated files
Remove orc-generated files in nnstreamer plugin dep and clean up meson script.
If declares dependency with orc-gen files, it will compile generated file with this dep.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 1 Feb 2019 05:22:55 +0000 (14:22 +0900)]
[Meson/CustomFilter] change install path
install custom-filter examples into {subplugin_install_prefix}/customfilters
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun [Fri, 1 Feb 2019 03:53:18 +0000 (12:53 +0900)]
[Meson] configuration to install ini
add config to set sub-plugins install prefix
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
MyungJoo Ham [Wed, 30 Jan 2019 10:14:15 +0000 (19:14 +0900)]
[DIST] Install /etc/nnstreamer.ini
Users can configure the locations of decoder/filter subplugins.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 31 Jan 2019 01:47:35 +0000 (10:47 +0900)]
[Test] runTest.sh typo
If statements of bash uses ==, not =, for equal-comparison
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Jan 2019 10:36:02 +0000 (19:36 +0900)]
[Conf] Bugfix of array out of bound
The last element of vstr should be NULL.
Set NULL for such elements
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Jan 2019 07:23:56 +0000 (16:23 +0900)]
[Conf] Bugfix: if no path is given, use current dir.
If path is NULL, don't give it to glib path library.
Use "./" instead.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 29 Jan 2019 09:15:05 +0000 (18:15 +0900)]
[Filter:*] Cut build dependency of filter-subplugin to filter
Enable tensor-filter subplugins to be built without
dependencies on tensor_filter.
After this commit, we can build filter subplugins with
the exported "tensor_typedef.h".
This enables #786 and #761
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 29 Jan 2019 09:06:17 +0000 (18:06 +0900)]
[Subplugin] Do not dlsym if it's already probed.
With dlopen, consturctor function is loaded, which
may call subplugin-probe.
If it has called subplugin-probe, registering the
subplugin to an element (filter/decoder) specific
internal list, we do not need to register it with
nnstreamer_subplugin structure.
- Add an internal API, "hold_register_subplugin", that
notified nnstremer_subplugin that it has probed already.
- Call "hold_register_subplugin" at probe function.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 29 Jan 2019 09:04:30 +0000 (18:04 +0900)]
Bugfix of nnstreamer_conf internal API
- Fix exported name of nnsconf_loadconf (typo)
- Fix incorrect enums of subplugin_prefixes (typo)
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 29 Jan 2019 14:46:03 +0000 (23:46 +0900)]
[Codeowner] Add kparichay to default reviewers
And, we do not need special reviewers for packaging any more.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
jijoong.moon [Wed, 16 Jan 2019 02:36:48 +0000 (11:36 +0900)]
[Repo] Add test case for repo dynamicity
In this PR, added repo test application. It constructs pipeline and
change slot id from 0 to 1 after spending time waiting for 200 micro
second.
repository
+------------+ +----------+ +-----------------+
| Multi-sink |<--| repo_src |<---+---| slot 0 |<---+--+
+------------+ +----------+ | +-----------------+ | |
+---| slot 1 |<---+ |
+-----------------+ |
|
+-----------+ +--------+ +-----------+ +-----------+ |
| Multi-src |-->| pngdec |-->| converter |-->| repo_sink |-----+
+-----------+ +--------+ +-----------+ +-----------+
**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>
Hyoung Joo Ahn [Fri, 25 Jan 2019 06:17:32 +0000 (15:17 +0900)]
[Decoder/Boundingbox] make decoder possible to handle tensorflow ssd model
make it available to process the output tensors of tensorflow ssd model
Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>