platform/upstream/nnstreamer.git
2 months ago[CodeClean] fix svace issue accepted/tizen_unified_toolchain accepted/tizen_unified_x_asan accepted/tizen/unified/20240611.123529 accepted/tizen/unified/dev/20240620.010947 accepted/tizen/unified/toolchain/20240610.173146 accepted/tizen/unified/x/20240610.223718 accepted/tizen/unified/x/asan/20240625.092315
Jaeyun Jung [Wed, 29 May 2024 03:17:00 +0000 (12:17 +0900)]
[CodeClean] fix svace issue

Recently ahub static checker reports typecast issue of integer variable.
Update param type and check null ptr to fix svace issue.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
2 months agoRename workflow jobs for github branch rules.
MyungJoo Ham [Mon, 27 May 2024 08:15:53 +0000 (17:15 +0900)]
Rename workflow jobs for github branch rules.

Github status checks are based on job names.
Add names to configure Github status checks.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 months agogithub-action: build and deploy docker.
MyungJoo Ham [Thu, 23 May 2024 10:57:52 +0000 (19:57 +0900)]
github-action: build and deploy docker.

Build and deploy docker image daily.
This will be deployed to nnstreamer:nnstreamer docker hub repo.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2 months ago[CodeClean] util to get nth info
Jaeyun Jung [Thu, 23 May 2024 10:30:24 +0000 (19:30 +0900)]
[CodeClean] util to get nth info

Fix svace issue, use util function to get nth tensor info.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
2 months ago[spec] Enable vivante for specific profile
Yongjoo Ahn [Mon, 20 May 2024 11:55:30 +0000 (20:55 +0900)]
[spec] Enable vivante for specific profile

- Build vivante subplugin for some targets.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 months ago[Spec] disable tensorflow-lite ver1.x
Jaeyun Jung [Thu, 23 May 2024 08:34:11 +0000 (17:34 +0900)]
[Spec] disable tensorflow-lite ver1.x

Update spec file to disable tensorflow-lite ver1.x.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
2 months ago[Spec] features for mv project
Jaeyun Jung [Mon, 20 May 2024 03:44:53 +0000 (12:44 +0900)]
[Spec] features for mv project

Disable features for mv project release.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
2 months ago[CodeClean] fix svace issue
Jaeyun Jung [Fri, 17 May 2024 06:54:52 +0000 (15:54 +0900)]
[CodeClean] fix svace issue

Code clean, fix svace issues.
- check max number of tensors and prevent underflow.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
2 months ago[CodeClean] Fix svace issues
Yelin Jeong [Fri, 17 May 2024 06:59:24 +0000 (15:59 +0900)]
[CodeClean] Fix svace issues

This patch fixes coverity issues
- no effect, dereference of null, uninit members

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 months ago[doc] Change occurrence of boundingbox.c to .cc
Yongjoo Ahn [Mon, 20 May 2024 05:35:29 +0000 (14:35 +0900)]
[doc] Change occurrence of boundingbox.c to .cc

- Trivial change to refer proper code.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 months ago[android] Include recent modified source codes to build android API
Yongjoo Ahn [Mon, 20 May 2024 04:34:40 +0000 (13:34 +0900)]
[android] Include recent modified source codes to build android API

- This resolves recent android API build failures.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
2 months ago[decoder] Remove dependency from base class to derived class
Yelin Jeong [Tue, 14 May 2024 04:56:14 +0000 (13:56 +0900)]
[decoder] Remove dependency from base class to derived class

This patch removes dependency from Bounding box class to properties.
setBoxDecodingMode does not need to be modified even if a new box property added.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 months ago[decoder] Remove subclasses in the header
Yelin Jeong [Wed, 8 May 2024 08:48:22 +0000 (17:48 +0900)]
[decoder] Remove subclasses in the header

This patch removes subclasses in the tensordec-boundingbox header.
Each box properties are located inside box_properties subdir.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 months ago[CodeClean] Change macro to subclass variable, use enum class
Yelin Jeong [Thu, 25 Apr 2024 07:18:20 +0000 (16:18 +0900)]
[CodeClean] Change macro to subclass variable, use enum class

