platform/upstream/nnstreamer.git
23 months agoMake parser optional with meson_option.
MyungJoo Ham [Thu, 24 Nov 2022 06:27:18 +0000 (15:27 +0900)]
Make parser optional with meson_option.

For simpler distro or other OS, make parser support optional.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
23 months agoNew Element: tensor_debug tensor stream debugger
MyungJoo Ham [Fri, 23 Sep 2022 07:24:58 +0000 (16:24 +0900)]
New Element: tensor_debug tensor stream debugger

We introduce the new element of nnstreamer, tensor_debug.

Tensor_debug allows pipeline writers and application writers to
look at details of tensor stream properties and potentially
the performance profiling information of tensor streams at a
given point of a pipeline.

This commit is a scaffolding for tensor_debug, that do not have
its core function not implemented: _gst_tensor_debug_output().
This core function will be implemented in later PR.

This addresses #3910

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
23 months agodebian: remove tensorflow1 from PPA
MyungJoo Ham [Thu, 24 Nov 2022 09:34:00 +0000 (18:34 +0900)]
debian: remove tensorflow1 from PPA

Let's not build obsolete tensorflow1.x subplugins
and remove them from official PPA build.

Fixes #3969

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
23 months agosrc/iio: clean up build logic
MyungJoo Ham [Fri, 25 Nov 2022 01:40:26 +0000 (10:40 +0900)]
src/iio: clean up build logic

related logic rewritten:
- determine if src-iio is built
- determine if src-iio is registered
- determine if src-iio is tested via gtest

all the three decisions are unified for glitches in alpine build.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
23 months ago[build] Disable tflite-custom in cross build
Yongjoo Ahn [Tue, 22 Nov 2022 02:09:47 +0000 (11:09 +0900)]
[build] Disable tflite-custom in cross build

- In cross build, found tflite lib could has different arch with target
  system. Disable this feature for cross build.
- This fixes #3964

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
23 months agoWorkaround:CI/macos do not try to update brew images.
MyungJoo Ham [Mon, 21 Nov 2022 12:48:35 +0000 (21:48 +0900)]
Workaround:CI/macos do not try to update brew images.

Updating the given image incurs an error with sbt.
Don't try to update it.

Fixes #3960

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
23 months ago[test] add tests for dimension declaration
Yelin Jeong [Fri, 4 Nov 2022 05:11:28 +0000 (14:11 +0900)]
[test] add tests for dimension declaration

This patch adds tests for dimension declaration.

Related issue #3937

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
23 months ago[Caps] update caps for negotiation
Yelin Jeong [Thu, 3 Nov 2022 06:53:18 +0000 (15:53 +0900)]
[Caps] update caps for negotiation

This patch adds update caps dimension properties.
`update_caps_dimension` uses peer_caps for negotiation.
`gst_tensor_caps_can_intersect` tries intersecting two tensor caps.
Both functions treat `a:b:c` and `a:b:c:1` equal.

Related issue #3937

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
23 months ago[TensorIf] Allow to declare option without full dimension
Yelin Jeong [Mon, 14 Nov 2022 08:03:32 +0000 (17:03 +0900)]
[TensorIf] Allow to declare option without full dimension

This patch allows to declare compared-value-option in tensor_if without full dimension.
Undeclared dimension will be filled with zero.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
23 months agoUpdate macOS tutorial
Simon Guillot [Wed, 16 Nov 2022 08:49:17 +0000 (09:49 +0100)]
Update macOS tutorial

- Update the configure command for meson
- Removed table of content is already in the doc template
- Removed tools explanations that are duplicates of their own docs (brew, git)
- Removed commands outputs as they don't provide much info and are not up to date

Signed-off-by: Simon Guillot <cratere_01_tannin@icloud.com>
23 months agoUpdate gitignore
Simon Guillot [Wed, 16 Nov 2022 08:49:09 +0000 (09:49 +0100)]
Update gitignore

Signed-off-by: Simon Guillot <cratere_01_tannin@icloud.com>
23 months agoAdd alternative target for PyTorch on macOS
Simon Guillot [Wed, 16 Nov 2022 08:49:03 +0000 (09:49 +0100)]
Add alternative target for PyTorch on macOS

Signed-off-by: Simon Guillot <cratere_01_tannin@icloud.com>
2 years ago[svace] Fix mem leak in tensor_filter
Yongjoo Ahn [Fri, 18 Nov 2022 04:38:00 +0000 (13:38 +0900)]
[svace] Fix mem leak in tensor_filter

