platform/upstream/nnstreamer.git
4 months ago[Build/TF-lite-custom] gen shared lib in build dir accepted/tizen_unified_riscv accepted/tizen/unified/20240105.012954 accepted/tizen/unified/riscv/20240105.060141
Jaeyun Jung [Thu, 21 Dec 2023 09:41:50 +0000 (18:41 +0900)]
[Build/TF-lite-custom] gen shared lib in build dir

Code clean, generate tflite-custom library in build directory.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months agoRemove flatbuf-python dependency
gichan2-jang [Tue, 26 Dec 2023 05:41:07 +0000 (14:41 +0900)]
Remove flatbuf-python dependency

Remove flatbuf-python dependency from all Tizen profile.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
4 months ago[Protobuf] missing tensor type
Jaeyun Jung [Thu, 21 Dec 2023 10:22:04 +0000 (19:22 +0900)]
[Protobuf] missing tensor type

Add missing tensor type 'float16' when generating protobuf and flatbuf code.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[Build/Edge] check nns-edge dependency
Jaeyun Jung [Tue, 19 Dec 2023 12:18:13 +0000 (21:18 +0900)]
[Build/Edge] check nns-edge dependency

Code clean, use pkgconfig to check nnstreamer-edge dependency.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months agoUbuntu: clean up control file.
MyungJoo Ham [Fri, 22 Dec 2023 04:52:33 +0000 (13:52 +0900)]
Ubuntu: clean up control file.

We have multiple control files for different distros.
Clean up ubuntu-ppa control file.

Reported by Q2 of #4357
Fixes the first half of #4358

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months ago[Build] dependency to gstreamer
Jaeyun Jung [Wed, 20 Dec 2023 10:49:30 +0000 (19:49 +0900)]
[Build] dependency to gstreamer

Remove unnecessary dependency of gstreamer when building subplugins.
(e.g., we should support filter-subplugin for single-shot, without gst.)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[Doc] fix typo
Jaeyun Jung [Wed, 20 Dec 2023 12:42:17 +0000 (21:42 +0900)]
[Doc] fix typo

Trivial, update docs and lib name.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months agoUpdate code based on feedback
Sungbin Jo [Mon, 18 Dec 2023 18:48:01 +0000 (03:48 +0900)]
Update code based on feedback

Incorporate the feedback given from the code review process.

Signed-off-by: Sungbin Jo <goranmoomin@daum.net>
4 months agoAdd documention for the ncnn subplugin
chosanglyul [Mon, 18 Dec 2023 04:25:44 +0000 (13:25 +0900)]
Add documention for the ncnn subplugin

Update usage examples according to nnstreamer-example

Signed-off-by: chosanglyul <chosanglyul@gmail.com>
4 months agoFix ncnn unit test error
Kijun Shin [Sat, 16 Dec 2023 17:48:01 +0000 (02:48 +0900)]
Fix ncnn unit test error

Signed-off-by: Kijun Shin <sharaelong.shin@gmail.com>
4 months agoAdd unit test cases
Kijun Shin [Sat, 16 Dec 2023 16:42:55 +0000 (01:42 +0900)]
Add unit test cases

Signed-off-by: Kijun Shin <sharaelong.shin@gmail.com>
4 months agoWIP ncnn unit test
Kijun Shin [Sat, 16 Dec 2023 16:37:54 +0000 (01:37 +0900)]
WIP ncnn unit test

Signed-off-by: Kijun Shin <sharaelong.shin@gmail.com>
4 months agoFix compilation error when vulkan is disabled
chosanglyul [Sat, 16 Dec 2023 10:31:27 +0000 (19:31 +0900)]
Fix compilation error when vulkan is disabled

Signed-off-by: chosanglyul <chosanglyul@gmail.com>
4 months agoAdd options for the ncnn subplugin
chosanglyul [Sat, 16 Dec 2023 10:10:14 +0000 (19:10 +0900)]
Add options for the ncnn subplugin