This patch changes macro to subclass static-const variable.
Also use enum class instead of unclear integer code.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 months ago[Refactoring] Split bounding_box struct
Yelin Jeong [Fri, 15 Mar 2024 03:12:32 +0000 (12:12 +0900)]
[Refactoring] Split bounding_box struct

This patch splites properties so that bounding_box struct
does not have properties for all cases.
Also some functions like bb_setOptions, bb_decode have too many if cases,
so I replaced it to use pure virtual functions.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 months ago[edgesrc] Add checking caps before getting tensor size
hyunil park [Thu, 16 May 2024 07:36:51 +0000 (16:36 +0900)]
[edgesrc] Add checking caps before getting tensor size

- Prevent Gstreamer-CRITICAL message when caps is null

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
2 months ago[action] Add check-rebuild reusable workflows
Yelin Jeong [Mon, 13 May 2024 03:43:25 +0000 (12:43 +0900)]
[action] Add check-rebuild reusable workflows

This patch adds check-rebuild reusable workflows and
replace each step in workflow.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
2 months agodecoder/bb/yolov8 Elaborate error message
MyungJoo Ham [Sat, 4 May 2024 02:02:38 +0000 (11:02 +0900)]
decoder/bb/yolov8 Elaborate error message

If input tensor dim/type is invalid, describe the given dim/type.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 months ago[action] skip python test in riscv
Yelin Jeong [Tue, 30 Apr 2024 09:34:30 +0000 (18:34 +0900)]
[action] skip python test in riscv

This patch skips python test in riscv build action.
Although .so file created and PYTHONPATH set, python could not
find nnstreamer module in riscv.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
3 months ago[filter] use tensor filter framework v1 in tensor_filter_python3
Yelin Jeong [Tue, 26 Mar 2024 23:47:11 +0000 (08:47 +0900)]
[filter] use tensor filter framework v1 in tensor_filter_python3

This patch makes tensor_filter_python3 to use tensor_filter_subplugin.
PYCore remains the same, but the type of callback function has been changed.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
3 months ago[TDD] add unittest for python3 tensor_filter subplugin
Yelin Jeong [Tue, 26 Mar 2024 23:45:51 +0000 (08:45 +0900)]
[TDD] add unittest for python3 tensor_filter subplugin

This patch adds unittest for python3 tensor_filter subplugin.
python3 tensor_filter will be upgraded to use v0 to v1.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
3 months ago[tensor_trainer] bugfix: Add exception handling for a non-existent model config file accepted/tizen/7.0/unified/20240509.012440 accepted/tizen/8.0/unified/20240507.165650
hyunil park [Fri, 3 May 2024 01:04:04 +0000 (10:04 +0900)]
[tensor_trainer] bugfix: Add exception handling for a non-existent model config file

Added exception handling for a non-existent model config file

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
3 months ago[actions] Make pubilder cache daily accepted/tizen/unified/20240503.115756 accepted/tizen/unified/toolchain/20240508.012355 accepted/tizen/unified/x/20240507.050958
Yongjoo Ahn [Thu, 2 May 2024 06:37:15 +0000 (15:37 +0900)]
[actions] Make pubilder cache daily

This patch makes the daily pdebuild workflow save the cache key with date postfix and outdate previous cache. Then the pdebuild.yml workflow can use the fresh cache.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[actions] Update gbs workflows to be run on 22.04
Yongjoo Ahn [Thu, 2 May 2024 06:21:59 +0000 (15:21 +0900)]
[actions] Update gbs workflows to be run on 22.04

- Since Ubuntu 22.04 supports gbs from this year, let's switch to it.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[Build] onnx-runtime from tizen 9.0
Jaeyun Jung [Thu, 2 May 2024 04:45:39 +0000 (13:45 +0900)]
[Build] onnx-runtime from tizen 9.0

Update spec to enable ONNX runtime from Tizen 9.0.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
3 months agobuild: update header path
Dongkyun Son [Thu, 14 Mar 2024 00:21:13 +0000 (09:21 +0900)]
build: update header path

Fix fatal error: asm-arm/hwcap.h: No such file or directory

Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
3 months ago[spec] Fix lcov options for different Tizen/lcov versions
Yongjoo Ahn [Tue, 30 Apr 2024 06:27:57 +0000 (15:27 +0900)]
[spec] Fix lcov options for different Tizen/lcov versions