- Fix mem leak of the `latency`

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[svace] Remove unused code in gstjoin.c
Yongjoo Ahn [Fri, 18 Nov 2022 04:37:13 +0000 (13:37 +0900)]
[svace] Remove unused code in gstjoin.c

- Remove unused member `discont` from gstjoin

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[Edge] Change input parameter type of the nns_edge_data_get. accepted/tizen/unified/20221115.172908
gichan [Mon, 24 Oct 2022 02:41:15 +0000 (11:41 +0900)]
[Edge] Change input parameter type of the nns_edge_data_get.

Change input parameter type of the nns_edge_data_get.
Need to SR with https://github.com/nnstreamer/nnstreamer-edge/pull/107

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[build] Add compile arg for pytorch subplugin
Yongjoo Ahn [Fri, 11 Nov 2022 04:54:14 +0000 (13:54 +0900)]
[build] Add compile arg for pytorch subplugin

- Add `-Wno-unused-parameter` args because recent pytorch contains
  unused variables in its source.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[decoder/pose] Fix SEGV, ignore pixel when coordinates are out of bounds.
Torsten Schulz [Wed, 9 Nov 2022 17:49:43 +0000 (09:49 -0800)]
[decoder/pose] Fix SEGV, ignore pixel when coordinates are out of bounds.

Under some circumstances, setpixel() is called with y==data.height which causes a SEGV. While this might be a rounding error in the caller draw(), the added code gracefully ignores such out-of-bound pixels gracefully.

Signed-off-by: Torsten Schulz <torsten.schulz@gmail.com>
2 years ago[filter/core] Add tensor filter latency reporting to the pipeline
Julien Vuillaumier [Wed, 12 Oct 2022 13:57:14 +0000 (15:57 +0200)]
[filter/core] Add tensor filter latency reporting to the pipeline

Tensor filter executes inferences that may take long time depending on
the model complexity and the compute capabilities of the platform.
When inference duration is long, it happens that some downstream
buffers are dropped because associated timestamp is too far in the past.

It results in a shaky pipeline buffer rate and for instance occurences
of error messages from the sink when operated in live mode (sync=TRUE):
'There may be a timestamping problem, or this computer is too slow.'

Tensor filter implementation already has the option to computes latency
estimates when its element property latency=1 is set.

This change introduces a new property value latency_report=1 that will
when enabled use those latency duration estimates to:
- implement LATENCY query handling to include GstTensorFilter latency
estimate in the overall pipeline latency computation
- track filter latency estimates updates to notify the bus through a
LATENCY message that its latency has changed. It triggers a new round
of LATENCY query in the pipeline to take into account the updated filter
latency.

Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
2 years ago[Common] tensor format in struct
Jaeyun [Mon, 24 Oct 2022 06:58:16 +0000 (15:58 +0900)]
[Common] tensor format in struct

Move enum flag - tensor_format into tensors-info struct.

To pass flexible tensors to filter sub-plugins, we should indicate tensor format in tensors-info struct, not tensors-config.
Internally tensors-config struct is used for caps negotiation.

TODO: need discussion, should we separate format in each tensor info, so that each mem chunk can express its format. (then, nnstreamer will combine memories: static+flexible in gst-buffer.)

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years agoUpdate documentations with recent data.
MyungJoo Ham [Wed, 26 Oct 2022 11:15:05 +0000 (20:15 +0900)]
Update documentations with recent data.

- Updated releases.
- Updated products and services.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years agoREADME: add demonstrations from different companies.
MyungJoo Ham [Thu, 27 Oct 2022 05:57:06 +0000 (14:57 +0900)]
README: add demonstrations from different companies.

Fainders.AI, Klleon.IO, openncc.com, PrintNanny.ai
use NNStreamer to create their products and services.
Their demonstration video clips are presented as
NNStreamer example in README.md with their
permission to use for such purposes.

Product.md is updated accordingly.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Edge] Change localhost address for mqtt
gichan [Tue, 25 Oct 2022 05:05:53 +0000 (14:05 +0900)]
[Edge] Change localhost address for mqtt

Change localhost address for mqtt from tcp://localhost to 127.0.0.1.
* mosquitto lib cannot parse the previous form.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[edge] fix test code's multifilesink usage
Yelin Jeong [Mon, 24 Oct 2022 08:31:40 +0000 (17:31 +0900)]
[edge] fix test code's multifilesink usage