Signed-off-by: chosanglyul <chosanglyul@gmail.com>
4 months agoAdd main ncnn inference code
chosanglyul [Sat, 9 Dec 2023 12:36:24 +0000 (21:36 +0900)]
Add main ncnn inference code

Signed-off-by: chosanglyul <chosanglyul@gmail.com>
4 months agoAdd ncnn subplugin skeleton code
Sungbin Jo [Mon, 18 Sep 2023 03:00:14 +0000 (12:00 +0900)]
Add ncnn subplugin skeleton code

Signed-off-by: Sungbin Jo <goranmoomin@daum.net>
4 months ago[nnfw] Check NNFW_MAX_RANK in nnfw filter
Yelin Jeong [Tue, 19 Dec 2023 07:58:31 +0000 (16:58 +0900)]
[nnfw] Check NNFW_MAX_RANK in nnfw filter

This patch adds to check NNFW_MAX_RANK in nnfw filter.
If tensor info's rank is larger than NNFW_MAX_RANK and min_rank is smaller, use min_rank instead.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
4 months agodecoder::python make them thread safe with GIL.
MyungJoo Ham [Tue, 12 Dec 2023 10:20:54 +0000 (19:20 +0900)]
decoder::python make them thread safe with GIL.

Apply GIL control to decoder::python3 as in we do with filter::python3.

Fixes decoder part of #3834

Overrides #3872

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months agoAdd SSAT to RISC-V github-action
MyungJoo Ham [Fri, 25 Nov 2022 01:56:52 +0000 (10:56 +0900)]
Add SSAT to RISC-V github-action

Get SSAT and build SSAT for RISC-V
Then, Run!

@TODO: SSAT TC fails in RISC-V.
   Either fix failed cases or let it ignore in RISC-V build.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months agofilter::python3: do not break converter/decoder
MyungJoo Ham [Tue, 12 Dec 2023 10:28:41 +0000 (19:28 +0900)]
filter::python3: do not break converter/decoder

A python-global reference counter is required for py-finalize.
This is workaround before applying such a global reference counter.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months ago[tensor_transform] Fix confusing usage of transpose
Yongjoo Ahn [Mon, 18 Dec 2023 07:57:29 +0000 (16:57 +0900)]
[tensor_transform] Fix confusing usage of transpose

- Correct usage is `... option=1:2:0:3` when a user want to change tensor
  layout NHWC into NCHW.
- Fix document abuout it.
- Fix incorrect usage in a SSAT test.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 months ago[CodeClean] fix svace issue
Jaeyun Jung [Mon, 18 Dec 2023 05:07:02 +0000 (14:07 +0900)]
[CodeClean] fix svace issue

Fix svace issue, prevent index error case.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[Test] Remove the MOBILE and WEARABLE tags in header file
Sangjung Woo [Fri, 15 Dec 2023 05:32:58 +0000 (14:32 +0900)]
[Test] Remove the MOBILE and WEARABLE tags in header file

Since both mobile and wearable profiles in Tizen project are removed,
related tags also should be removed. This patch removes them at Tizen
PM's request.

Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
4 months ago[build] Check flatbuffers header files before build tflite subplugin
Yongjoo Ahn [Mon, 11 Dec 2023 08:55:04 +0000 (17:55 +0900)]
[build] Check flatbuffers header files before build tflite subplugin

- TFLite API requires flatbuffers header. Let meson check required header
- Add `BuildRequires` flatbuffers-devel explicitly in spec

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 months agoSuppress valgrind errors due to system libraries
MyungJoo Ham [Thu, 17 Aug 2023 06:02:17 +0000 (15:02 +0900)]
Suppress valgrind errors due to system libraries

Added a valgrind-suppression configuration that ignores Valgrind errors from:
- Python runtime
- Between glib/gstreamer
- Not freeing memory allocated by gstreamer/gobject class init.

