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>
Yongjoo Ahn [Wed, 5 Jan 2022 08:20:53 +0000 (17:20 +0900)]
[fix/bug] Fix destructor of cpp class subplugin
- Fix pointer for subplugin in `cpp_close`
- Fix edgetpu and snpe filter's model path free function
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Wed, 29 Dec 2021 07:40:12 +0000 (16:40 +0900)]
[TEST] Wait for the server to start and fix comment.
- Wait for the server to start.
If client attempts to connect to the server when the server is not ready, it may fails.
Previous PR, sleep time was omitted only in Test 7.
- Fix invalid comment.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Wed, 29 Dec 2021 04:51:01 +0000 (13:51 +0900)]
[Spec] Remove invalid elements from restricted elements.
Remove invalid elements from restricted elements.
queryclient -> tensor_query_client
queryserversrc -> tensor_query_serversrc
queryserversink -> tensor_query_serversink
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Thu, 23 Dec 2021 05:43:07 +0000 (14:43 +0900)]
[TEST/util] Change getTempFileName function
When creating a temp file name, it is set to create a unique name, but duplicated temp names may occasionally generated because we remove generated file and get the temp name only.
So sometimes duplicated temp filed names generated when creating temp filenames multiple times.
For example, generate tmp filename 5 times, tmp2 and tmp3 is duplicated.
[ 200s] ** (unittest_cppfilter:132252): CRITICAL **: 05:07:52.416: tmp1: /tmp/nnstreamer_unittest_temp_UJOPE1
[ 200s]
[ 200s] ** (unittest_cppfilter:132252): CRITICAL **: 05:07:52.416: tmp2: /tmp/nnstreamer_unittest_temp_VIOPE1
[ 200s]
[ 200s] ** (unittest_cppfilter:132252): CRITICAL **: 05:07:52.416: tmp3: /tmp/nnstreamer_unittest_temp_VIOPE1
[ 200s]
[ 200s] ** (unittest_cppfilter:132252): CRITICAL **: 05:07:52.416: tmp4: /tmp/nnstreamer_unittest_temp_AJOPE1
[ 200s]
[ 200s] ** (unittest_cppfilter:132252): CRITICAL **: 05:07:52.416: tmp5: /tmp/nnstreamer_unittest_temp_ILOPE1
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Mon, 13 Dec 2021 08:37:07 +0000 (17:37 +0900)]
[Common] Add error message for tensor common functions
Add error message for tensor common functions.
Signed-off-by: gichan <gichan2.jang@samsung.com>
yelini-jeong [Thu, 16 Dec 2021 06:55:01 +0000 (15:55 +0900)]
[Coverity] Fix use after free
This patch fixes coverity issues (WGID 131439, CID 1243725)
Signed-off-by: yelini-jeong <yelini.jeong@samsung.com>
Julien Vuillaumier [Wed, 15 Dec 2021 18:23:21 +0000 (19:23 +0100)]
[Filter/TFLite] Fix delegates deleter usage
On pipeline stop, crash in TFLite filter may be seen with some
delegates with log signature:
Setting pipeline to NULL ...
free(): invalid pointer
Pipeline termination procedure is then aborted.
TFlite delegates shall be released by specific deleter, provided
by their respective interface.
TFLite filter implementation manages delegates instance with
smart pointers for automatic disposal when interpreter goes out of
of scope.
Care should be taken to bind relevant delegate deleter to the
smart pointer, otherwise trivial deleter is used for the managed
pointer which may crash.
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Gichan Jang [Fri, 10 Dec 2021 09:13:52 +0000 (18:13 +0900)]
[Query] Check whether cap is fixed or not.
- Check whether the cap is fixed or not before setting the cap.
- If the tensor format is not fixed, static is set as default format.
- Set the framerate of the source to the same as the sink.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Tue, 14 Dec 2021 07:18:51 +0000 (16:18 +0900)]
[Query] error handing in query-server init
Fix possible resource leak - handle error case in query-server init.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Tue, 14 Dec 2021 07:39:02 +0000 (16:39 +0900)]
[Test/Query] fix invalid param
Fix invalid param - instance after launching test pipeline.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Dongju Chae [Tue, 14 Dec 2021 06:25:06 +0000 (15:25 +0900)]
[Typo] Fix some typos in query serversink
This patch fixes some typos in query serversink.
Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
MyungJoo Ham [Mon, 13 Dec 2021 08:07:42 +0000 (17:07 +0900)]
filter/tensorflow-lite: loadModel error message
For developers, we need to elaborate error messages.
The error messages should have enough information to
understand what's wrong and what to fix.
We will be updating all error messages of nnstreamer.
This helps #3603
This is part of #3475
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Mon, 13 Dec 2021 11:29:57 +0000 (20:29 +0900)]
[Query] client id in connection handle
1. Add new function to set client ID.
2. Remove unnecessary value - protocol in cmd data. The connection handle includes this value.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Gichan Jang [Thu, 9 Dec 2021 09:11:41 +0000 (18:11 +0900)]
[Query] Set timestamp for each buffer.
Set timestamp for each buffer.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Thu, 4 Nov 2021 06:41:15 +0000 (15:41 +0900)]
[Decoder] Decode tensors to octet stream.
Decode tensors to octet stream.
If tensor format is flexible, remove the header.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Gichan Jang [Fri, 10 Dec 2021 02:10:59 +0000 (11:10 +0900)]
[TEST] Change filesink buffer mode.
Change filesink buffer mode to ubnuffered.
Related issue: https://github.com/nnstreamer/nnstreamer/issues/3275
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Tue, 7 Dec 2021 08:42:04 +0000 (17:42 +0900)]
[Query] Change error message when GstMeta is invalid.
Some GStreamer element don't copy GstMeta. So tensor query cannot handle
buffer.
Change error message when GstMeta is invalid and stop pipeline.
The available elements table is not completed yet and will change frequently, so I will write it on the wiki page first.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Thu, 9 Dec 2021 01:23:30 +0000 (10:23 +0900)]
[filter] Add a time duration log of filter open
- Some filter using hardware accelerator consume quite time for loading model file.
- Add log for what time it takes.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 9 Dec 2021 07:18:36 +0000 (16:18 +0900)]
[Query] fix invalid data size
1. Fix invalid data size - caps string length.
2. Clearly define client and server param and update log message.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Fri, 19 Nov 2021 05:51:41 +0000 (14:51 +0900)]
Test: enhancing log behaviors for unittest
1. Add a dlog_print hijacker that makes dlog calls independent
from dlog daemon and drivers. As a result, developers can now
read the dlog log messages of unittests in gbs environment.
2. Clean up a bit of meson.build dependency declaration of
unit tests.
3. A unit test without direct dlog call is updated to call
it directly so that the hijacker is linked (edgetpu).
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Gichan Jang [Wed, 8 Dec 2021 08:25:49 +0000 (17:25 +0900)]
[Doc] Add meson build example.
Add a simple example of the meson build for a beginner.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Jaeyun [Wed, 8 Dec 2021 05:43:07 +0000 (14:43 +0900)]
[Common] change log level to get tensor-config
Change log level and add proper message to set default tensor format.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
yelini-jeong [Tue, 7 Dec 2021 07:48:32 +0000 (16:48 +0900)]
[doc] query and image update
This patch updates query and image for tutorial 4
Signed-off-by: yelini-jeong <yelini.jeong@samsung.com>
MyungJoo Ham [Mon, 6 Dec 2021 02:42:19 +0000 (11:42 +0900)]
meson: use version_copmare()
Do not compare version strings with general operators.
Use version_compare() API instead.
Reported by #3591
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun [Thu, 2 Dec 2021 10:01:43 +0000 (19:01 +0900)]
[Query] set default timeout
Define common timeout for tensor-query.
TODO: we should handle timeout in query-server elements.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Thu, 2 Dec 2021 09:36:14 +0000 (18:36 +0900)]
[Query/CodeClean] remove unnecessary util functions
Code clean on tensor-query elements.
1. fix build issue on old machine (undefined ref).
2. remove unnecessary util functions.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 1 Dec 2021 10:41:26 +0000 (19:41 +0900)]
[Query] util function to receive data
Add util function to receive data and generate gst-buffer.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Julien Vuillaumier [Mon, 29 Nov 2021 14:08:30 +0000 (15:08 +0100)]
meson.build: Fixup for multilib support
meson.build:
moved nnstreamer_prefix definition upward, before its first usage.
packaging/nnstreamer.spec:
corrected subplugindir definition to rely on actual %{_prefix} variable
and use the expected %{_prefix}/lib/nnstreamer path.
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
MyungJoo Ham [Fri, 5 Nov 2021 07:36:25 +0000 (16:36 +0900)]
meson.build: Fix sideeffects of subplugin install fix
The PR #3554 breaks conventional non-multilib builds of x64/aarch64
systems (Tizen/Ubuntu). This fixes this side-effect.
Todo: fix Yocto build afterwards.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Cherry-picked from https://github.com/panfir/nnstreamer/pull/1
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Cristinel Panfir [Thu, 4 Nov 2021 13:39:04 +0000 (15:39 +0200)]
meson.build: Fix subplugin install
Use 'libdir' for library path to cover a multilib envoironment.
These checks are usually done before release, for example in the scenario
where images are created for a 64-bit target (imx8 * boards) but which also
supports running 32-bit applications.
This is the error in a linux/yocto build:
| ERROR: nnstreamer-2.0.0-r0 do_package: QA Issue: nnstreamer: Files/directories were installed but not shipped in any package:
| /usr/lib/nnstreamer/customfilters/libnnstreamer_customfilter_passthrough_variable.so
| /usr/lib/nnstreamer/customfilters/libdummyLSTM.so
| /usr/lib/nnstreamer/customfilters/libnnstreamer_customfilter_scaler.so
| /usr/lib/nnstreamer/customfilters/libnnstreamer_customfilter_average.so
| /usr/lib/nnstreamer/customfilters/libnnstreamer_customfilter_scaler_allocator.so
| /usr/lib/nnstreamer/customfilters/libnnscustom_drop_buffer.so
| /usr/lib/nnstreamer/customfilters/libnnscustom_framecounter.so
| /usr/lib/nnstreamer/customfilters/libdummyRNN.so
| /usr/lib/nnstreamer/customfilters/libnnstreamer_customfilter_passthrough.so
| /usr/lib/nnstreamer/converters/libnnstreamer_converter_protobuf.so
| /usr/lib/nnstreamer/converters/libnnstreamer_converter_python3.so
| /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_bounding_boxes.so
| /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_direct_video.so
| /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_pose_estimation.so
| /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_image_labeling.so
| /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_image_segment.so
| /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_python3.so
| /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_protobuf.so
| /usr/lib/nnstreamer/filters/libnnstreamer_filter_cpp.so
| /usr/lib/nnstreamer/filters/libnnstreamer_filter_armnn.so
| /usr/lib/nnstreamer/filters/libnnstreamer_filter_python3.so
| /usr/lib/nnstreamer/filters/libnnstreamer_filter_tensorflow2-lite.so
| /usr/lib/nnstreamer/extra/nnstreamer_python3.so
| Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
| nnstreamer: 23 installed and not shipped files. [installed-vs-shipped]
Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
Cherry-picked from https://github.com/nnstreamer/nnstreamer/pull/3554
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
gichan [Wed, 24 Nov 2021 10:28:33 +0000 (19:28 +0900)]
[Mux/Merge] Change meta copy policy
Currently, GstMeta of the buffer from first pad is used.
Change to copy GstMeta same with sync mode of the tnesor mux and merge.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Wed, 1 Dec 2021 07:07:31 +0000 (16:07 +0900)]
[TEST] Wait for the server to start
Wait for the server to start.
If client attempts to connect to the server when the server is not
ready, it may fails.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Gichan Jang [Mon, 15 Nov 2021 03:21:57 +0000 (12:21 +0900)]
[Query] Change tensor query to accpet ANY caps
Change tensor query to accetp ANY caps.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Jaeyun [Wed, 1 Dec 2021 05:25:00 +0000 (14:25 +0900)]
[Query] util function to send gst-buffer
Code clean, add util function to send gst-buffer to destination.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Sangjung Woo [Wed, 1 Dec 2021 08:29:41 +0000 (17:29 +0900)]
[Spec] Add restricted_element_vd for VD element
This patch newly adds the restricted_element_vd for VD specialized
elements.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Wed, 1 Dec 2021 09:42:29 +0000 (18:42 +0900)]
[Query] fix invalid socket mode
Fix socket op mode, blocking IO is unnecessary with multi-threaded server node.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
yelini-jeong [Wed, 1 Dec 2021 06:56:26 +0000 (15:56 +0900)]
[Doc] Fix bad links
This patch fixes bad links in documentation.
Signed-off-by: yelini-jeong <yelini.jeong@samsung.com>
**Self evaluation:**
1. Build test: [ ]Passed [ ]Failed [X]Skipped
2. Run test: [ ]Passed [ ]Failed [X]Skipped
Yongjoo Ahn [Tue, 30 Nov 2021 06:22:50 +0000 (15:22 +0900)]
[fix/query] Fix the order of calling `g_socket_listener_set_backlog`
- backlog should be set before adding address or socket to listener.
REF:
https://people.gnome.org/~ebassi/docs/_build/Gio/method.SocketListener.set_backlog.html#description
- This commit should remove the following error logs:
```
...
GLib-GIO-CRITICAL **: 15:20:18.773: g_socket_set_listen_backlog: assertion '!socket->priv->listening' failed
...
```
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Julien Vuillaumier [Thu, 25 Nov 2021 10:27:06 +0000 (11:27 +0100)]
[Filter/TFLite] Fix XNNPACK fixed-address buffer handling
XNNPACK delegate requires fixed addresses for input and output tensors,
for consecutive invoke().
Therefore input and output tensors data coming from GStreamer buffers has
to copied into tensors buffer allocated by TFLite runtime.
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Julien Vuillaumier [Wed, 24 Nov 2021 11:09:39 +0000 (12:09 +0100)]
[Filter/TFLite] Add XNNPACK meson build option
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Julien Vuillaumier [Wed, 10 Nov 2021 15:45:19 +0000 (16:45 +0100)]
[Filter/TFLite] Disable default delegates usage
TFLite libray may be built to use default delegates when
no delegate is explicitly bound to the interpreter.
In case default delegates are not supported by TFLite filter,
system may crash.
Make sure that no default delegate is applied by using relevant
interpreter builder API available from TFLite 2.4 onward.
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Jaeyun [Wed, 3 Nov 2021 04:54:31 +0000 (13:54 +0900)]
[Elements] handle single mem chunk
If incoming buffer has single memory (case with gst-plugins), nnstreamer elements cannot generate output buffer (invalid memory chunks).
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 17 Nov 2021 08:46:58 +0000 (17:46 +0900)]
[Query] detach option on msg thread
Add attr to create message thread, to release thread resource.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
gichan [Fri, 29 Oct 2021 04:12:47 +0000 (13:12 +0900)]
[Flexbuf] Support flexible tensors for flexbuf.
Support flexible tensors for flexbuf.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Fri, 29 Oct 2021 01:38:37 +0000 (10:38 +0900)]
[Protobuf] Support flextensors for protobuf.
Support flexible tensors for protobuf.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Jaeyun [Mon, 15 Nov 2021 09:14:13 +0000 (18:14 +0900)]
[Query] null ptr in finalize callback
Clearly check the handles in finalize callback.
(e.g., gst-inspect shows gst-log if given handle is null.)
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Tue, 16 Nov 2021 00:34:43 +0000 (09:34 +0900)]
[Android/mqtt] Add mqtt sources to nnstreamer.mk
- Add mqtt sources to nnstreamer.mk
- Android api will build the gst element
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 15 Nov 2021 08:37:04 +0000 (17:37 +0900)]
[fix/mqttsrc] Set MQTTClient persistence mode to None
- Default persistence mode have not been tested on various targets.
- Set it to None mode sync-ing with mqttsink.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 15 Nov 2021 08:31:38 +0000 (17:31 +0900)]
[fix/mqttsrc] Fix data type of GstQueryType
- Fix to proper type.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Wed, 3 Nov 2021 07:26:13 +0000 (16:26 +0900)]
[Doc] Add nnstreamer tutorials
- Add NNStreamer tutorials.
- Change sitemap of the nnstreamer.github.io
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Thu, 28 Oct 2021 15:33:10 +0000 (00:33 +0900)]
[TEST] Add flatbuf for flexible tensors
Add flatbuf test for flexible tensors.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Thu, 28 Oct 2021 15:21:55 +0000 (00:21 +0900)]
[Converter] Support flextensor for flatbuf converter
Support flextensor for flatbuf converter.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Thu, 28 Oct 2021 13:06:20 +0000 (22:06 +0900)]
[Decoder] Support flexible tensors for flatbuf decoder
Support flexible tensors for flatbuf decoder.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Sangjung Woo [Fri, 29 Oct 2021 12:42:24 +0000 (21:42 +0900)]
[Spec] Enable SNPE filter on both In-House and public infra
To support NNStreamer filter for SNPE on both In-House build infra and
those of the public, this patch conditionally enables nnstreamer-snpe
rpm package when existing actual snpe library. (i.e. snpe.pc). In case
of the dummy SNPE package, nnstreamer-snpe rpm contains no files.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Jaeyun [Fri, 22 Oct 2021 07:30:11 +0000 (16:30 +0900)]
[Converter] convert bytes or flex-tensor without properties
1. convert bytes (octet stream) to flex-tensor when input info (type and dimension) is not denoted.
2. parse tensor-mata and convert to static when input is flexible tensor.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Gichan Jang [Tue, 19 Oct 2021 05:48:20 +0000 (14:48 +0900)]
[Query] Add data receving thread for server.
Query server is changed to receive data by generating threads for each client.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Julien Vuillaumier [Tue, 2 Nov 2021 13:58:59 +0000 (14:58 +0100)]
[Filter/TFLite] Add external delegate support
Implementation for support of TFLite framework external delegate.
External delegate usage requires possibility to configure:
- library name or path for the external delegate
- optional key/values pairs for delegate configuration
External delegate mode and associated configurations are setup at pipeline
definition time using tflite subplugin custom option.
Relevant custom variables:
- Delegate:External
- ExtDelegateLib:<delegate library name or full path>
Optional variable below:
- ExtDelegateKeyVal:<key1 name>#<value1>[;<key2 name>#<value2>[;...]]
Example:
custom=Delegate:External,ExtDelegateLib:libdelegate.so,ExtDelegateKeyVal:fookey#fooval;barkey#barval
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Julien Vuillaumier [Tue, 2 Nov 2021 13:49:08 +0000 (14:49 +0100)]
[Filter/TFLite] Add external delegate meson build option
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Jaeyun [Wed, 3 Nov 2021 04:42:51 +0000 (13:42 +0900)]
[Common] util function to handle tensors
With gstreamer plugins, nnstreamer element may receive gst-buffer with invalid memory chunks.
nnstreamer internally checks the number of tensors using the mem blocks in gst-buffer.
To handle multi tensors, add util function to separate memories in gst-buffer.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Gichan Jang [Thu, 4 Nov 2021 01:35:59 +0000 (10:35 +0900)]
[TEST] Disable MQTT Test when broker is not abvailable.
If the broker is not available, the mqtt element cannot be changed to the playing state.
However, harnesses are used in the mqtt test, and errors occur if harnesses cannot be changed to the playing state.
So, if there's no broker on the test environment, the test fails.
For example, the build on the lunch pad failed.
https://launchpadlibrarian.net/
566158157/buildlog_ubuntu-bionic-amd64.nnstreamer_2.1.0.0-0~
202110290743~ubuntu18.04.1_BUILDING.txt.gz
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Signed-off-by: gichan <gichan2.jang@samsung.com>
Julien Vuillaumier [Wed, 3 Nov 2021 13:46:09 +0000 (14:46 +0100)]
[Build] Add g_memdup2() support for glib >= 2.68
Update to fix build with glib version 2.68 and later
Legacy function:
gpointer g_memdup ( gconstpointer mem, guint byte_size )
is deprecated since version 2.68 and replaced by:
gpointer g_memdup2 ( gconstpointer mem, gsize byte_size )
Difference is byte_size argument type changed from guint to gsize.
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Yongjoo Ahn [Thu, 4 Nov 2021 04:32:51 +0000 (13:32 +0900)]
[test/tf2lite] Add filter extension test for tf2lite sub-plugin
- Add those unittest when tflite2_support is available
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 4 Nov 2021 04:25:56 +0000 (13:25 +0900)]
[test/tf2-lite] Add unittest for tensorflow2-lite
- Add gtest based unittests for tensorflow2-lite sub-plugin
They test the result of mobilenet models when the orange image is given
- Add a float type tflite model "mobilenet_v2_1.0_224.tflite"
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Thu, 28 Oct 2021 04:44:09 +0000 (13:44 +0900)]
[Converter/Doc] doc to convert octet stream
Update document to convert octet stream to static or flexible tensor.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Julien Vuillaumier [Wed, 3 Nov 2021 14:19:04 +0000 (15:19 +0100)]
[Test] Fix build issue with GCC 11 [-Werror=maybe-uninitialized]
Correction for build issue showing up with GCC 11
unittest_common.cc:953:51:
error: 'structure' may be used uninitialized [-Werror=maybe-uninitialized]
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Wook Song [Thu, 28 Oct 2021 05:31:10 +0000 (14:31 +0900)]
[UNITTEST] Handle the error case of run_unittests_binaries.sh
This patch handles the error case when the target is not given.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 28 Oct 2021 05:06:17 +0000 (14:06 +0900)]
[UNITTEST] Revise header comments of run_unittests_binaries.sh
This patch revises file description header comments in the script that
runs unit test binaries as follows:
- Apply the change of the script name
- Use more portable shebang
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 28 Oct 2021 04:49:19 +0000 (13:49 +0900)]
[UNITTEST] Add a skip option to the script running test cases
This patch adds an option to skip specific test cases to
run_unittests_binaries.sh.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Yongjoo Ahn [Wed, 3 Nov 2021 01:08:11 +0000 (10:08 +0900)]
[trivial] Fix sub-plugin check in TensorRT test
- Fix to check proper so file
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 29 Oct 2021 03:52:49 +0000 (12:52 +0900)]
[fix/test] Build edgetpu test when tflite2 is available
- Build edgetpu when the tflite2 (not only tflite) support is available
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 29 Oct 2021 03:51:51 +0000 (12:51 +0900)]
[fix/edgetpu] Handle unused variable in edgetpu filter
- Handle unused variables in the edgetpu filter source
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 29 Oct 2021 03:55:34 +0000 (12:55 +0900)]
[fix/openvino] Handle unused var in openvino filer
- Handle unused variables in tensor_filter_openvino.cc
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan [Mon, 18 Oct 2021 01:31:53 +0000 (10:31 +0900)]
[TEST] Add test for multiple query server src and sink
Add test for multiple query server src and sink.
Signed-off-by: gichan <gichan2.jang@samsung.com>