This patch fixes nnstreamer_edge test code.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 years ago[Join] Remove unnecessary variables.
gichan [Tue, 18 Oct 2022 06:43:44 +0000 (15:43 +0900)]
[Join] Remove unnecessary variables.

Remove unnecessary variables from the gstjoin.
Related issue #3938

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Doc] fix broken link
Yelin Jeong [Tue, 18 Oct 2022 06:44:12 +0000 (15:44 +0900)]
[Doc] fix broken link

This patch fixes broken link in tensor_sink documentation.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 years ago[AITT] Remove AITT build dependency
gichan [Fri, 14 Oct 2022 04:36:28 +0000 (13:36 +0900)]
[AITT] Remove AITT build dependency

Remove build dependency of AITT.
Check whether the AITT lib is installed or not at run-time for AITT test.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[filter] Fix guide document of snpe subplugin
Yongjoo Ahn [Fri, 14 Oct 2022 07:55:38 +0000 (16:55 +0900)]
[filter] Fix guide document of snpe subplugin

- Fix the outdated custom property description.
- Fix log messages.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[trivial/build] Fix meson error when the disabled option is given
Yongjoo Ahn [Thu, 13 Oct 2022 07:06:27 +0000 (16:06 +0900)]
[trivial/build] Fix meson error when the disabled option is given

- Fix meson config error when the 'disabled' options for mxnet is given explicitly

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[Package] Add nnstreamer-edge dependency to nnstreamer-core
gichan [Thu, 6 Oct 2022 05:09:08 +0000 (14:09 +0900)]
[Package] Add nnstreamer-edge dependency to nnstreamer-core

Add nnstreamer-edge dependency to nnstreamer-core.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Test] dependency to tf-lite ver
Jaeyun [Wed, 5 Oct 2022 05:20:02 +0000 (14:20 +0900)]
[Test] dependency to tf-lite ver

Check dependency to tf-lite version to run unittest.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years agofilter/armnn: fp16 support macro fix
MyungJoo Ham [Tue, 4 Oct 2022 10:49:20 +0000 (19:49 +0900)]
filter/armnn: fp16 support macro fix

The preprocessor macro has type. Fix it.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Doc] fix broken table in html
Yelin Jeong [Fri, 30 Sep 2022 07:37:51 +0000 (16:37 +0900)]
[Doc] fix broken table in html

This patch fixed broken table in data-type-and-flow-control documentation.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 years ago[Test] Unittest for filter shared key
Junhwan Kim [Thu, 19 Aug 2021 08:45:10 +0000 (17:45 +0900)]
[Test] Unittest for filter shared key

Unittest to validate filter with shared key

Signed-off-by: Junhwan Kim <jejudo.kim@samsung.com>
2 years agoStart of 2.3.0, the new unstable devel version for 2023
MyungJoo Ham [Tue, 27 Sep 2022 03:09:16 +0000 (12:09 +0900)]
Start of 2.3.0, the new unstable devel version for 2023

This is a new start for a devel release for 2023.
This acts as a start of 2.4.0-RC1.

2.2.0 -> 2.3.0
        - 2.3.0 is a devel version for 2.4.0 release. Unstable and experimental features are welcomed in this version.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years agoRelease of 2.2.0, the new LTS for 2022 accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.060442 accepted/tizen/7.0/unified/hotfix/20221116.111157 accepted/tizen/unified/20220928.020837 tizen_7.0_m2_release
MyungJoo Ham [Thu, 22 Sep 2022 08:15:13 +0000 (17:15 +0900)]
Release of 2.2.0, the new LTS for 2022

This is a new LTS release for 2022.

The next RC development starts with 2.3.0, and
the hotfixes for 2022 releases will be kept in 2.2.y.