This works with SSAT 1.3.0+.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months agogithub action: add tests of valgrind, gtest, ssat.
MyungJoo Ham [Fri, 22 Apr 2022 07:57:15 +0000 (16:57 +0900)]
github action: add tests of valgrind, gtest, ssat.

Add test runs for github-action - Ubuntu clean build.
However, do not block PRs for valgrind errors until
we get most valgrind errors fixed.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months ago[Filter/TF-lite] fill 1 when changing input dimension accepted/tizen/unified/20231213.162136 accepted/tizen/unified/riscv/20231215.050236
Jaeyun Jung [Fri, 8 Dec 2023 08:50:02 +0000 (17:50 +0900)]
[Filter/TF-lite] fill 1 when changing input dimension

After implementing 0-init dims, tf-lite subplugin fills zero when changing input dimension.
Fill 1 if given dimension is 0 dim value.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[Common] check tensor dim to append previous caps
Jaeyun Jung [Mon, 4 Dec 2023 07:48:42 +0000 (16:48 +0900)]
[Common] check tensor dim to append previous caps

Prevent appending same caps if tensor dimension has min rank 4.
(e.g., given dim is 1001:1, previous caps with rank 4 is unnecessary.)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[Filter] condition to update dimension
Jaeyun Jung [Mon, 4 Dec 2023 08:22:59 +0000 (17:22 +0900)]
[Filter] condition to update dimension

For caps negotiation, compare tensor dimension if caps is tensor stream and already configured.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[QueryClient] handle tensor buffer
Jaeyun Jung [Mon, 4 Dec 2023 06:58:39 +0000 (15:58 +0900)]
[QueryClient] handle tensor buffer

1. Decrease the ref count of incoming buffer if an error occurs.
2. Check the number of requested buffer before creating edge-data handle, and try to get the output from query-server.
3. Append gst-buffer using util function if current caps is tensor stream.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[build] Set cpp_std=c++17 (changed from c++14)
Yongjoo Ahn [Fri, 8 Dec 2023 09:24:25 +0000 (18:24 +0900)]
[build] Set cpp_std=c++17 (changed from c++14)

- Recent neural network frameworks needs c++17 standards to use its APIs
- Let nnstreamer be built with c++17.
- Add a Wno flag to snpe filter.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
4 months agoRISCV/lua: disable an exception handling test case
MyungJoo Ham [Wed, 6 Dec 2023 08:28:15 +0000 (17:28 +0900)]
RISCV/lua: disable an exception handling test case

Somehow, in Ubuntu 20.04 filter::lua@RISCV cannot handle
exceptions as x64/aarch64 handles.

Issue #4342 will track this.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months agoConfigure unit test environments
MyungJoo Ham [Mon, 19 Dec 2022 03:28:04 +0000 (12:28 +0900)]
Configure unit test environments

Unit test requires a few more configurations for plugins.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months agogithub-action/riscv64: update build name
MyungJoo Ham [Fri, 16 Dec 2022 08:01:11 +0000 (17:01 +0900)]
github-action/riscv64: update build name

The build name was incorrect. It's Ubuntu now!

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months ago[Test/onnxruntime] Add unit tests and ssat tests for ONNX Runtime
SuYeon [Mon, 4 Dec 2023 05:25:47 +0000 (14:25 +0900)]
[Test/onnxruntime] Add unit tests and ssat tests for ONNX Runtime

 - Add gtest based unit test for ONNX Runtime
 - Add SSAT test cases for ONNX Runtime tensor filter subplugin

Signed-off-by: SuYeon <suyeon5.kim@samsung.com>
4 months ago[Filter/onnxruntime] Add filter subplugin for ONNX Runtime
SuYeon [Mon, 4 Dec 2023 05:10:19 +0000 (14:10 +0900)]
[Filter/onnxruntime] Add filter subplugin for ONNX Runtime

 - Add onnxruntime filter with ONNX runtime
 - To build ONNX Runtime: https://onnxruntime.ai/