- Set proper lcov options w.r.t. Tizen/lcov versions.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[action] Save pbuilder cache daily and use it in each PR
Yongjoo Ahn [Fri, 26 Apr 2024 08:46:33 +0000 (17:46 +0900)]
[action] Save pbuilder cache daily and use it in each PR

- Let the daily job `update_pbuilder_cache.yml` save cache.
- Let the PR job `pdebuild.yml use proper cache for each arch.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[action] Save gbs cache daily and restore gbs cache per PR
Yongjoo Ahn [Fri, 26 Apr 2024 08:34:39 +0000 (17:34 +0900)]
[action] Save gbs cache daily and restore gbs cache per PR

- Let the daily job `update_gbs_cache.yml` save cache for every build arch.
- Let the PR job `gbs_build.yml` restore proper cache for each arch.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[action] Diable cache actions except for the gbs build
Yongjoo Ahn [Fri, 26 Apr 2024 08:23:30 +0000 (17:23 +0900)]
[action] Diable cache actions except for the gbs build

- Saving cache in each PR consumes too much space.
- To utilize the cache, we need to update each cache in main branch periodically.
  Before introducing such action, disable cache for a while.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[action] Let pdebuild action do not build arm64
Yongjoo Ahn [Fri, 26 Apr 2024 08:19:44 +0000 (17:19 +0900)]
[action] Let pdebuild action do not build arm64

- Currently `pdebuild --architecture arm64` is equivalent as `pdebuild --architecture amd64`.
- Drop arm64 build.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months agogithub-action/macos build fix
MyungJoo Ham [Mon, 29 Apr 2024 08:06:57 +0000 (17:06 +0900)]
github-action/macos build fix

Github-action macos build started spitting:
```
Run actions/setup-python@v1
  with:
    python-version: 3.x
    architecture: x64
  env:
    changed_file_list: /var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/tmp.b0uhtmFUzp
    rebuild:        1