2.1.1 -> 2.2.0
        - This is NNStreamer 2.2.0 Tizen 7.0 M2 release.

        - NNStreamer-Edge.
                - Edge-AI (Among-Device AI) implementation is moved to nnstreamer-edge so that non-nnstreamer/gstreamer systems can connect to nnstreamer pipelines.
                - NNStreamer-Edge provides inter-pipeline stream connections with various protocols transparently.
                - NNStreamer-Edge does not depend on gstreamer/nnstreamer; thus, non-gstreamer systems may connect to nnstreamer/gstreamer pipelines via nnstreamer-edge.
                - The "MQTT-Hybrid" protocol for high bandwidth communication w/ mqtt features included.

        - ML-Service API phase 2 is completed and released via api.git

        - New Subplugins
                - tensor_filter / DeepViewRT (NXP)
                - tensor_filter / MXNet
                - tensor_filter / tensorflow2-lite-custom (allow to designate user-supplied tf2-lite binaries)

        - Major features
                - tensor-query-client, tensor-query-serversrc/sink use nnstreamer-edge. Protocols are handled at nnstreamer-edge and it now support aitt as one of its backends.
                - Float16 (FP16) tensor stream support.
                - Rank limit of tensor stream increased: 4 --> 8 (experimental. with known issues)
                - Error messages, exception handling, and documentations are improved for application / pipeline writers.

        - Minor features
                - Added several workarounds for glitches of Qualcomm-SNPE's libraries.
                - Support additional .ini file for subplugin configuration. Required by clients who want to separate permissions for controlling user-installable subplugins and system-installable core files.
                - Ability to run multiple instances of unit tests in a single machine.
                - Add gcc >= 11 support
                - Fixed multithreading error in tensor_filter::python
                - Python2 dropped. Only Python3 is supported.
                - Refactored to increase SAM score (architecture quality assessment).
                - Query, GRPC: added minor features requested by users.
                - A lot of test cases and fixes introduced.
                - Ubuntu 22.04 published.
                - Python >= 3.10 support.
                - Tensor-decoder::bounding-box. ssd-mobilenet v3 support

        - Experimental features
                - edgesrc, edgesink. stream pub/sub elements based on nnstreamer-edge

        - Known issues
                - Multithreading errors in tensor_decoder::python and tensor_converter::python
                - FP16 in x64/x86 is not tested. (tested in armv7l/aarch64 only)
                - Rank > 4 support is not activated by default. Dimension properties of GSTCAP is not fully backward compatible (to be fixed).

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Edge] Support MQTT-hybrid connection
gichan [Wed, 14 Sep 2022 09:51:33 +0000 (18:51 +0900)]
[Edge] Support MQTT-hybrid connection

 - Support MQTT-hybrid connection for edgesrc and edgesink.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Spec] dependency to nns-edge
Jaeyun [Mon, 26 Sep 2022 01:57:57 +0000 (10:57 +0900)]
[Spec] dependency to nns-edge

Check dependency to nnstreamer-edge library.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[EDGE] Support AITT as connection type.
gichan [Wed, 14 Sep 2022 04:34:17 +0000 (13:34 +0900)]
[EDGE] Support AITT as connection type.

Edgesrc/sink support AITT as connection type.
Add unit test cases.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years agoEdge: allow edgesrc/sink in Tizen accepted/tizen/unified/20220925.234926 accepted/tizen/unified/20220925.234954 accepted/tizen/unified/20220926.025520
MyungJoo Ham [Thu, 15 Sep 2022 03:03:06 +0000 (12:03 +0900)]
Edge: allow edgesrc/sink in Tizen

With #3864, edgesrc/sink are added; however, in Tizen API,
apps are restricted to use the allowed elements only.
Add edgesrc/edgesink to that list.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Gst/Edge] Add edgesrc and edgesink
Yechan Choi [Thu, 11 Aug 2022 10:18:21 +0000 (19:18 +0900)]
[Gst/Edge] Add edgesrc and edgesink

- Add new elements: edgesrc and edgesink.
- Modify Test for edgesrc and edgesink.

Signed-off-by: Yechan Choi <yechan9.choi@samsung.com>
Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Gst/Edge] Init edgesrc and edgesink
Yechan Choi [Thu, 4 Aug 2022 05:12:35 +0000 (14:12 +0900)]
[Gst/Edge] Init edgesrc and edgesink

Init skelton of edgesrc and edgesink.

Signed-off-by: Yechan Choi <yechan9.choi@samsung.com>
2 years ago[Edge] Update changed flag and API accepted/tizen/unified/20220919.012621
gichan [Tue, 6 Sep 2022 04:45:34 +0000 (13:45 +0900)]
[Edge] Update changed flag and API

Update changed flag and API of the nnstreamer-edge
After https://github.com/nnstreamer/nnstreamer-edge/pull/60

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[doxygen] add brief tag on refrain_from_heavy_op_on_float16
Yelin Jeong [Thu, 1 Sep 2022 04:56:14 +0000 (13:56 +0900)]
[doxygen] add brief tag on refrain_from_heavy_op_on_float16

This patch adds brief tag on function refrain_from_heavy_op_on_float16

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 years ago[transform] fix transform transpose rank to 4
Yelin Jeong [Fri, 5 Aug 2022 08:03:00 +0000 (17:03 +0900)]
[transform] fix transform transpose rank to 4