TODO:
 - Only supports CPU. GPU and oter hardware support is NYI.
 - Only supports float32 with input/output. Other types are NYI.

Signed-off-by: SuYeon <suyeon5.kim@samsung.com>
5 months ago[Doc] remove unnecessary lines from ml-api
Jaeyun Jung [Fri, 1 Dec 2023 04:58:26 +0000 (13:58 +0900)]
[Doc] remove unnecessary lines from ml-api

Code clean, now we do not define data structure in ML API repo and use common functions of nnstreamer.
Remove unnecessary lines defined in api repo.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[tensor_trainer] Modify description of model-load-path
hyunil park [Thu, 30 Nov 2023 00:40:14 +0000 (09:40 +0900)]
[tensor_trainer] Modify description of model-load-path

Change to 'pre-trained' instead of 'existing' expression

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
5 months ago[Transform] available caps without peer
Jaeyun Jung [Wed, 22 Nov 2023 08:22:44 +0000 (17:22 +0900)]
[Transform] available caps without peer

tensor-transform cannot determine the caps, this element can set out-caps by using incoming caps.
Remove unnecessary query for peer caps and update types of out-caps if input has tensors.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[datareposrc] Bugfix: Fixed removing JSON file before unittest
hyunil park [Thu, 23 Nov 2023 07:30:18 +0000 (16:30 +0900)]
[datareposrc] Bugfix: Fixed removing JSON file before unittest

- The Filename is changed for each TC because sometimes the JSON file of
  unittest(fps30ReadFlexibleTensors) is deleted by g_remove() in the previous unittest

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
5 months ago[trivial] Fix some typos
Yongjoo Ahn [Wed, 22 Nov 2023 06:37:30 +0000 (15:37 +0900)]
[trivial] Fix some typos

- Fix some typos in some old source code.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[build] Enable clang with some deps
Yongjoo Ahn [Wed, 22 Nov 2023 06:36:40 +0000 (15:36 +0900)]
[build] Enable clang with some deps

- Fix compile error with clang

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[Common] macro for max number of tensors
Jaeyun Jung [Fri, 10 Nov 2023 03:43:17 +0000 (12:43 +0900)]
[Common] macro for max number of tensors

Change definition for the max number of tensors (256), and update related code.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[doc] Fix outdated urls
Yongjoo Ahn [Thu, 23 Nov 2023 03:54:11 +0000 (12:54 +0900)]
[doc] Fix outdated urls

- Fix outdated urls for Tizen releases.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[Test] tensorflow-lite version in testcase
Jaeyun Jung [Wed, 22 Nov 2023 11:12:04 +0000 (20:12 +0900)]
[Test] tensorflow-lite version in testcase

Fix version of tensorflow-lite.
Both version 2.x and 1.x can be used in testcase if tensor-filter property framework is tensorflow-lite.
Default version is v2.x, and it has higher priority.

Also, added minor patch to fix indent.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Reviewers] update reviewers
Jaeyun Jung [Wed, 22 Nov 2023 12:12:37 +0000 (21:12 +0900)]
[Reviewers] update reviewers

Update reviewers list in nnstreamer repo.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[build] Remove unnecessary compile args for SNPE sub-plugin
Yongjoo Ahn [Wed, 22 Nov 2023 06:27:08 +0000 (15:27 +0900)]
[build] Remove unnecessary compile args for SNPE sub-plugin

- Remove those args thus it's not needed with recent snpe sdk.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[CodeClean/Element] util function to handle tensors
Jaeyun Jung [Mon, 20 Nov 2023 12:00:41 +0000 (21:00 +0900)]
[CodeClean/Element] util function to handle tensors

Code clean, use common util function to handle tensor information and memory.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Common/CodeClean] update description
Jaeyun Jung [Mon, 20 Nov 2023 10:59:12 +0000 (19:59 +0900)]
[Common/CodeClean] update description

