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>
gichan [Mon, 18 Oct 2021 01:08:01 +0000 (10:08 +0900)]
[Query] Use hash table for shared data of query server.
Use hash table for shared data of query server.
By assigning the id, multiple servers src and sinks may be used.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Signed-off-by: gichan <gichan2.jang@samsung.com>
MyungJoo Ham [Wed, 27 Oct 2021 14:37:03 +0000 (23:37 +0900)]
parser: disable if it's macos.
The parser code is not comaptible with macos.
Reenable after fixing them.
This is probably because of parser library versions.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 27 Oct 2021 14:32:34 +0000 (23:32 +0900)]
tensor-filter:lua Lua >= 5.3 is not supported.
Disable lua subplugin build if lua is >= 5.3
Reenable Lua >= 5.3 build if #3531 is fixed.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 27 Oct 2021 14:17:17 +0000 (23:17 +0900)]
tensor-query: cross-platform compatibility (non-Linux)
EREMOTEIO is Linux-specific error code.
For the compatibility with non-Linux systems,
define it if it's undefined.
This partially addresses #3440
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Wed, 27 Oct 2021 14:04:49 +0000 (23:04 +0900)]
tensor-filter-common: unnecessary usage of volatile
GLib-Once (g_once_init_enter/leave) have already taken
care of concurrency.
Its users do not need to worry about cache coherency or
concurrency issues for the initialization.
Actually, as #3440 is showing, the volatile keyword
is neglected by g_once_init_enter function, making
the usage of volatile meaningless anyway.
Remove volatile keyword and mitigate the first
compiler warning-error of #3440
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gichan [Mon, 11 Oct 2021 10:59:10 +0000 (19:59 +0900)]
[MQTT] Wait until connection is established.
Change to wait until connection is successfully established within timeout
limit.
This patch fix the error:
ERROR: MQTTSrc: cb_mqtt_on_connect_failure: failed to connect to the broker: TCP/TLS connect failure.
Test pipeline:
Publisher
```bash
$ gst-launch-1.0 videotestsrc is-live=true ! video/x-raw,format=RGB,width=640,height=480,framerate=5/1 ! mqttsink pub-topic=test/videotestsrc
```
Subscriber
```bash
$ gst-launch-1.0 mqttsrc sub-topic=test/videotestsrc ! video/x-raw,format=RGB,width=640,height=480,framerate=5/1 ! videoconvert ! ximagesink
```
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Jaeyun [Tue, 19 Oct 2021 07:22:42 +0000 (16:22 +0900)]
[svace] fix svace issue
Fix svace issue
- allocation with invalid size param
- possible int underflow
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Wed, 13 Oct 2021 02:44:44 +0000 (11:44 +0900)]
[Query] separate hybrid feature
Separate query-hybrid functions and fix build error.
- add new file for query-hybrid feature.
- change property name (mqtt-host > broker-host).
- function declaration on old ubuntu.
- mqtt-c library (downloaded from github released) requires thread.
- fix indent and code style.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Yongjoo Ahn [Fri, 8 Oct 2021 06:44:14 +0000 (15:44 +0900)]
[build/fix] Add Android log lib in meson
- Add android log lib dep when the platform is android.
- This resolves #3515
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 8 Oct 2021 06:37:58 +0000 (15:37 +0900)]
[build/fix] Fix sign-unsign compare
- Fix sing-unsign value comapre in tensordec-pose
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Julien Vuillaumier [Thu, 14 Oct 2021 08:20:38 +0000 (10:20 +0200)]
[armnn] compilation error - unused parameter
correction for occurences of compilation error below, when compilation
switch ENABLE_ARMNN_CAFFE is disabled.
error: unused parameter '[parameter name]' [-Werror=unused-parameter]
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Sangjung Woo [Tue, 12 Oct 2021 06:17:30 +0000 (15:17 +0900)]
[Doc] Fix the simple typo in tensor_quey doc
This patch fixes the simple typoes in tensor_quey README file.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Sangjung Woo [Wed, 13 Oct 2021 03:32:55 +0000 (12:32 +0900)]
[Query] Set TCP_NODELAY option to avoid buffering algorithm
Basically, the Nagle algorithm is enabled in TCP, which means that data
is buffered until there is a sufficient amount to send out. However, the
payload of Query should be sent as soon as possible, even if there is
only a small amount of data. This patch sets TCP_NODELAY option to avoid
buffering algorithm.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Gichan Jang [Wed, 6 Oct 2021 01:32:14 +0000 (10:32 +0900)]
[Query][NEED REVERT] Exclude tensor query from android build.
Exclude tensor query from android build until mqtt-hybrid is separated.
After the separation works, please revert this commit.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Fri, 1 Oct 2021 02:21:44 +0000 (11:21 +0900)]
[TEST] Add MQTT-hybrid test
Test robustness of the query pipeline.
Server 1 stops when it receivces 3 buffers and the client reconnects to server 2.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Thu, 30 Sep 2021 09:45:46 +0000 (18:45 +0900)]
[Query] Add mqtt state change callback.
Add mqtt state change callback instead of uncertain sleep.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
gichan [Thu, 30 Sep 2021 07:02:13 +0000 (16:02 +0900)]
[Query] Add meson option.
Exclude tensor_query from nnstreamer plugins if nnsquery is not available.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Gichan Jang [Wed, 29 Sep 2021 01:25:49 +0000 (10:25 +0900)]
[QUERY] Robustness support of MQTT-hybrid
Releated issue: #3508
Robustness support of MQTT-hybrid.
If the connected server is stop, re-connect to another availabe server.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Fri, 17 Sep 2021 07:50:09 +0000 (16:50 +0900)]
[test/snpe] Add snpe unittest for uint8 input/output model
- Add a snpe model `add2_uint8.dlc` which takes
a single uint8 value as input.
- Add a unittest with it.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 17 Sep 2021 07:47:17 +0000 (16:47 +0900)]
[filter/snpe] Support uint8 input/output type
- If custom prop "InputType:uint8,OutputType:uint8" is given,
run the model as uint8 input/output type mode.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun [Tue, 5 Oct 2021 03:04:42 +0000 (12:04 +0900)]
[Build] fix build warning
Fix build warning (missing-braces, uninitialized).
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
MyungJoo Ham [Thu, 30 Sep 2021 08:24:08 +0000 (17:24 +0900)]
README update: add recent papers
1. ICSE 2021 SEIP (published)
2. ICSE 2022 SEIP (submitted)
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Fri, 1 Oct 2021 05:20:45 +0000 (14:20 +0900)]
[test/mqtt] Fix and add negative testcases for mqttsink's invalid prop
- Test invalid properties of mqttsink with `gst_harness_new_parse`
instead of `g_object_set`.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 1 Oct 2021 05:17:48 +0000 (14:17 +0900)]
[test/mqtt] Remove a testcase which assumes no broker
- Remove a testcase which assumes no broker.
- When a broker running in the test env, it fails.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Wook Song [Wed, 28 Jul 2021 09:30:57 +0000 (18:30 +0900)]
[Gst/MQTT] Introduce the Unix epoch synchronization using NTP
This patch introduces the self-synchronization mechanism of the Unix
epoch timestamps. Note that if the 'ntp-sync' property is set to true
(which means that if this feature is enabled), the pipeline would be
stuck after a while. This is because most of the public NTP servers
restrict clients not to poll too frequently. To fix it, polling
intervals and caching mechanisms should be applied to the NPT utility
functions.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Wook Song [Thu, 15 Jul 2021 08:49:12 +0000 (17:49 +0900)]
[Gst/MQTT] Add utility functions to get timestamps from NTP server
This patch adds the implementation of the basic utility functions to get
timestamps from the given or public NTP servers.
Signed-off-by: Wook Song <wook16.song@samsung.com>
MyungJoo Ham [Tue, 28 Sep 2021 07:52:55 +0000 (16:52 +0900)]
Start development of 2.1.0 (2.2 RC1)
This is the version marking for the 2.1.0 development start.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Mon, 9 Aug 2021 00:34:38 +0000 (09:34 +0900)]
Release of 2.0 Long-Term-Stable
This is NNStreamer 2.0 Long-Term-Stable release.
2.0's main features after 1.8 release include:
- Edge-AI capability (among-device AI) with pub/sub and query. In 2.0, this capability is an initial release without performance optimizations or feature extensions. We will eventually implement the promised optimizations and extensions with later (2.1+) versions.
- Tensor stream types updated: flexible tensors and sparse tensors are now supported. Single-tensor (other/tensor) is being obsoleted. Please use other/tensors instead.
- New H/W accelerators and AI frameworks supported
- Tensor-converter/decoder with subplugins and custom functions
- New elements: Tensor-IF, Join, Tensor-crop, Tensor-rate
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Taras Drozdovskyi [Fri, 24 Sep 2021 07:33:04 +0000 (10:33 +0300)]
[Doc] Add security policy
Benefits:
* Improve github profile
* One of the requirements of the CII Best Practices
Signed-off-by: Taras Drozdovskyi <t.drozdovsky@samsung.com>
Yongjoo Ahn [Mon, 27 Sep 2021 04:05:06 +0000 (13:05 +0900)]
[build/fix] Fix meson.build to skip snpe build when it's unavailable
- Change `error` with `message` to skip snpe build when it's unavailable
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Taras Drozdovskyi [Thu, 23 Sep 2021 07:35:03 +0000 (10:35 +0300)]
[Doc] Refactore badges in README.md
Changes are as follows:
1) Gitter - no change
2) DailyBuild - the project is successfully build
3) CII Best Practices - the project applies the best practices
4) LGTM Alerts - vulnerabilities found
5) Coverage - Test Coverage
6) Coverity - Defect Display
7) GitHub Repo Size - Repository Size
-) GitHub Issues - removed (indicated above on the page, has a negative shade)
-) GitHub Pull Requests - deleted (indicated above on the page, can be examined as not processed requests)
Signed-off-by: Taras Drozdovskyi <t.drozdovsky@samsung.com>
Jaeyun [Tue, 21 Sep 2021 01:33:40 +0000 (10:33 +0900)]
[Filter/openvino] fix invalid args
As mentioned in another PR, openvino subplugin calls accel function with invalid args.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Taras Drozdovskyi [Wed, 22 Sep 2021 07:53:40 +0000 (10:53 +0300)]
[Doc] Add LGTM badge
* In accordance with the requirement of the CII Best Practices: all achievements must be specified.
* Display the LGTM current status of the project.
Signed-off-by: Taras Drozdovskyi <t.drozdovsky@samsung.com>
Yongjoo Ahn [Thu, 16 Sep 2021 08:09:04 +0000 (17:09 +0900)]
[test/snpe] Add unittest for SNPE subplugin
- Add unittest for SNPE subplugin.
- Add a sample model file `add2_float.dlc` for the test.
It takes a single float value and returns a single float value
with plus 2.0.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 16 Sep 2021 08:05:50 +0000 (17:05 +0900)]
[build/snpe] Check host_machine and fix join_paths
- Check host_machine when using SNPE SDK.
- Use `join_paths` properly`
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Julien Vuillaumier [Thu, 16 Sep 2021 20:27:17 +0000 (20:27 +0000)]
[armnn] compilation error - unused parameter
correction for multiple occurences of compilation error:
error: unused parameter '[parameter name]' [-Werror=unused-parameter]
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Julien Vuillaumier [Thu, 16 Sep 2021 20:20:44 +0000 (20:20 +0000)]
[armnn] compilation error - missing initializer
correction for compilation error:
tensor_filter_armnn.cc: In function 'int armnn_open(const GstTensorFilterProperties*, void**)':
nnstreamer_plugin_api_filter.h:568:76: error: missing initializer for member 'parse_accl_args::auto_accl' [-Werror=missing-field-initializers]
#define parse_accl_hw(...) parse_accl_hw_fill((parse_accl_args){__VA_ARGS__})
^
tensor_filter_armnn.cc:672:8: note: in expansion of macro 'parse_accl_hw'
hw = parse_accl_hw (prop->accl_str, armnn_accl_support);
^~~~~~~~~~~~~
Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Taras Drozdovskyi [Thu, 16 Sep 2021 14:30:52 +0000 (17:30 +0300)]
Final fix LGTM alerts
Final correction of alerts found by the LGTM, one of which is marked as false-positive
Signed-off-by: Taras Drozdovskyi <t.drozdovsky@samsung.com>
gichan [Wed, 15 Sep 2021 11:28:50 +0000 (20:28 +0900)]
[Bug] Fix config from structure function
Wrong forat variable is used at L908.
If tensors format is not given, defualt format should be static.
Signed-off-by: gichan <gichan2.jang@samsung.com>
gichan [Thu, 16 Sep 2021 02:43:22 +0000 (11:43 +0900)]
[TEST] Adjust state change timeout.
cppFilterObj.base03 test fail intermittenly on armv7l during state change to GST_STATE_PLAYING.
When measuring the state change tome, it took around 600~800ms on armv7l.
The current timeout is 1000ms, which is close to the boundary.
The test failure did not occur when repeated 1000 times.
Previously, it occurred about once in 20 times.
Signed-off-by: gichan <gichan2.jang@samsung.com>
Taras Drozdovskyi [Wed, 15 Sep 2021 09:58:22 +0000 (12:58 +0300)]
Fix some alerts that were detected by the LGTM system
nnstream project was analyzed by the LGTM system
Signed-off-by: Taras Drozdovskyi <t.drozdovsky@samsung.com>
Yongjoo Ahn [Wed, 8 Sep 2021 09:09:26 +0000 (18:09 +0900)]
[build/snpe] Build snpe subplugin when the platform supports the lib
- If the build platform supports snpe lib, use it to build snpe subplugin
- Add snpe related packages in spec
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Mon, 13 Sep 2021 05:20:50 +0000 (14:20 +0900)]
[query] Handle different framerate of clients
If data is not available in the socket, check the next socket.
So, server can hanlde different framerate of clients.
Todo:
- Create threads for each client.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Jaeyun [Mon, 13 Sep 2021 07:52:02 +0000 (16:52 +0900)]
[Filter/SharedModel] fix svace
Fix svace issue,
- set next node when releasing the list item
- use macro to define local lock for shared table
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 13 Sep 2021 08:31:31 +0000 (17:31 +0900)]
[Svace] fix res leak case
Fix svace issue,
- fix invalid condition to check the args.
- possible res leak in query close function.
- condition to free strings for test models.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
Jaeyun [Mon, 6 Sep 2021 10:29:53 +0000 (19:29 +0900)]
[Test/CodeClean] improve coverage
Update testcase to improve test coverage.
Signed-off-by: Jaeyun <jy1210.jung@samsung.com>