This patch fixes transform transpose rank to 4.
Increasing NNS_TENSOR_RANK_LIMIT will affect transform transpose.
It should be fixed to 4 until transform transpose supports rank N.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 years ago[query] Fix client_id type to long long in query_serversink
Yongjoo Ahn [Wed, 14 Sep 2022 06:21:13 +0000 (15:21 +0900)]
[query] Fix client_id type to long long in query_serversink

- Fix client_id type to long long in query_serversink.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[Query] replace deprecated function
Jaeyun [Tue, 6 Sep 2022 08:54:37 +0000 (17:54 +0900)]
[Query] replace deprecated function

Replace deprecated function of edge library.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years agogithub-action/gbs: Tizen build infra update
MyungJoo Ham [Tue, 6 Sep 2022 05:07:47 +0000 (14:07 +0900)]
github-action/gbs: Tizen build infra update

The build infra has updated and its binary repository URL
has been updated.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[conf] Update gbs.conf to new repos
Yongjoo Ahn [Tue, 13 Sep 2022 05:28:10 +0000 (14:28 +0900)]
[conf] Update gbs.conf to new repos

- Update repo urls to new ones.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[TEST] Update query test
gichan [Tue, 6 Sep 2022 08:23:53 +0000 (17:23 +0900)]
[TEST] Update query test

 - Add timeout option to precent stuck during test.
 - Set random available port for query client.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[CodeClean] coverity issues accepted/tizen/unified/20220908.124832
Jaeyun [Wed, 7 Sep 2022 05:45:05 +0000 (14:45 +0900)]
[CodeClean] coverity issues

Fix coverity issues, remove unnecessary header includes and std-move to mem ptr.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years agotest:python3 multithreaded python script as a filter (CV2)
MyungJoo Ham [Fri, 19 Aug 2022 06:36:07 +0000 (15:36 +0900)]
test:python3 multithreaded python script as a filter (CV2)

With the fear of regressions related with #3822 as
described in #3885, added a test case for multithreaded python
script of CV2.

TODO: add similar cases for converter and decoder
TODO: add negative cases

Fixes #3885

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[query] Add timeout prop for tensor_query_client
Yongjoo Ahn [Wed, 31 Aug 2022 08:38:28 +0000 (17:38 +0900)]
[query] Add timeout prop for tensor_query_client

- Add timeout prop to decide how much time to wait message from
  query server  after sending buffer
- Default value is 0, no wait.
- Add simple unittests.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years agoTools/Parser: Silence a warning about using a deprecated directive
Wook Song [Wed, 31 Aug 2022 07:51:17 +0000 (16:51 +0900)]
Tools/Parser: Silence a warning about using a deprecated directive

This patch fixes the following warning about using a deprecated
directive, '%pure-parser'. Note that '%pure-parser' is deprecated since
Bison 2.3b (bison_min_version defined in meson.build is 2.4).

../tools/development/parser/grammar.y:372.1-12: warning: deprecated directive: â€˜%pure-parser’, use â€˜%define api.pure’ [-Wdeprecated]
  372 | %pure-parser
      | ^~~~~~~~~~~~
      | %define api.pure
../tools/development/parser/grammar.y: warning: fix-its can be applied.  Rerun with option '--update'. [-Wother]

Signed-off-by: Wook Song <wook16.song@samsung.com>
2 years agotest:query launch mosquitto for testing
MyungJoo Ham [Thu, 18 Aug 2022 04:03:27 +0000 (13:03 +0900)]
test:query launch mosquitto for testing

Launch mosquitto with a random port for testing
and terminate it after testing.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years agoTizen: add mosquitto at build-time for unit testing
MyungJoo Ham [Thu, 18 Aug 2022 02:15:42 +0000 (11:15 +0900)]
Tizen: add mosquitto at build-time for unit testing

Mosquitto is not used for building nnstreamer.
It is used for unit testing; thus, the built binaries
shouldn't have dependencies on Mosquitto.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Py/Dims] error case to handle dimension
Jaeyun [Mon, 1 Aug 2022 09:54:58 +0000 (18:54 +0900)]
[Py/Dims] error case to handle dimension

Handle error case if rank from python script is larger than max rank value.
Update log message in python helper.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[Doc] Fix incorrect docement link
gichan [Tue, 30 Aug 2022 04:27:58 +0000 (13:27 +0900)]
[Doc] Fix incorrect docement link