Code clean, update doc and API description.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[TEST] Add tensor query test for drop prop
gichan2-jang [Tue, 21 Nov 2023 01:58:20 +0000 (10:58 +0900)]
[TEST] Add tensor query test for drop prop

 - Add tensor query test for drop prop.
 - Add framerate for tensor query server.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
5 months ago[Query] Add drop prop to query client
gichan2-jang [Tue, 21 Nov 2023 01:07:38 +0000 (10:07 +0900)]
[Query] Add drop prop to query client

Currently, the query client sends all input buffers to the query server.
If the processing speed of the server is slower than the client,
The result time of the server is gradually different from the input time.
To prevent this, the server processes only two buffers, and drop the remaining input buffers.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
5 months ago[Subplugin/flatbuf/protobuf] util to handle tensor data
Jaeyun Jung [Tue, 7 Nov 2023 11:54:06 +0000 (20:54 +0900)]
[Subplugin/flatbuf/protobuf] util to handle tensor data

Use common util function to handle tensor data.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months agoCommon/API: Introduce g_auto for automatic memory cleaning of "gchar *"
Wook Song [Fri, 17 Nov 2023 05:28:00 +0000 (14:28 +0900)]
Common/API: Introduce g_auto for automatic memory cleaning of "gchar *"

This patch introduces g_autofree and g_auto for automatic memory
cleaning of "gchar *" and "gchar **", respectively. Note that "GStrv" is
a typedef alias for "gchar **".

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 months ago[Edge] util to handle tensor info
Jaeyun Jung [Mon, 13 Nov 2023 05:31:40 +0000 (14:31 +0900)]
[Edge] util to handle tensor info

Code clean, fix indent and use util function if current caps is tensor stream.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Test/CodeClean] util to append tensors
Jaeyun Jung [Thu, 9 Nov 2023 08:55:29 +0000 (17:55 +0900)]
[Test/CodeClean] util to append tensors

Code clean, remove duplicated code and use util function to append tensor memory.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[DataRepo/CodeClean] parse gst-caps
Jaeyun Jung [Fri, 17 Nov 2023 06:32:16 +0000 (15:32 +0900)]
[DataRepo/CodeClean] parse gst-caps

Code clean,
- reduce function call, parse caps and update stream type.
- update log message.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Edge] Remove re-connect from nnstreamer element
gichan2-jang [Fri, 10 Nov 2023 04:30:24 +0000 (13:30 +0900)]
[Edge] Remove re-connect from nnstreamer element

 - Since the reconnection has been changed to be done inside the nns-edge, nns_edge_connect for reconnection is deleted from the nnstreamer element.
 - Add state change function and set `playing` prop.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
5 months ago[Common] init after free
Jaeyun Jung [Tue, 14 Nov 2023 08:49:49 +0000 (17:49 +0900)]
[Common] init after free

Set default value after releasing tensor information struct.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Filter] Typecast using G_TENSOR_FILTER_SINGLE_PRIV macro
linuxias [Sat, 11 Nov 2023 08:44:17 +0000 (17:44 +0900)]
[Filter] Typecast using G_TENSOR_FILTER_SINGLE_PRIV macro

 Changed to use a macro when converting a pointer to the GstTensorFilterSinglePrivate type.
 Through this, the type conversion method is unified in other functions to maintain
 consistency and ensure stability.

Signed-off-by: linuxias <linuxias@gmail.com>
5 months ago[Test/CodeClean] macro to handle tensor info
Jaeyun Jung [Thu, 9 Nov 2023 10:28:22 +0000 (19:28 +0900)]
[Test/CodeClean] macro to handle tensor info

Code clean, use valid macro in test.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Element/gprc] release tensor-config struct
Jaeyun Jung [Tue, 7 Nov 2023 12:00:41 +0000 (21:00 +0900)]
[Element/gprc] release tensor-config struct