Error: Version 3.x with arch x64 not found
Available versions:
```
Similar with https://github.com/actions/setup-python/issues/162

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 months agoUbuntu: mantic & noble support accepted/tizen/unified/20240425.114326 accepted/tizen/unified/toolchain/20240427.045724 accepted/tizen/unified/x/20240426.050405
MyungJoo Ham [Wed, 17 Apr 2024 13:33:47 +0000 (22:33 +0900)]
Ubuntu: mantic & noble support

I decided to use pytorch being integrated by Ubuntu (debian/sid),
and this package provides libtorch-dev for C++ binding.

Trying to address #4431

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 months agoUpdate Dockerfile
MyungJoo Ham [Fri, 19 Apr 2024 10:59:52 +0000 (19:59 +0900)]
Update Dockerfile

1. Update 18.04 --> 22.04
2. Add gpg-agent to resolve docker build error in 22.04
3. Add mirror ARG for faster usage
    - e.g., w/ --build-arg="UBUNTU_APT_MIRROR=http://mirror.kakao.com/ubuntu/"

Addresses #4432

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
3 months ago[CodeClean] handle hashtable function
Jaeyun Jung [Mon, 22 Apr 2024 09:53:08 +0000 (18:53 +0900)]
[CodeClean] handle hashtable function

Code clean, check hash-table util function result.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
3 months ago[CodeClean] fix typo
Jaeyun Jung [Mon, 22 Apr 2024 06:33:33 +0000 (15:33 +0900)]
[CodeClean] fix typo

Code clean, fix indent and typo in source files.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
3 months ago[test] Set a `gstTestBackground` SSAT tc as not critical
Yongjoo Ahn [Wed, 17 Apr 2024 04:11:03 +0000 (13:11 +0900)]
[test] Set a `gstTestBackground` SSAT tc as not critical

Set the gstTestBackground TCs as not critical:
  The another background pipeline (videotestsrc ! ... ! filesink) from
  `gstTestBackground` sometimes does not make test file properly.
  If following tests succeed, It means background pipeline works well.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[ncnn] Use g_message for accl log
Yongjoo Ahn [Wed, 17 Apr 2024 05:37:16 +0000 (14:37 +0900)]
[ncnn] Use g_message for accl log

This patch makes ssat test (grep "accl = gpu" string) works.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[CodeClean] unnecessary mem allocation
Jaeyun Jung [Tue, 16 Apr 2024 07:22:12 +0000 (16:22 +0900)]
[CodeClean] unnecessary mem allocation

Code clean, remove unnecessary memory allocation while creating edge handle.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
3 months ago[workflow] Fix pbuilder cache permission error
Yongjoo Ahn [Mon, 15 Apr 2024 08:52:33 +0000 (17:52 +0900)]
[workflow] Fix pbuilder cache permission error

- Currently pbuilder workflow does not use stored cache for permission
  error. This commit resolve the issue.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
3 months ago[Query] util function using integer id accepted/tizen/unified/20240423.164552 accepted/tizen/unified/x/20240425.051115
Jaeyun Jung [Fri, 12 Apr 2024 12:46:21 +0000 (21:46 +0900)]
[Query] util function using integer id

To prevent double free case, remove query handle and use integer id.
Also, add util function to hide edge handle in query elements and fix null ptr case.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
3 months ago[Query] Release edge handle when stopping the playing
gichan2-jang [Fri, 12 Apr 2024 01:48:41 +0000 (10:48 +0900)]
[Query] Release edge handle when stopping the playing

Problem: When state changes from PAUSED to NULL,the tensor_query_serversrc cannot switch to NULL state because it keeps waiting for data pop.

Solution: Change the creation and destruction of server data and edge handle to be managed according to the state.

 READY->PAUSED: Create query server common data
 PAUSED->PLAYING: Create nns-edge handle
 PLAYING->PAUSED: Rlease nns-edge handle
 PAUSED->READY: Descruct qeury server common data

Releated issue: https://github.com/nnstreamer/api/issues/487

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
3 months ago[Edge/CodeClean] remove unnecessary connection timeout
Jaeyun Jung [Mon, 8 Apr 2024 08:10:52 +0000 (17:10 +0900)]
[Edge/CodeClean] remove unnecessary connection timeout

Fix svace issue, remove unnecessary code to check connection timeout.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
4 months ago[tensor_trainer] Add condition to stop model training accepted/tizen/unified/20240408.160707 accepted/tizen/unified/x/20240409.070656
hyunil park [Tue, 26 Mar 2024 02:11:52 +0000 (11:11 +0900)]
[tensor_trainer] Add condition to stop model training

- When a request to stop model training is received,
  if it has already been completed, it is ignored

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
4 months ago[Tizen] Fix gcov build error accepted/tizen/unified/20240319.141119 accepted/tizen/unified/20240319.154856 accepted/tizen/unified/20240326.105109 accepted/tizen/unified/x/20240320.132930
gichan2-jang [Tue, 19 Mar 2024 01:52:24 +0000 (10:52 +0900)]
[Tizen] Fix gcov build error

Due to the lcov 2.0 upgrade, the warning is changed to error so the gcov build fails.
Ignore this case. (Tizen PM guide)

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
4 months agomeson: explicit 'enabled' should spit errors if not found
MyungJoo Ham [Wed, 13 Mar 2024 05:42:31 +0000 (14:42 +0900)]
meson: explicit 'enabled' should spit errors if not found

If -Dsupport-ncnn=enabled is given and ncnn is not found,
an error should be generated by meson.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months agodecoder/direct_video: detect element size mismatch
MyungJoo Ham [Fri, 8 Mar 2024 04:42:35 +0000 (13:42 +0900)]
decoder/direct_video: detect element size mismatch

Return error with explicit error message (GST_ERROR) if
the element size mismatches.

For example, float32 tensor stream cannot be converted
to RGB video stream without tensor_transform.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
4 months ago[AITT] Skip AITT test
gichan2-jang [Tue, 12 Mar 2024 07:05:15 +0000 (16:05 +0900)]
[AITT] Skip AITT test

Skip AITT gtest and ssat until aitt-ses is available.

Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
4 months agoFilter/MLAgent: Update build dependency on MLOps Agent accepted/tizen/unified/20240319.020730 accepted/tizen/unified/x/20240320.055305
Wook Song [Mon, 26 Feb 2024 12:02:52 +0000 (21:02 +0900)]
Filter/MLAgent: Update build dependency on MLOps Agent

This patch updates build dependency on MLOps Agent. Note that MLAgent
has been renamed to MLOps Agent and provided from a new repository
separated from the API repository.

Signed-off-by: Wook Song <wook16.song@samsung.com>
4 months ago[trivial] Fix bogus date in chagnelog
Yongjoo Ahn [Thu, 7 Mar 2024 04:04:34 +0000 (13:04 +0900)]
[trivial] Fix bogus date in chagnelog

- Fix rpmbuild warning about wrong date

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[CodeClean] set null after free
Jaeyun Jung [Mon, 4 Mar 2024 04:39:27 +0000 (13:39 +0900)]
[CodeClean] set null after free

Clearly set null after releasing the name in tensor-info struct.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[CodeClean] missing lock
Jaeyun Jung [Thu, 22 Feb 2024 09:58:04 +0000 (18:58 +0900)]
[CodeClean] missing lock

Fix svace issues, add missing lock.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 months ago[build/debian] add dependency to onnxruntime
Suyeon Kim [Thu, 15 Feb 2024 01:39:49 +0000 (10:39 +0900)]
[build/debian] add dependency to onnxruntime

- add new pkg for onnxruntime in debian build

Signed-off-by: Suyeon Kim <suyeon5.kim@samsung.com>
5 months ago[protobuf] Fix memory leak in nnstreamer_protobuf
Yongjoo Ahn [Wed, 14 Feb 2024 08:56:05 +0000 (17:56 +0900)]
[protobuf] Fix memory leak in nnstreamer_protobuf

- Make GstMemory with properly set GDestroyNotify func

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[filter] Fix memory leak in reload model
Yongjoo Ahn [Wed, 14 Feb 2024 08:53:19 +0000 (17:53 +0900)]
[filter] Fix memory leak in reload model

- Fix memory leak when reload tflite model

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[fix] Resolve memory leak in tensor_if
Yongjoo Ahn [Wed, 14 Feb 2024 08:52:28 +0000 (17:52 +0900)]
[fix] Resolve memory leak in tensor_if

- Free g_list and GValue properly.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[test] Freeing memory during unittests
Yongjoo Ahn [Wed, 14 Feb 2024 08:51:23 +0000 (17:51 +0900)]
[test] Freeing memory during unittests

- Unref memory properly used in unittests.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[fix] Free option context in gtest
Yongjoo Ahn [Wed, 14 Feb 2024 08:49:48 +0000 (17:49 +0900)]
[fix] Free option context in gtest

- Call g_option_context_free in unittest_latency

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[spec] Suppress ORC log level
Yongjoo Ahn [Mon, 19 Feb 2024 01:43:43 +0000 (10:43 +0900)]
[spec] Suppress ORC log level

- Suppress ORC logs as showing WARNING or higher logs to reduce too many
  them during gbs unittests.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months agotest/datareposinK: timing error in test case
MyungJoo Ham [Wed, 7 Feb 2024 07:53:37 +0000 (16:53 +0900)]
test/datareposinK: timing error in test case

Occasionally, in github-action CI, datareposink.writeFlexibleTensors_n
fails due to synchronization errors:

```
[ RUN      ] datareposink.writeFlexibleTensors_n
../tests/nnstreamer_datarepo/unittest_datareposink.cc:570: Failure
Expected: (file_info) != (nullptr), actual: NULL vs (nullptr)
[  FAILED  ] datareposink.writeFlexibleTensors_n (173 ms)
```

It happens when the pipeline is set NULL before the file 'flexible.data'
is writtn within the pipeline.
Allow some time (0.1s) before setting it NULL.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 months ago[region] Fix memory leak in tensor_region
Yongjoo Ahn [Thu, 8 Feb 2024 07:31:54 +0000 (16:31 +0900)]
[region] Fix memory leak in tensor_region

- mem argument of `gst_tensor_meta_info_append_header` should be freed.
- Properly free old memory after the call and replace the buffer with
  new memory

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[test] Fix mem leak in tflite unittest
Yongjoo Ahn [Thu, 8 Feb 2024 07:19:47 +0000 (16:19 +0900)]
[test] Fix mem leak in tflite unittest

- Fix memory leak by unref

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months ago[common] Fix mem leak in extra tensors
Yongjoo Ahn [Thu, 8 Feb 2024 07:17:07 +0000 (16:17 +0900)]
[common] Fix mem leak in extra tensors

- Extra tensor names stored in GstMemory leaks.
- Let the extra tensor do not store names.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months agogithub-action: indent style error --> warning
MyungJoo Ham [Thu, 8 Feb 2024 08:17:00 +0000 (17:17 +0900)]
github-action: indent style error --> warning

Indent style error is set down to warning.
Until we have ZERO indent style error in overall,
let's keep them warning.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 months ago[mlagent] Fix misspelling variable naming and log
linuxias [Thu, 8 Feb 2024 07:39:38 +0000 (16:39 +0900)]
[mlagent] Fix misspelling variable naming and log

 - change misspelling 'stringied' to 'stringfied'

Signed-off-by: linuxias <linuxias@gmail.com>
5 months agogithub-action: import all TAOS-CI post-build
MyungJoo Ham [Wed, 24 Jan 2024 02:54:48 +0000 (11:54 +0900)]
github-action: import all TAOS-CI post-build

- gbs build for x64, x86, arm32, arm64
- pdebuild for { x64, arm64 } x { 22.04, 20.04 }
- yocto build w/ eSDK (Yocto 4.0.15)
- android build w/ nttld/setup-ndk

to enable such github actions,
- android / jni build script fix

and, drop TAOS-CI. (all imported!)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 months ago[common] Fix mem leak in gst_tensor_buffer_append_memory
Yongjoo Ahn [Tue, 6 Feb 2024 04:33:40 +0000 (13:33 +0900)]
[common] Fix mem leak in gst_tensor_buffer_append_memory

- last_memory should be released before calling
  `gst_buffer_replace_memory`

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
5 months agoactions: add sloccount, prohibited-words, signed-off-by, ...
MyungJoo Ham [Tue, 23 Jan 2024 07:52:55 +0000 (16:52 +0900)]
actions: add sloccount, prohibited-words, signed-off-by, ...

The following TAOS-CI pr-prebuild checks are imported
- sloccount
- prohibited words
- signed off by
- shellcheck
- flawfinder
- coverity

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months ago[test] Fix snpe filter test to support two API versions
Yongjoo Ahn [Mon, 15 Jan 2024 07:51:39 +0000 (16:51 +0900)]
[test] Fix snpe filter test to support two API versions

- Add dlc model files for SNPE2.
- Rename SNPE1 model files.
- Fix unittest to set proper model files.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[filter] Add SNPE filter supports API ver 2
Yongjoo Ahn [Mon, 15 Jan 2024 07:49:21 +0000 (16:49 +0900)]
[filter] Add SNPE filter supports API ver 2

- Add a SNPE filter source `tensor_filter_snpe.cc` to support SNPE API version 2
  - It utilizes new C APIs.
- Let meson decide cpp source file to compile by checking snpe_api_version

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months agoactions: add cppcheck, doxygen-build, executable, ...
MyungJoo Ham [Mon, 22 Jan 2024 08:17:42 +0000 (17:17 +0900)]
actions: add cppcheck, doxygen-build, executable, ...

The following TAOS-CI pr-prebuild checks are imported
- cppcheck
- doxygen-build
- executable
- hardcoded-path
- misspelling
- nobody
- timestamp

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agoactions: static/rpm-spec check added
MyungJoo Ham [Fri, 19 Jan 2024 07:12:25 +0000 (16:12 +0900)]
actions: static/rpm-spec check added

RPM-SPEC runs rpmlint if .spec file is updated.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agoactions: static/doxygen-tag style clean
MyungJoo Ham [Fri, 19 Jan 2024 06:39:10 +0000 (15:39 +0900)]
actions: static/doxygen-tag style clean

Make the code style consistant with other recent checks.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agoactions: more static checks from TAOC-CI
MyungJoo Ham [Fri, 19 Jan 2024 06:32:37 +0000 (15:32 +0900)]
actions: more static checks from TAOC-CI

- indent
- newline
- pylint

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months ago[CodeClean] fix svace issue
Jaeyun Jung [Thu, 25 Jan 2024 12:12:27 +0000 (21:12 +0900)]
[CodeClean] fix svace issue

1. change data type to handle gst-memory.
2. use util function to get nth tensor info.
3. add null-init in filter-edgetpu.
4. fix use-after-free case when parsing accel in tensor-filter.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months agogithub-action: rebuild only if it's required accepted/tizen/unified/20240125.160253 accepted/tizen/unified/20240126.061442 accepted/tizen/unified/20240126.061459 accepted/tizen/unified/toolchain/20240311.070049 accepted/tizen/unified/x/20240205.063851
MyungJoo Ham [Wed, 17 Jan 2024 06:40:06 +0000 (15:40 +0900)]
github-action: rebuild only if it's required

This adds a workflow routine that checks if rebuild is needed.
Then, if there is no changes in source code, skip rebuilding

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agoGitHub/Workflows: Add an action to check C++ source file format
Wook Song [Tue, 23 Jan 2024 05:10:24 +0000 (14:10 +0900)]
GitHub/Workflows: Add an action to check C++ source file format

This patch adds a GitHub Action workflow to check C++ source file
format.

Signed-off-by: Wook Song <wook16.song@samsung.com>
[Imported from deviceMLOps.MLAgent]
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agogithub-action: do not run static-checks on deleted files.
MyungJoo Ham [Wed, 24 Jan 2024 03:55:15 +0000 (12:55 +0900)]
github-action: do not run static-checks on deleted files.

The git-changed files may include deleted files.
Do not run static-cchecks on deletec files.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agotest: nondeterministic unit test error.
MyungJoo Ham [Tue, 23 Jan 2024 02:14:31 +0000 (11:14 +0900)]
test: nondeterministic unit test error.

Due to multithread nondeterminism, we get
occasional unit test error from the "new_data_cb"
callback.

Create a lock and make data local to the function.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months ago[Filter] remove space of model file
Jaeyun Jung [Mon, 22 Jan 2024 05:07:44 +0000 (14:07 +0900)]
[Filter] remove space of model file

To prevent not-found error, remove space of model path.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months agoactions: add static checks
MyungJoo Ham [Fri, 12 Jan 2024 08:45:27 +0000 (17:45 +0900)]
actions: add static checks

Add static checkers & verifiers to github-actions.
Initially, clang-format for C++ files and file size checker
are migrated from TAOS-CI.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months agogithub-action/risc-v test update
MyungJoo Ham [Tue, 7 Feb 2023 07:22:09 +0000 (16:22 +0900)]
github-action/risc-v test update

Use dockerfile of nnstreamer's fork designed for nnstreamer packages.
Enable gtest, too.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 months ago[fix/svace] fix svace issue accepted/tizen/unified/20240119.154754
Suyeon Kim [Thu, 18 Jan 2024 02:01:58 +0000 (11:01 +0900)]
[fix/svace] fix svace issue

Fix covertiy and SVACE issue
- model_path isn't initialized. fixed it.

Signed-off-by: Suyeon Kim <suyeon5.kim@samsung.com>
6 months ago[add/onnxruntime] Update onnxruntime_support on
Suyeon Kim [Wed, 17 Jan 2024 05:33:59 +0000 (14:33 +0900)]
[add/onnxruntime] Update onnxruntime_support on

add true default onnxruntime option for Tizen releases

Signed-off-by: Suyeon Kim <suyeon5.kim@samsung.com>
6 months ago[tensor_trainer] Move the function of checking invalid parameters
hyunil park [Tue, 16 Jan 2024 09:56:49 +0000 (18:56 +0900)]
[tensor_trainer] Move the function of checking invalid parameters

- Move gst_tensor_trainer_check_invalid_param to enable setting properties in PAUSED states

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
6 months ago[CodeClean] util to get list size
Jaeyun Jung [Fri, 12 Jan 2024 11:53:24 +0000 (20:53 +0900)]
[CodeClean] util to get list size

Code clean, fix indent and util function to get list size.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[Filter/ArmNN] fix mem leak
Jaeyun Jung [Fri, 12 Jan 2024 11:51:48 +0000 (20:51 +0900)]
[Filter/ArmNN] fix mem leak

Fix mem leak, free model path in destructor.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[build] Let meson check API version of SNPE
Yongjoo Ahn [Fri, 12 Jan 2024 07:35:59 +0000 (16:35 +0900)]
[build] Let meson check API version of SNPE

- Let meson.build check SNPE API version.
- Added compile flag `SNPE_VERSION_MAJOR` would be used in future commits.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[filter] Rename `tensor_filter_snpe.cc` to `tensor_filter_snpe_v1.cc`
Yongjoo Ahn [Fri, 12 Jan 2024 07:52:47 +0000 (16:52 +0900)]
[filter] Rename `tensor_filter_snpe.cc` to `tensor_filter_snpe_v1.cc`

- Current source code targets SNPE version 1.
- Future commits will add source code targets SNPE version 2.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[tests] Add SSAT test for padding mode in tensor_transform
Yelin Jeong [Fri, 12 Jan 2024 06:07:35 +0000 (15:07 +0900)]
[tests] Add SSAT test for padding mode in tensor_transform

This patch adds SSAT test for padding mode in tensor_transform.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
6 months ago[transform] Add tensor padding mode in tensor_transform
Yelin Jeong [Fri, 12 Jan 2024 05:00:09 +0000 (14:00 +0900)]
[transform] Add tensor padding mode in tensor_transform

This patch adds tensor padding mode in tensor_transform.
tensor padding has options like this.
left, right, top, bottom, front, back, type (NCHW or NHWC).

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
6 months ago[common] Move enum tensor_layout
Yelin Jeong [Fri, 12 Jan 2024 04:47:36 +0000 (13:47 +0900)]
[common] Move enum tensor_layout

This patch moves tensor_layout enum to tensor_typedef.
tensor_layout can be used in other elements.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
6 months ago[trivial] Fix multiline comments to meet doxygen requiremnent
Yongjoo Ahn [Fri, 5 Jan 2024 09:20:45 +0000 (18:20 +0900)]
[trivial] Fix multiline comments to meet doxygen requiremnent

- Fix multiline comments in unittest_mlagent.cc to satisfy CI

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[mlagent] Let `mlagent_get_model_path_from` returns uri in fallback
Yongjoo Ahn [Fri, 5 Jan 2024 09:17:27 +0000 (18:17 +0900)]
[mlagent] Let `mlagent_get_model_path_from` returns uri in fallback

- Let the function returns properly allocated gchar* in fallback case.
- Fix memleak (g_strfreev).
- Fix memleak in a testcase.

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[test] Add a missing header in mock_mlagent.h
Yongjoo Ahn [Fri, 5 Jan 2024 08:41:38 +0000 (17:41 +0900)]
[test] Add a missing header in mock_mlagent.h

- Add a missing header <utility> in mock_mlagent.h
- It declares `std::exchange`

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[fix/onnxruntime-filter] fixed tensor with negative value in shape
Suyeon Kim [Tue, 9 Jan 2024 01:26:24 +0000 (10:26 +0900)]
[fix/onnxruntime-filter] fixed tensor with negative value in shape

Some onnx models had free dimensions for batch. ex) [None,3,720,720]
It fixed that creating tensor with negative value in shape '''Ort::Value''' is treated  as 1.

Signed-off-by: Suyeon Kim <suyeon5.kim@samsung.com>
6 months ago[Py/CodeClean] pylock after checking ptr
Jaeyun Jung [Mon, 8 Jan 2024 10:34:30 +0000 (19:34 +0900)]
[Py/CodeClean] pylock after checking ptr

Code clean, apply gil after checking null ptr.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months ago[build] Remove unnecessary BuildRequires
Yongjoo Ahn [Fri, 5 Jan 2024 08:20:36 +0000 (17:20 +0900)]
[build] Remove unnecessary BuildRequires

- The latest tflite2 tizen package has its own flatbuffers header
  internally. Let's remove the `BuildRequires: flatbuffers-debvel`
- Let meson check the header when build_platform is not tizen

Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
6 months ago[Pkg] fix library name for nns internal
Jaeyun Jung [Mon, 8 Jan 2024 10:36:01 +0000 (19:36 +0900)]
[Pkg] fix library name for nns internal

nnstreamer-internal pkg requires nns-single library.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
6 months agoCentralize python interpreter init/fini for subplugins
MyungJoo Ham [Wed, 13 Dec 2023 05:41:54 +0000 (14:41 +0900)]
Centralize python interpreter init/fini for subplugins

Python subplugins of decoder, converter, filter should
share the init/fini status.

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