Fix incorrect file path and names.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[TEST] Check more properties of query server.
gichan [Tue, 30 Aug 2022 02:15:04 +0000 (11:15 +0900)]
[TEST] Check more properties of query server.

Check more properties of query server.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[TEST] Enable edge releated test only.
gichan [Tue, 23 Aug 2022 07:29:40 +0000 (16:29 +0900)]
[TEST] Enable edge releated test only.

If "unit_test" is disabled and "edge_test" is enabled, run query and
edge test.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[TEST] Change test name.
gichan [Fri, 26 Aug 2022 01:47:33 +0000 (10:47 +0900)]
[TEST] Change test name.

To fix xml parser error, change the test name.

Error message: Unescaped '<' not allowed in attributes values

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Query/Test] Set listener port for query client accepted/tizen/unified/20220825.053108 submit/tizen/20220825.022456
gichan [Tue, 23 Aug 2022 07:45:58 +0000 (16:45 +0900)]
[Query/Test] Set listener port for query client

tensor client of TEST 5-2 and 5-3 use same default port for listener.
Set random available port for query client.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years agotest/query: revive pid retrieval accepted/tizen/unified/20220819.122515 submit/tizen/20220818.081536 submit/tizen/20220819.071123
MyungJoo Ham [Tue, 16 Aug 2022 09:39:54 +0000 (18:39 +0900)]
test/query: revive pid retrieval

In recent commits, pid assignment after invoking background processes
has disappeared. Revivde pid assignment so that we can kill unnecessary
processes and avoid indefinite waits.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[spec] Disable AI Offloading on VD Cosmos infra
Sangjung Woo [Thu, 18 Aug 2022 04:28:01 +0000 (13:28 +0900)]
[spec] Disable AI Offloading on VD Cosmos infra

This patch disables the AI offloading feature on VD Cosmos infra.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
2 years agoproto/flat/flex buffers: reorganize common data structure.
MyungJoo Ham [Thu, 11 Aug 2022 04:33:35 +0000 (13:33 +0900)]
proto/flat/flex buffers: reorganize common data structure.

Do not have common data structures of ext modules in the
global-common directory. Put them in the ext modules
to avoid convoluted dependency.

Fixes #3837

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years agofilter:pytorch allow gcc only.
MyungJoo Ham [Tue, 16 Aug 2022 06:57:58 +0000 (15:57 +0900)]
filter:pytorch allow gcc only.

Do not allow to build with other compilers.
Refer to #3873 and https://lfscanning.org/reports/lfai/nnstreamer-2022-07-02-8eb54f0b-f36e-43ff-826f-80e9f251e17e.html

This is to comply with GPL-3.0 GCC Runtime Exception License of a few headers in PyTorch.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Query] fix res leak case
Jaeyun [Thu, 11 Aug 2022 08:55:42 +0000 (17:55 +0900)]
[Query] fix res leak case

Fix res leak in query elements.
Add destroy-cb function in query-server table to prevent mem leak.
Prevent duplicated creation of edge-handle in event callback.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[Spec] feature to enable nns-edge
Jaeyun [Tue, 16 Aug 2022 07:52:49 +0000 (16:52 +0900)]
[Spec] feature to enable nns-edge

Add feature to support tensor_query using nnstreamer-edge library.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[Query/Test] property name in test
Jaeyun [Thu, 11 Aug 2022 08:58:02 +0000 (17:58 +0900)]
[Query/Test] property name in test

Update property name in testcase (connect-type).

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[Query/Test] caps string in query test
Jaeyun [Thu, 11 Aug 2022 10:50:36 +0000 (19:50 +0900)]
[Query/Test] caps string in query test

Add debug message to print caps string from query-server.
Prevent invalid caps when parsing tensors caps string in testcases.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[TEST] Disable query-hybrid test
gichan [Tue, 16 Aug 2022 05:53:13 +0000 (14:53 +0900)]
[TEST] Disable query-hybrid test

Disable query-hybrid test unitl the test is fixed.
Related issue: #3877

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Edge] remove nns-edge
Jaeyun [Mon, 4 Jul 2022 07:09:06 +0000 (16:09 +0900)]
[Edge] remove nns-edge

nnstreamer-edge is moved to other repository.
Remove related files and build scrit.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[Query] Remove unnecessary lines
Yechan Choi [Thu, 11 Aug 2022 16:11:32 +0000 (01:11 +0900)]
[Query] Remove unnecessary lines

This patch removes meaningless Caps releated actions from gst_tensor_query_serversink_start.