Release tensor-config struct when finalizing the element.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[action] Change gbs cache timing
Yongjoo Ahn [Wed, 8 Nov 2023 01:05:48 +0000 (10:05 +0900)]
[action] Change gbs cache timing

- Let action cache gbs every morning weekday.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[Decoder] macro for video formats accepted/tizen/unified/20231110.172147
Jaeyun Jung [Mon, 6 Nov 2023 11:55:27 +0000 (20:55 +0900)]
[Decoder] macro for video formats

Define macro to specify video formats supported in decoder direct-video.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[CodeClean] fix indent
Jaeyun Jung [Mon, 6 Nov 2023 11:21:41 +0000 (20:21 +0900)]
[CodeClean] fix indent

Trivial, fix indent and remove unnecessary space.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Tizen/SensorSrc] fix mem leak case
Jaeyun Jung [Mon, 6 Nov 2023 11:20:28 +0000 (20:20 +0900)]
[Tizen/SensorSrc] fix mem leak case

Code clean, fix mem leak case when failed to add new gst-buffer.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Common] check index to get nth tensor
Jaeyun Jung [Wed, 1 Nov 2023 10:16:00 +0000 (19:16 +0900)]
[Common] check index to get nth tensor

Code clean, check index to get nth tensor from gst-buffer and remove unnecessary code.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Python] validate tensors info
Jaeyun Jung [Wed, 1 Nov 2023 06:49:06 +0000 (15:49 +0900)]
[Python] validate tensors info

Validate output tensors info after parsing pyobject.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[Python] fix log util
Jaeyun Jung [Wed, 1 Nov 2023 08:35:47 +0000 (17:35 +0900)]
[Python] fix log util

Update util function to print log message in python module.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[action] Cache gbs once every weekday
Yongjoo Ahn [Thu, 2 Nov 2023 05:49:22 +0000 (14:49 +0900)]
[action] Cache gbs once every weekday

- Let the new workflow cache gbs every weekday.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[action] Do not run workflows on every push
Yongjoo Ahn [Thu, 2 Nov 2023 05:46:14 +0000 (14:46 +0900)]
[action] Do not run workflows on every push

- Doing every workflows on each push is not necessary as each
  pull request already checks it.
- Do not run those to save the earth!

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[Common] unref memory when appending tensor buffer
Jaeyun Jung [Thu, 2 Nov 2023 04:43:48 +0000 (13:43 +0900)]
[Common] unref memory when appending tensor buffer

Fix util function to take gst-memory if failed to append it.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[Common] fix mem leak case
Jaeyun Jung [Thu, 2 Nov 2023 05:12:15 +0000 (14:12 +0900)]
[Common] fix mem leak case

Fix mem leak case if failed to append memory into gst-buffer.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[Converter/Python] function to handle tensor buffer
Jaeyun Jung [Wed, 1 Nov 2023 04:39:22 +0000 (13:39 +0900)]
[Converter/Python] function to handle tensor buffer

Change util function to handle gst-buffer including tensors.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[Common] util to get nth info
Jaeyun Jung [Wed, 1 Nov 2023 05:01:17 +0000 (14:01 +0900)]
[Common] util to get nth info

Code clean, use util function to handle nth tensor.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[action] Gbs build with `_skip_debug_rpm` and `--skip-srcrpm`
Yongjoo Ahn [Thu, 2 Nov 2023 01:20:41 +0000 (10:20 +0900)]
[action] Gbs build with `_skip_debug_rpm` and `--skip-srcrpm`

- Let gbs build do not make debug rpms and skip srcrpm
- This will save some seconds..

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[action] Let gbs action cache 'GBS-ROOT/local/cache'
Yongjoo Ahn [Tue, 31 Oct 2023 05:44:32 +0000 (14:44 +0900)]
[action] Let gbs action cache 'GBS-ROOT/local/cache'

- Let github action cache the directory. Speed gbs build up by removing
  package downloads.
- The cache key is the date. The very first run each day will make new
  cache.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months agodoc: product list updates
