MyungJoo Ham [Wed, 4 May 2022 03:20:04 +0000 (12:20 +0900)]
test: disable converter test if python is not available.
converter test uses python scripts.
disable converter test if python is not available.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan [Tue, 19 Apr 2022 10:24:08 +0000 (19:24 +0900)]
[TEST/ntp] Add ntp unittest using GMock.
Add ntp uniitest using GMock.
Signed-off-by: gichan <gichan2.jang@samsung.com>
MyungJoo Ham [Wed, 13 Apr 2022 08:41:43 +0000 (17:41 +0900)]
Start Development of NNStreamer 2.1.1 (2.2 RC2)
This is the version marking for 2.1.1 development start.
As 2.1.0 is started on Sep 28 2021, the change is huge.
2.1.0 -> 2.1.1
- Tizen 7.0 M1 RCx preparation and NNStreamer Mini Summit 2022-04 release.
- NNStreamer-Edge refactoring (module for Among-Device AI (a.k.a. Edge-AI))
- Ongoing effort of nnstreamer-edge separation from nnstreamer.
- In the future, nnstreamer-edge will provide among-device AI functions and nnstreamer will provide gstreamer plugins for such functions. Non-gstreamer systems may connect to nnstreamer-edge based pipelines without gstreamer as clients.
- NNStreamer-Edge will be using AITT as its default backend, leaving protocol issues to AITT.
- In the future, nnstreamer-edge will be compatible with non-Linux ultra-lightweight systems (e.g., Tizen-RT)
- ML-Service API preparation is going on at api.git.
- Major features
- MQTT timestaamping w/ NTP. (later will be migrated to nnstreamer-edge & aitt)
- Query (later will be migrated to nnstreamer-edge & aitt): robustness support, mqtt-hybrid protocol, performance fixes for multi-clients.
- More coverage for SNPE support: quantized model support, SNPE dimension bug workaround, fixes from/for production team.
- Flexible tensor support w/ decoder, converter, flatbuffer.
- Minor features
- MQTT unittest basis, generic stream support, android support, timeout handling, ... (and many!)
- Utility functions exported for plugin writers.
- Tensorflow-lite delegation refactored for generality: may use XNNPACK more easily.
- Tensorflow-lite multi-lib support.
- PyTorch: support complex output tensor formats.
- NNStreamer multi-lib support.
- Decoder: boundingbox-yolov5
- Filter: TRIx-Engine support. (NPUs of Samsung 2022 TV)
- Docker support refactored and cleaned up.
- Fixes
- ARMNN build errors.
- Android errors
- Build errors with recent compiler updates. (gcc 11)
- Fixes upstreamed from productions
- Errors w/ library updates: Lua >= 5.3, GLib >= 2.68
- Regression fixes: openvino, edgetpu, tensorrt
- Memory leaks in C++ subplugin infra.
- Known issues: PPA/Launchpad build broken!
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 13 Apr 2022 09:52:54 +0000 (18:52 +0900)]
clang workaround of vsnprintf
With clang in macos:
/Users/runner/work/nnstreamer/nnstreamer/gst/nnstreamer/nnstreamer_log.c:97:48: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
vsnprintf (errmsg, _NNSTREAMER_ERROR_LENGTH, fmt, arg_ptr);
^~~
/Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:75:63: note: expanded from macro 'vsnprintf'
__builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
^~~~~~
1 error generated.
Add a workaround from
https://stackoverflow.com/questions/
20167124/vsprintf-and-vsnprintf-wformat-nonliteral-warning-on-clang-5-0
Note: gst-indent is applying indentation very strangely with __attribute__
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 13 Apr 2022 07:40:33 +0000 (16:40 +0900)]
common/api_util_impl: use internal error infra.
Save the internal error/info/warning message so that
caller may use the info for actual error message.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Mar 2022 10:12:59 +0000 (19:12 +0900)]
filter/core: elaborate error messages.
Elaborate error and warning messages so that users and developers
can easily point out and fix issues.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Mar 2022 10:12:08 +0000 (19:12 +0900)]
common/log: backtrace, internal err log
For debugging messages, add a backtrace function and internal err logging.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
yelini-jeong [Mon, 25 Apr 2022 07:03:04 +0000 (16:03 +0900)]
[TEST] Skip query test temporarily
This patch skips query test temporarily because of ppa build failure.
Signed-off-by: yelini-jeong <yelini.jeong@samsung.com>
Jaeyun [Fri, 22 Apr 2022 09:29:40 +0000 (18:29 +0900)]
[Decoder] integ division
Convert float value to get the object.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Tue, 19 Apr 2022 07:09:51 +0000 (16:09 +0900)]
[TEST/mqtt] Run get/set property test w/o mqtt broker
- Run get/set property test without mqtt broker.
- Add ntp prop set/get test.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jiho Chu [Fri, 8 Apr 2022 06:40:46 +0000 (15:40 +0900)]
[decoder/bounding_box] Support decoder for mediapipe palm detection
MP_PALM_DETECTION decoder for bounding box mode is presented. The model and
algorithm is based on mediapipe palm detection model and its
implementation.
Signed-off-by: Jiho Chu <jiho.chu@samsung.com>
Jaeyun [Tue, 12 Apr 2022 06:43:17 +0000 (15:43 +0900)]
[Filter] unnecessary initialization
Remove unnecessary init while parsing accel string.
- fetch fw info to parse accel for the case if nn framework is not opened.
- check fw info if open() callback of nn framework is not written.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 20 Apr 2022 06:01:38 +0000 (15:01 +0900)]
[CodeClean] fix svace issue
Fix svace issue - uninitialized variable.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Wed, 20 Apr 2022 01:43:12 +0000 (10:43 +0900)]
[Doc] Change CI server domain name
Change CI server domain name from nnstreamer.mooo.com to ci.nnstreamer.ai
Signed-off-by: gichan <gichan2.jang@samsung.com>
Yongjoo Ahn [Thu, 14 Apr 2022 09:19:14 +0000 (18:19 +0900)]
[test/transform] Add tests for per-channel
- Add simple unittests for per-channel operation
- Add a SSAT testcase making red RGB image with per-channel operation
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 12 Apr 2022 02:14:07 +0000 (11:14 +0900)]
[transform] Add per-channel feature for arithmetic op
- Add "per-channel" arithmetic op (see #3711 for details)
- The syntax:
```
tensor_transform mode=arithmetic
option=typecast:float32,per-channel:true@DIM,add:A1@CH,div:D1@CH
```
- DIM means the dimension which is viewed as channel
ex) For 3:4:4:1 incomming tensor, per-channel:true@0 means 0-th DIM
(value is 3) is the channel
- CH means the idx of channel that given operation is applied. If @CH is
missing, the operation is applied to all channels.
ex) add:255@0 means add 255 to the 0-th channel (which is R among the
RGB)
- Usage example:
```
$ gst-launch-1.0 videotestsrc pattern=2 num-buffers=1 ! videoscale !
videoconvert ! video/x-raw,format=RGB,width=2,height=2 !
tensor_converter ! tensor_transform mode=arithmetic
option=typecast:float32,per-channel:true@0,add:1.5@0,add:2.5@1,mul:2 ! filesink
location=out.log
$ od -f out.log
0000000 3 5 0 3
0000020 5 0 3 5
0000040 0 3 5 0
0000060
```
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Sangjung Woo [Wed, 6 Apr 2022 12:14:39 +0000 (21:14 +0900)]
[Tests/Rate] Apply test fixture to remove duplicate code
To remove duplicate code in each test case, this patch applies
the test fixture framework of Google Test. It increases
maintainability and modifiability.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Wed, 6 Apr 2022 01:59:46 +0000 (10:59 +0900)]
[Test/Single] Apply test fixture to remove duplicate code
To remove duplicate code in each test case, this patch applies the test
fixture framework. Moreover, g_autofree macro is used for allocated
space to be freed automatically no matter test case is passed or not.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Mon, 18 Apr 2022 07:11:27 +0000 (16:11 +0900)]
[subplugin] g_module_open with LOCAL flag (instead of GLOBAL)
- When tf1-lite and tf2-lite both are present, the later called
subplugin is not initalized. It's because the constructor functions
are same as "init_filter_tflite".
e.g.) `g_module_open (...tf1lite.so, 0)` will call "init_filter_tflite" of
tf2lite.so.
- This resolves #3709
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Thu, 14 Apr 2022 05:39:38 +0000 (14:39 +0900)]
[README] Fix daily build log link
- Fix invalid log link of the ubuntu daily build.
- Change link of the badges to daily log path.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Fri, 8 Apr 2022 02:52:19 +0000 (11:52 +0900)]
[CodeClean] fix svace issue
1. Set interpreter lock while replacing interpreter in tf-lite sub-plugin.
2. Remove unreached code in converter.
3. Clearly check file ext (bmp) in test util.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 7 Apr 2022 09:18:03 +0000 (18:18 +0900)]
[CodeClean] fix svace issue
Code clean, fix svace issue in testcase.
- count failure while loading data from file.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 7 Apr 2022 11:54:01 +0000 (20:54 +0900)]
[Filter] svace issue
Fix svace issue - dereference after null check.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Tue, 5 Apr 2022 01:31:33 +0000 (10:31 +0900)]
Fix ubuntu meson build github action
Fixed syntax error.
Run test action.
todo: register unit tests properly for meson test.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Junhwan Kim [Wed, 18 Aug 2021 07:32:06 +0000 (16:32 +0900)]
[Filter] Reload shared model
Support model reload for shared model
- Update common method to replace interpreter for instances sharing the key
Signed-off-by: Junhwan Kim <jejudo.kim@samsung.com>
MyungJoo Ham [Wed, 30 Mar 2022 02:17:07 +0000 (11:17 +0900)]
github-action: Ubuntu clean meson build test
Test build & TC in a latest Ubuntu system with meson/ninja clean build.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Mar 2022 03:29:57 +0000 (12:29 +0900)]
github-action: macos build
Add macos build github action with brew
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 30 Mar 2022 10:24:32 +0000 (19:24 +0900)]
test: ppa/armhf timeout
We have the following error at PPA for armhf build:
```
../tests/nnstreamer_converter/unittest_converter.cc:409: Failure
Value of: wait_pipeline_process_buffers (data_received, 1, TEST_TIMEOUT_MS)
Actual: false
Expected: true
../tests/nnstreamer_converter/unittest_converter.cc:414: Failure
Expected: (caps) != (nullptr), actual: NULL vs 4-byte object <00-00 00-00>
(unittest_converter:16055): GStreamer-CRITICAL **: 06:06:01.349: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
../tests/nnstreamer_converter/unittest_converter.cc:416: Failure
Expected: (structure) != (nullptr), actual: NULL vs 4-byte object <00-00 00-00>
** (unittest_converter:16055): CRITICAL **: 06:06:01.351: gst_tensors_config_from_structure: assertion 'structure != NULL' failed
../tests/nnstreamer_converter/unittest_converter.cc:418: Failure
Expected: 1U
Which is: 1
To be equal to: config.info.num_tensors
Which is: 0
```
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 8 Mar 2022 09:40:12 +0000 (18:40 +0900)]
converter: elaborate error messages
When there is a pipeline error, especially at the construct phase,
users need elaborated error messages that provide useful infomation
to correct pipeline descriptions.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 22 Mar 2022 08:53:26 +0000 (17:53 +0900)]
common: to_string() for tensors_config & tensors_info
For debugging and logging purposes,
add to_string() functions for tensors-config and tensors-info
structures.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 28 Feb 2022 07:56:14 +0000 (16:56 +0900)]
Doc: data-types update with 2.0
NNStreamer 2.0 has updated data types significantly.
Update the documents accordingly.
Fixes #3661
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 29 Mar 2022 07:25:42 +0000 (16:25 +0900)]
filter:pytorch: use %G_GSIZE_FORMAT for printing gsize
There are different definitions for gsize.
Use %G_GSIZE_FORMAT for the portability
Note that #3699 was not portable enough.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Tue, 29 Mar 2022 03:27:30 +0000 (12:27 +0900)]
CODEOWNERS: update reviewer list
We have new members and members quiting.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 28 Mar 2022 02:30:56 +0000 (11:30 +0900)]
filter:pytorch: armhf error in PPA (print format)
Fix the print format string error:
```
In file included from /usr/include/glib-2.0/glib.h:62:0,
from ../gst/nnstreamer/nnstreamer_log.h:75,
from /<<PKGBUILDDIR>>/ext/nnstreamer/tensor_filter/tensor_filter_pytorch.cc:29:
/<<PKGBUILDDIR>>/ext/nnstreamer/tensor_filter/tensor_filter_pytorch.cc: In member function ‘int TorchCore::validateOutputTensor(at::Tensor, unsigned int)’:
/usr/include/glib-2.0/glib/gmessages.h:336:43: error: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘gsize {aka unsigned int}’ [-Werror=format=]
__VA_ARGS__)
^
../gst/nnstreamer/nnstreamer_log.h:79:17: note: in expansion of macro ‘g_critical’
#define ml_loge g_critical
^~~~~~~~~~
/<<PKGBUILDDIR>>/ext/nnstreamer/tensor_filter/tensor_filter_pytorch.cc:348:5: note: in expansion of macro ‘ml_loge’
ml_loge ("Invalid output meta: different element size at index %d. Found size %ld while expecting size %ld. Update the tensor shape/size to resolve the error.",
^~~~~~~
/usr/include/glib-2.0/glib/gmessages.h:336:43: error: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘gsize {aka unsigned int}’ [-Werror=format=]
__VA_ARGS__)
^
../gst/nnstreamer/nnstreamer_log.h:79:17: note: in expansion of macro ‘g_critical’
#define ml_loge g_critical
^~~~~~~~~~
/<<PKGBUILDDIR>>/ext/nnstreamer/tensor_filter/tensor_filter_pytorch.cc:348:5: note: in expansion of macro ‘ml_loge’
ml_loge ("Invalid output meta: different element size at index %d. Found size %ld while expecting size %ld. Update the tensor shape/size to resolve the error.",
^~~~~~~
```
Related with #3698
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Thu, 17 Mar 2022 11:25:06 +0000 (20:25 +0900)]
[test/snpe] Add unittest for snpe filter's user buffer mode
- Add two simple cases to test user buffer execution
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 15 Mar 2022 07:44:30 +0000 (16:44 +0900)]
[filter/snpe] Support "user supplied buffer" for snpe
- Support "userbuffer" for snpe filter
- With this mode, the memcpy from/into model's input/output does not occur
- Note that it only supports float type
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Fri, 18 Mar 2022 09:34:28 +0000 (18:34 +0900)]
[converter/python3] Temporarily remove Py_Finalize
Tizen issues: After python version has been upgraded from 3.9.1 to 3.9.10, python converter is stopped at Py_Finalize.
Since Py_Initialize is not called twice from this object, Py_Finalize is temporarily removed.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Fri, 18 Mar 2022 06:38:33 +0000 (15:38 +0900)]
Revert "[TEST] Disable python converter tests."
This reverts commit
96142d9582507784fc11bb115bc117f34eed625b.
Signed-off-by: gichan <gichan2.jang@samsung.com>
MyungJoo Ham [Thu, 17 Mar 2022 03:26:12 +0000 (12:26 +0900)]
filter/pytorch,caffe2: they have redundant decls.
Add -Wredundant-decl only when !(pytorch or caffe2), not !(pytorch and caffe2).
Even when only one of the two are included, they have redundant decl warnings.
It appears that we haven't tested cases where only one of pytorch and caffe2 is
enabled.
Fixes #3693
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 7 Mar 2022 09:27:41 +0000 (18:27 +0900)]
doc: update README and products
- Update paper link
- Update support hardware
- Update product lists
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Tue, 8 Mar 2022 11:37:14 +0000 (20:37 +0900)]
[Build/PyUtil] dependency to py-util
Add link to python util library in meson.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 7 Mar 2022 09:37:13 +0000 (18:37 +0900)]
[CodeClean/Python] possible leak in python subbplugin
Code clean,
1. possible leak and exception to load python module.
2. remove unnecessary macro.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Thu, 3 Mar 2022 01:47:41 +0000 (10:47 +0900)]
[TEST/cpp] Wait until pipeline save the files
Wait until pipeline save the files.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Yongjoo Ahn [Fri, 4 Mar 2022 09:02:20 +0000 (18:02 +0900)]
[build/tflite] Check each delegate symbol in build time
- Check each tflite delegate symbol by linking with tflite dep in build time
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 3 Mar 2022 08:25:56 +0000 (17:25 +0900)]
[Log] exporting logger
Log util is available only in nnstreamer repo.
Remove exporting the header for logging.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Aymen Sghaier [Tue, 1 Mar 2022 14:12:37 +0000 (15:12 +0100)]
[SSAT] Enable filter_python3 test to run on target
- remove exit if build folder not exists
- bypass pushd failure if build folder not exists
Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
Jaeyun [Fri, 4 Mar 2022 02:50:19 +0000 (11:50 +0900)]
[Pkg] add filter-single header
dev-internal pkg should include filter-single header for single-shot API.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Mon, 7 Mar 2022 03:35:38 +0000 (12:35 +0900)]
[TEST] Disable python converter tests.
TEMPORAL SOLUTIONS: PLEASE REVERT THIS COMMIT AFTER FIXING THE ISSUE.
When the Python tensor converter test is completed, a deadlock occurs.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Wed, 2 Mar 2022 09:02:39 +0000 (18:02 +0900)]
[Util] fix typo and license
Fix typo and license in util functions and header.
Update internal function description and remove unnecessary param.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Thu, 24 Feb 2022 06:53:50 +0000 (15:53 +0900)]
[tensor_filter] Modify the order of caps_intersect_full
- The pipeline reported in #3636 has nego fail issue because the caps is
fixated with flexible right after tensor_filter.
- To resolve this, change the order of `gst_caps_intersect_full` in transform_caps.
This makes static format to be chosen.
- This resolves #3636
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 24 Feb 2022 06:41:51 +0000 (15:41 +0900)]
[tests] Add a ssat testcase to check proper negotiation
- Test whether tensor_filter - tensor_transform pipeline can be
negotiated with static format, not flexible format.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 22 Feb 2022 09:33:13 +0000 (18:33 +0900)]
[transform] Fix transform_caps in direction GST_PAD_SRC
- Since tensor_transform cannot specify the sinkpad's type caps in some modes,
let the `transform_caps` remove the field in that case
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 22 Feb 2022 09:20:02 +0000 (18:20 +0900)]
[fix/common] Fix calling g_string_append with null
- Check null before call g_string_append
- This removes the logs `g_string_insert_len: assertion 'len == 0 || val != NULL' failed`
REF: #3666
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Wed, 2 Mar 2022 06:09:15 +0000 (15:09 +0900)]
[Util] util function to compare tensor-config
remove gst-dependency to compare tensor config.
add return val of invalid condition.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Fri, 18 Feb 2022 03:19:16 +0000 (12:19 +0900)]
[fix/tests] Fix mem-leak issues in some unittests
- Fix minor mem-leak in lua, snpe, tvm unittests
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 18 Feb 2022 03:17:40 +0000 (12:17 +0900)]
[fix/lua] Fix mem-leak of lua filter
- Use smart pointer for lua script
- Fix minor typo
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 18 Feb 2022 03:14:55 +0000 (12:14 +0900)]
[fix/filter] Add check for model file in some filters
- Add check for `G_FILE_TEST_IS_REGULAR` in some cpp class based filters
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Mon, 7 Feb 2022 06:55:58 +0000 (15:55 +0900)]
[Single] Rename single-shot files
- Rename the files related to tensor common functions.
renamed: gst/nnstreamer/include/nnstreamer_plugin_api_single.h -> gst/nnstreamer/include/nnstreamer_plugin_api_util.h
renamed: gst/nnstreamer/tensor_common.c -> gst/nnstreamer/nnstreamer_plugin_api_impl.c
renamed: gst/nnstreamer/tensor_common_single.c -> gst/nnstreamer/nnstreamer_plugin_api_util_impl.c
- Remove unnecessary pipeline utils from nnstreamer-internal header.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Fri, 28 Jan 2022 11:26:52 +0000 (20:26 +0900)]
[TEST] Remove gst dep from singleshot test
Remove gst dependency from singleshot test
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Fri, 28 Jan 2022 10:44:14 +0000 (19:44 +0900)]
[Filter] Remove gst dependency from filter subplugins.
Remove gst dependency from tensor filter subplugins.
- tensorflow, tensorflow-lite, pytorch, nnfw,caffe2
TODO: Other subplugins later.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Gichan Jang [Wed, 26 Jan 2022 01:54:09 +0000 (10:54 +0900)]
[Filter] Remove gst dep from single-shot
- Remove gst dependency from single-shot.
- Separate single-shot package from nnstreamer(pipeline)
- nnstreamer depends nnstreaner-single package.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Yongjoo Ahn [Tue, 9 Nov 2021 05:57:56 +0000 (14:57 +0900)]
[tests/tflite] Add tests for tflite2
- Set tensor_filter_ext_enabled when tflite2_support is available
- Add a gtest based test to examine the XNNPACK delegate
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 9 Nov 2021 05:50:03 +0000 (14:50 +0900)]
[tflite] Support tflite v2.7.0 for tizen and deian
- Remove unnecessary gles dependency
- Support newly introduced xnnpack delegate
- Remove unnecessary build options
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Thu, 24 Feb 2022 03:39:15 +0000 (12:39 +0900)]
[Filter/trix-engine] Fix svace issue
- Initialize class member.
- Fix bad copy and paste
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Wed, 16 Feb 2022 02:06:28 +0000 (11:06 +0900)]
[TEST] Increase sleep time of the query test
1 second sleep time is not enough to operate query server.
see: https://github.com/nnstreamer/nnstreamer/issues/3657#issuecomment-
1038708557
Signed-off-by: gichan <gichan2.jang@samsung.com>
Parichay Kapoor [Thu, 3 Feb 2022 03:12:24 +0000 (12:12 +0900)]
[filter] Support complex output types for pytorch
This patch adds support for complex output types for pytorch, where the
complex output is serialized before being passed out to the gstreamer
based element - tensorfilter.
V2:
- Added more comprehensive error messages
- Added indentation fix
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
yelini-jeong [Tue, 22 Feb 2022 04:42:50 +0000 (13:42 +0900)]
[Build] Disable trix engine support for TV releases
This patch disables trix_engine_support for TV releases.
Signed-off-by: yelini-jeong <yelini.jeong@samsung.com>
gichan [Mon, 21 Feb 2022 02:21:15 +0000 (11:21 +0900)]
Fix build error - unused param, sign comapre
Fix build error caused by unused param.
- Ignore auto generated files (flatbuf, protobuf)
Fix different sign compare
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Tue, 15 Feb 2022 02:33:26 +0000 (11:33 +0900)]
[MqttSrc/Sink] release mqtt handle
Destroy mqtt-async handle when the element instance is finalized.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Fri, 11 Feb 2022 04:56:42 +0000 (13:56 +0900)]
[Svace] fix svace issues
Fix svace issues
- init local variable
- check allocation failure case
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Fri, 11 Feb 2022 07:30:34 +0000 (16:30 +0900)]
[trivial/doc] Update android guide: gstreamer v1.16.2 -> v1.20.0
- Update android guide: gstreamer version v1.16.2 -> v1.20.0
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 4 Feb 2022 04:51:57 +0000 (13:51 +0900)]
[test/ssat] Disable proto flat flex buf SSAT tests when there are no supports
- Disable protobuf, flatbuf, flexbuf SSAT tests when related libs did not built
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Wook Song [Sat, 29 Jan 2022 02:08:13 +0000 (11:08 +0900)]
[Docker] Remove the existing Dockerfiles for Ubuntu 16.04 and 18.04
This patch replaces the existing Dockerfiles corresponding to Ubuntu
16.04 and 18.04 each with the one Dockerfile that has adopted
multi-stage build and build-args concepts.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Sat, 29 Jan 2022 03:53:36 +0000 (12:53 +0900)]
[Docker/README] Add brief instructions on Docker support
This patch adds a README.md file to give brief instructions on getting
started NNStreamer with Docker.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 31 Dec 2021 10:49:31 +0000 (19:49 +0900)]
[Docker] Containerize the minimal running environment
This patch modifies the unified Dockerfile to containerize the minimal
running environment of NNStreamer. By using the build argument,
MIN_RUN_ENV, it is possible to build the image installed nnstreamer,
nnstreamer-core, and nnstreamer-configuration packages only.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 29 Oct 2021 08:25:26 +0000 (17:25 +0900)]
[Docker] Add another stage containing the runtime environment
This patch adds another stage to provide the runtime environment of
NNStreamer using the *.deb files created from the previous build stage.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Fri, 29 Oct 2021 08:09:14 +0000 (17:09 +0900)]
[Docker] Add an intermediate stage that runs debuild
This patch adds an intermediate stage which runs debuild to create
debian packages from the nnstreamer source code at the first development
environment stage. Note that a workaround has been applied in order to
temporarily avoid the unittest_mqtt failure issue.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 30 Sep 2021 12:40:37 +0000 (21:40 +0900)]
[Docker] Integrate the multiple dockerfiles into one
To integrate the multiple dockerfiles into universal one, this patch
introduces the concept of a build-time variable, ARG, and multi-stage
builds in the Dockerfile.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun [Fri, 21 Jan 2022 07:48:11 +0000 (16:48 +0900)]
[Meson/TRIx] target dependency for trix engine
Define target library to build filter-subplugin for trix-engine.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 3 Feb 2022 11:33:44 +0000 (20:33 +0900)]
[MQTTSrc] default options before initializaion
Bug fix, set default value after initializing connection option.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Parichay Kapoor [Thu, 27 Jan 2022 08:44:04 +0000 (17:44 +0900)]
[filter] Bug fix for pytorch filter with gpu
ptyorch filter when working with gpu backend had bug when converting
between the devices. The tensors returned by the conversion were not
catched. This patch provides the corresponding fix.
Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
Yongjoo Ahn [Mon, 27 Dec 2021 13:31:16 +0000 (22:31 +0900)]
[test/pytorch] Add ssat test for multiple input/output tensor model
- Add a simple test for pytorch model whose input and output are multiple tensors
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 21 Dec 2021 05:18:54 +0000 (14:18 +0900)]
[filter/pytorch] Add support for tuple type output
- Support torch script model whose output value is `Tuple`
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Thu, 13 Jan 2022 02:37:51 +0000 (11:37 +0900)]
[Query] Fix invalid return value
Fix invalid return value when caps is same.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Thu, 13 Jan 2022 00:46:39 +0000 (09:46 +0900)]
[Doc] Fix and add new feature of the query.
- Fix capability of the query server and client.
- Add about mqtt-hybrid
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Signed-off-by: gichan <gichan2.jang@samsung.com>
Sangjung Woo [Fri, 14 Jan 2022 10:41:02 +0000 (19:41 +0900)]
[Test] Add test cases for extra configuration
This patch newly adds the test cases for extra configuration.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Tue, 14 Dec 2021 03:20:34 +0000 (12:20 +0900)]
[INI] Add extra configuration for product support
The product team wants to update the nnstreamer configuration (i.e.
/etc/nnstreamer.ini). However, the partition is Read-Only so it is not
updatable. Because of this reason, they want another nnstreamer
configuration file to meet their request such as product-specific
allowed elements. This patch newly adds the nnstreamer extra
configuration file for product support.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Dongju Chae [Wed, 12 Jan 2022 06:33:14 +0000 (15:33 +0900)]
[TRIx-Engine] Add TRIx-Engine plugin
This patch adds TRIx-Engine tensor filter subplugin implementation.
It requires TRIV2 NPU HW and devel packages from the upstream tizen repo.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
Jaeyun [Fri, 14 Jan 2022 11:03:36 +0000 (20:03 +0900)]
[Build] unnecessary build dependency
Update unnecessary dependency of filter sub-plugins.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Mon, 3 Jan 2022 07:25:10 +0000 (16:25 +0900)]
[decoder/bounding_box] Support decoder for yolov5
- Add feature for decoding yolov5 model's output
- Tested with tflite models from https://github.com/ultralytics/yolov5/releases/tag/v6.0
REF: https://github.com/ultralytics/yolov5
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 30 Dec 2021 04:19:17 +0000 (13:19 +0900)]
[trivial] Fix some typos in tensordec-boundingbox.c
- Fix some trivial typo issues
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Sangjung Woo [Thu, 13 Jan 2022 07:33:54 +0000 (16:33 +0900)]
[Spec] Enable SNPE filter on DA profile
Tizen Robot Vacuum cleaner needs the SNPE filter. This patch enables it
on the DA profile.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Gichan Jang [Tue, 11 Jan 2022 06:49:02 +0000 (15:49 +0900)]
[Test] Fix python custom converter test fail
Getting result from python json pareser, result string doesn't contain
null char, the test fails.
Add null char to the string from python json parser.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Tue, 11 Jan 2022 04:32:15 +0000 (13:32 +0900)]
[trivial] Fix CRLF endend files to be LF ended
- Replace CRLF with LF
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Mon, 10 Jan 2022 08:20:16 +0000 (17:20 +0900)]
[Doc] Update debuild guide.
Add description for nnfw ppa.
Related issue: #3612
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Sangjung Woo [Thu, 6 Jan 2022 10:23:46 +0000 (19:23 +0900)]
[Conf] Update the name of 'restricted-elements'
The name 'restricted-elements' of nnstreamer configuration is not
matched as its real operation. This patch renames it to
'allowed_elements'.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Fri, 7 Jan 2022 03:31:34 +0000 (12:31 +0900)]
[Test/Build] fix error on old machine
Fix implicit declaration on old machine.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Gichan Jang [Thu, 30 Dec 2021 07:37:02 +0000 (16:37 +0900)]
[TEST] Changed the comparison method of the padded video.
If the test runs with the valgrind, the comparison of the padded video fails.
(Related issue: https://github.com/nnstreamer/nnstreamer/issues/1367)
Zero was padded when running without the valgrind, but trash value was padded when running with the valgrind.
The comparison of the padded data is meaningless, it is modified to compare only the actual data.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Wed, 5 Jan 2022 03:27:59 +0000 (12:27 +0900)]
[TEST] Move replace_string to unittest_util.
Since `repace_string` is copied to nnstreamer/api and `replace_string` is only used for unit test, moves it to unit test util.
And the test related to `replace_string` is moved to nnstreamer/api.
Test to replace string to check unintended change.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Wed, 5 Jan 2022 08:45:15 +0000 (17:45 +0900)]
[Filter] set default fw in common
Fix mem leak, init default framework in filter-common function.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>