Signed-off-by: Yechan Choi <yechan9.choi@samsung.com>
2 years agotensor-decoder: add ssd_mobilenet v3 support accepted/tizen/unified/20220811.135951 submit/tizen/20220810.074948
Aymen Sghaier [Tue, 9 Aug 2022 09:02:42 +0000 (11:02 +0200)]
tensor-decoder: add ssd_mobilenet v3 support

This patch adds ssd_mobilent v3 support for post-processing,
it is needed for models without post-processing layer

ssd_mobilenet v3 models handle 2034 anchor boxes
while previous models v2 and v1 handles only 1917 boxes
thus updating the MAX value to 2034 adds support for v3 models

Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
2 years ago[Gst/Edge] Add edge pipeline tests
Yechan Choi [Mon, 1 Aug 2022 07:31:34 +0000 (16:31 +0900)]
[Gst/Edge] Add edge pipeline tests

Add edgesrc and edgesink pipeline tests.

Signed-off-by: Yechan Choi <yechan9.choi@samsung.com>
2 years ago[Gst/Edge] Init tests for edgesrc and edgesink
Yechan Choi [Thu, 21 Jul 2022 08:42:27 +0000 (17:42 +0900)]
[Gst/Edge] Init tests for edgesrc and edgesink

Init 'nnstreamer_edge/runTest.sh' and 'nnstreamer_edge/unittest_edge.cc'.
Modify 'tests/meson.build' for unittest_edge.

Signed-off-by: Yechan Choi <yechan9.choi@samsung.com>
2 years ago[test][trivial] Fix return errcode EPIPE to ESTRPIPE
Yongjoo Ahn [Fri, 5 Aug 2022 01:17:05 +0000 (10:17 +0900)]
[test][trivial] Fix return errcode EPIPE to ESTRPIPE

- Change return errcode EPIPE to ESTRPIPE according to ml-api's ret
  value

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 years ago[Query] Update query for new edge interface
gichan [Fri, 29 Jul 2022 06:42:49 +0000 (15:42 +0900)]
[Query] Update query for new edge interface

 - Update query for new edge interface.
 - Separate ip and port for self and destination.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Edge] Update edge lib
gichan [Fri, 29 Jul 2022 06:41:05 +0000 (15:41 +0900)]
[Edge] Update edge lib

 - Update new edge interface.
 - Separate ip and port for self and destination.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years agoubuntu: force enable mqtt
MyungJoo Ham [Tue, 2 Aug 2022 09:53:32 +0000 (18:53 +0900)]
ubuntu: force enable mqtt

Force-enable mqtt for PPA / pdebuild builds.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years agopython: fix python 3.10 PyObject type errors.
MyungJoo Ham [Tue, 2 Aug 2022 04:49:23 +0000 (13:49 +0900)]
python: fix python 3.10 PyObject type errors.

From Python 3.10 python->C/C++ object transfer
has stricter type checks. Floats are no more
supported by PyLong.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Filter] support NNS_TENSOR_RANK_LIMIT 8
Yelin Jeong [Tue, 5 Jul 2022 08:31:14 +0000 (17:31 +0900)]
[Filter] support NNS_TENSOR_RANK_LIMIT 8

This patch changes filter pytorch and tensorflow lites
to support NNS_TENSOR_RANK_LIMIT 8

tensor_filter_pytorch's invoke does not have a problem when NNS_TENSOR_RANK_LIMIT is 4.
But when rank limit is 8, model->invoke has an exception while running the model.

Similarly, tensor_filter_tensorflow_lite's tflite_setInputDim has a problem.
TFLiteInterpreter::setInputTensorsInfo now iterates all possible ranks starting from MAX.
If NNS_TENSOR_RANK_LIMIT changed to 8, there is a case which ResizeInputTensor works
while AllocateTensors does not work.
So I chagned to iterate from MIN, and Allocate Tensors inside for loop.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 years agoquery: doxygen tag comment fix
MyungJoo Ham [Mon, 1 Aug 2022 06:58:29 +0000 (15:58 +0900)]
query: doxygen tag comment fix