MyungJoo Ham [Thu, 26 Oct 2023 10:27:42 +0000 (19:27 +0900)]
doc: product list updates

We have more products using NNStreamer. Update the list.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agoREADME: add face landmark example
MyungJoo Ham [Thu, 26 Oct 2023 07:58:23 +0000 (16:58 +0900)]
README: add face landmark example

Use the code from https://github.com/songgot/Tizen_IoT_face_landmark
CC: @songgot
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months ago[Common] hide old rank limit
Jaeyun Jung [Wed, 1 Nov 2023 03:22:29 +0000 (12:22 +0900)]
[Common] hide old rank limit

Hide old rank limit from header.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[action] Fix meson install and usage
Yongjoo Ahn [Mon, 30 Oct 2023 08:21:08 +0000 (17:21 +0900)]
[action] Fix meson install and usage

- Let ubuntu build install proper meson and python.
- And use meson commands explicilty rather than use outdated action from
  github marketplace

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[doc] Add a gst-launch-script example for audio
Yongjoo Ahn [Mon, 23 Oct 2023 06:31:21 +0000 (15:31 +0900)]
[doc] Add a gst-launch-script example for audio

- Add a simple audio classification gst-launch example.
- This resolves #3777

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[edge] Deprecate port and host property of edgesrc and update description for port...
hyunil park [Fri, 20 Oct 2023 01:12:54 +0000 (10:12 +0900)]
[edge] Deprecate port and host property of edgesrc and update description for port property

- Add a description of deprecated for port and host property of edgesrc.
  In the case of edgesrc, port and host settings are not required.
- Update description of port property of edgesink

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
6 months ago[util] Fix gst_tensors_info_to_string
Yongjoo Ahn [Thu, 19 Oct 2023 08:39:21 +0000 (17:39 +0900)]
[util] Fix gst_tensors_info_to_string

- Let the method returns string ended with "]" always.
- Let get_dimension_string returns NULL when given dim is filled with 0

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months agoDecoder: Add detailed descriptions for the bounding box sub-plugin
Wook Song [Tue, 17 Oct 2023 05:29:36 +0000 (14:29 +0900)]
Decoder: Add detailed descriptions for the bounding box sub-plugin

In addition to nnstreamer#4284, this patch adds descriptions for the
bounding box sub-plugin options.

Signed-off-by: Wook Song <wook16.song@samsung.com>
6 months agoDecoder/BoundingBox: Apply gst-indent to the bounding box sub-plugin
Wook Song [Tue, 17 Oct 2023 05:21:32 +0000 (14:21 +0900)]
Decoder/BoundingBox: Apply gst-indent to the bounding box sub-plugin

This is a trivial patch that applies gst-indent to the bounding box
sub-plugin of Tensor Decoder to keep the constant code style.

Signed-off-by: Wook Song <wook16.song@samsung.com>
6 months agodecoder: add detailed descriptions for a few subplugins.
MyungJoo Ham [Mon, 16 Oct 2023 07:29:11 +0000 (16:29 +0900)]
decoder: add detailed descriptions for a few subplugins.

As #3903 requests, we need descriptions for subplugin users.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agodecoder/filter: more info for gst-inspect.
MyungJoo Ham [Mon, 16 Oct 2023 07:02:35 +0000 (16:02 +0900)]
decoder/filter: more info for gst-inspect.

Show available frameworks / mode with gst-inspect.
This is the first step to address #3903

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months ago[test] Add SSAT testcases for yolo decoders
Yongjoo Ahn [Mon, 16 Oct 2023 07:42:20 +0000 (16:42 +0900)]
[test] Add SSAT testcases for yolo decoders

- Add SSAT TCs for yolov5 and yolov8 decoder.
- Add raw input files and golden result files.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[decoder] Fix track mode bug (wrong struct size)
Yongjoo Ahn [Mon, 16 Oct 2023 07:39:01 +0000 (16:39 +0900)]
[decoder] Fix track mode bug (wrong struct size)