Use /** for doxygen-tag comments.
@gichan-jang : please apply this to nnstreamer-edge.git .

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years agoquery: fix null pointer access
MyungJoo Ham [Mon, 1 Aug 2022 06:50:41 +0000 (15:50 +0900)]
query: fix null pointer access

After the while loop, addrs may be a nullptr.
This causes a segmentation fault found with pdebuild/ubuntu 22.04.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[CodeClean] fix typo, indent
Jaeyun [Mon, 1 Aug 2022 07:39:34 +0000 (16:39 +0900)]
[CodeClean] fix typo, indent

Code clean, trivial, fix typo / indent and add feature for sub-plugin in meson.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years agoubuntu: lose python 2
MyungJoo Ham [Fri, 29 Jul 2022 04:25:29 +0000 (13:25 +0900)]
ubuntu: lose python 2

Python3 is no more supported in 22.04. Lose it.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years agodebian: nnfw and tf-1 is now optional.
MyungJoo Ham [Wed, 20 Jul 2022 07:43:41 +0000 (16:43 +0900)]
debian: nnfw and tf-1 is now optional.

We are (temporarily?) dropping nnfw and tensorflow-1 support
from Ubuntu 22.04. Make dependencies to nnfw, tf-1 optional
in Debian build scripts.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Query] Implement mqtt-hybrid
gichan [Fri, 22 Jul 2022 01:47:58 +0000 (10:47 +0900)]
[Query] Implement mqtt-hybrid

Implement mqtt-hybrid using nnstreamer-edge lib.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Edge] Add mqtt-hubrid feature
gichan [Fri, 22 Jul 2022 01:24:31 +0000 (10:24 +0900)]
[Edge] Add mqtt-hubrid feature

Add mqtt-hybrid feature to nns-edge lib.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Edge] Sync with nnst-edge repo latest
gichan [Fri, 22 Jul 2022 00:47:54 +0000 (09:47 +0900)]
[Edge] Sync with nnst-edge repo latest

Sync with nnstreamer-edge repo latest.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Join] Don't wait all pads get eos event.
gichan [Fri, 22 Jul 2022 11:05:58 +0000 (20:05 +0900)]
[Join] Don't wait all pads get eos event.

Don't wait all pad get eos event.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[TEST] Enable query test on ubuntu
gichan [Fri, 22 Jul 2022 10:23:49 +0000 (19:23 +0900)]
[TEST] Enable query test on ubuntu

Let's enable query test on ubuntu.
It seems that the problem that the test sometimes failed has now been solved.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[TEST] Apply background test to grpc
gichan [Mon, 25 Jul 2022 05:15:51 +0000 (14:15 +0900)]
[TEST] Apply background test to grpc

 - Apply background test to grpc.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Svace] code clean and fix svace
Jaeyun [Thu, 21 Jul 2022 02:09:36 +0000 (11:09 +0900)]
[Svace] code clean and fix svace

Code clean, fix svace issues.
- check null string when getting caps from edge handle
- fix mem leak case
- fix invalid data comparison

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
2 years ago[Doc] Update how-to-write-testcase.md
Yechan Choi [Wed, 20 Jul 2022 07:15:30 +0000 (16:15 +0900)]
[Doc] Update how-to-write-testcase.md

This patch updates 'runTest.sh' template.

Signed-off-by: Yechan Choi <yechan9.choi@samsung.com>
2 years agotests/grpc: remove timeout command
MyungJoo Ham [Thu, 14 Jul 2022 04:49:27 +0000 (13:49 +0900)]
tests/grpc: remove timeout command

GBS does not support timeout. Remove it.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 years ago[Edge/Query] Replace caps info when set edge info.
gichan [Tue, 19 Jul 2022 09:39:58 +0000 (18:39 +0900)]
[Edge/Query] Replace caps info when set edge info.

Replace caps info when set edge info.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Edge] Disable format warning
gichan [Thu, 14 Jul 2022 07:35:22 +0000 (16:35 +0900)]
[Edge] Disable format warning

Disable format warning to avoid build failure on macOS

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Edge] Update edge lib
gichan [Thu, 14 Jul 2022 05:32:02 +0000 (14:32 +0900)]
[Edge] Update edge lib

Update edge lib
 - This chagnes will be removed soon.

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[TEST] Modify query test
gichan [Wed, 8 Jun 2022 01:07:49 +0000 (10:07 +0900)]
[TEST] Modify query test

 - Some parameters are removed, change the query test.
 - Apply back ground test

Signed-off-by: gichan <gichan2.jang@samsung.com>
2 years ago[Edge] Tensor query TCP connection
gichan [Wed, 8 Jun 2022 00:55:44 +0000 (09:55 +0900)]
[Edge] Tensor query TCP connection

Implement tensor query TCP connection using nnstreamer-edge lib.

Signed-off-by: gichan <gichan2.jang@samsung.com>