- Fix wrong size of glib array for distanceArray.
  sizeof (float) -> sizeof (distanceArrayData)

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[test] Add simple ssat testcase for pose decoder
Yongjoo Ahn [Mon, 16 Oct 2023 08:18:22 +0000 (17:18 +0900)]
[test] Add simple ssat testcase for pose decoder

- Add a simple test for option3 and option4 (increasing line coverage)

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months agoDelete unnecessary empty line
seungha son [Mon, 16 Oct 2023 05:07:23 +0000 (14:07 +0900)]
Delete unnecessary empty line

Signed-off-by: seungha son <linuxias@gmail.com>
6 months agogithub-action: ubuntu-llvm/clang build test
MyungJoo Ham [Fri, 13 Oct 2023 09:55:48 +0000 (18:55 +0900)]
github-action: ubuntu-llvm/clang build test

Add llvm/clang build test.
Fixes #3979

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agoSupport clang/clang++
MyungJoo Ham [Fri, 13 Oct 2023 09:16:58 +0000 (18:16 +0900)]
Support clang/clang++

Fix clang's complaints.
Addressing #3979

To build w/ LLVM, do
$ CC=clang CXX=clang++ meson ...

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agoFilter/MLAgent: Replace MLAgentd with MLAgent
Wook Song [Fri, 13 Oct 2023 01:22:07 +0000 (10:22 +0900)]
Filter/MLAgent: Replace MLAgentd with MLAgent

Since MLAgentd would not be used interchangeably with MLAgent anymore,
this patch applies those changes.

Signed-off-by: Wook Song <wook16.song@samsung.com>
6 months agoFilter/MLAgent: Apply function name changes in the MLAgent API
Wook Song [Fri, 13 Oct 2023 01:17:33 +0000 (10:17 +0900)]
Filter/MLAgent: Apply function name changes in the MLAgent API

This patch applies the changes of function names in the MLAgent API.

Signed-off-by: Wook Song <wook16.song@samsung.com>
6 months ago[decoder] Let user set yolo decoder parameters
Yongjoo Ahn [Fri, 13 Oct 2023 06:00:15 +0000 (15:00 +0900)]
[decoder] Let user set yolo decoder parameters

- Let option3 of yolo decoders can handle user provided parameters.
  For yolov5 and yolov8 mode:
    The option3 requires up to 3 numbers, which tell
    - whether the output values are scaled or not
      0: not scaled (default), 1: scaled (e.g., 0.0 ~ 1.0)
    - the threshold of confidence (optional, default set to 0.25)
    - the threshold of IOU (optional, default set to 0.45)
  An example of option3 is "option3=0:0.65:0.6"

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[Build] allowed element (identity)
Jaeyun Jung [Fri, 13 Oct 2023 09:45:35 +0000 (18:45 +0900)]
[Build] allowed element (identity)

Add 'identity' in the list of allowed elements.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months agomemleak fix: tensor_split forgot to free things.
MyungJoo Ham [Fri, 25 Aug 2023 07:59:01 +0000 (16:59 +0900)]
memleak fix: tensor_split forgot to free things.

1. split->tensorseg is not freed when overwritten.
2. tensordim pointers are never freed but new-ed frequently.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agofilter: handle error of convert_to_meta
MyungJoo Ham [Wed, 11 Oct 2023 07:30:56 +0000 (16:30 +0900)]
filter: handle error of convert_to_meta

gst_tensor_info_convert_to_meta may return error
if the configured output tensor is invalid.
Handle the error before feeding it to another function,
that may access uninitialized value.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agotest: don't wait for 10000sec. wait 10sec.
MyungJoo Ham [Wed, 11 Oct 2023 07:33:50 +0000 (16:33 +0900)]
test: don't wait for 10000sec. wait 10sec.

wait_pipeline_process_buffers accepts timeout in ms, not us.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>