~kparichay/nnstreamer/+git/trunk:tensor_filter_reset_fw_func

Last commit made on 2020-02-13
Get this branch:
git clone -b tensor_filter_reset_fw_func https://git.launchpad.net/~kparichay/nnstreamer/+git/trunk

Branch merges

Branch information

Name:
tensor_filter_reset_fw_func
Repository:
lp:~kparichay/nnstreamer/+git/trunk

Recent commits

497fe9e... by Parichay Kapoor <email address hidden>

[ext] Remove class static variables without locking

As extensions are supposed to be thread-safe, using class static variables without locks is not stable.
Move class static variables to class private local object variables for python, tensorflow and caffe2.
Also update corresponding usages.

Signed-off-by: Parichay Kapoor <email address hidden>

3a4e626... by Parichay Kapoor <email address hidden>

[python/ext] Do not update python framework functions

Python updates in extensions framework functions
This results in non-thread-safe behavior
This PR modifies the corresponding implementation

Signed-off-by: Parichay Kapoor <email address hidden>

ef2f3bc... by Parichay Kapoor <email address hidden>

[subplugin/ext] Extensions not update their functions

NNStreamer extensions for tensor filter update their functions based on the model file
However, this behavior is not thread-safe.
Updated for extensions to not update their functions for allocate_in_invoke

For allocate_in_invoke, tensor_filter needs to know based on the model if the allocate_in_invoke is supported or not
So added another interface in GstTensorFilterFramework - allocateInInvoke

V2:
Added allocate_in_invoke to be set properly in single API implementation of tensor_filter
Also added some minor updates in comment
Added minor bugfix in python extension

Related Issue: #2034

Signed-off-by: Parichay Kapoor <email address hidden>

85848c0... by MyungJoo Ham

Start development of 1.5.0 as 1.6.0-RC1

1.4.0 -> 1.5.0
        - 1.5.0 is a devel version for 1.6.0 release. (RC1)

Signed-off-by: MyungJoo Ham <email address hidden>

8503ba0... by MyungJoo Ham

Release of 1.4.0

Major changes since 1.2.0 release:

1.3.1 -> 1.4.0
        - Stable release with API changes
        - *Tensor-filter subplugin API has been updated.*
        - Stability fixes & added unit test cases
        - C-API updates

1.3.0 -> 1.3.1
        - 1.3.1 is a devel version for 1.4.0 release.
        - Support C++ class custom filters. (C++ class as a NN model)
        - A tensor-filter instance may have multiple model files easily.
        - Updated env-var handling logic for non-Tizen devices.
        - Unit test: higher visibility & behavior correctness fixes.
        - Auto-generated test cases for tensor-filter sub-plugins (extensions).
        - Android/Java support with more convinient methods.
        - Support gcc9
        - Support openVino as a tensor-filter, allowing to accelerate with Intel NCS/Myriad.
        - Support NCSDK as a tensor-filter.
        - Support ARMNN as a tensor-filter. (support TF-Lite and Caffe models)
        - Reduce asserts and add error handling routines.
        - Support Androdi/SNAP as a tensor-filter.
        - Support hardware accelerators & 8-bit quantization for NNFW-Runtime & stabilize NNFW-Runtime support with test cases.
        - Support Edge-TPU and its runtime as a tensor-filter.
        - Filter subplugins refactored to have a single source file (.cc)
        - Support model reload
        - A lot of fixes for bugs found by Coverity, SVACE, and other static analysis tools

1.2.0 -> 1.3.0:
        - 1.3.0 is a devel version for 1.4.0 release.
        - From 1.2.0, 1.even.x is a release and 1.odd.x is a devel version.
        - When 1.3.x is "done", it will release 1.4.0 and move on to 1.5.0

Signed-off-by: MyungJoo Ham <email address hidden>

c119a3a... by Parichay Kapoor <email address hidden>

[subplugin] Refactor subplugin interface

Refactor subplugin interface
Add new interface for the subplugins along with the old interface
Added version number to check if old subplugin interface is used or new one

Both the interfaces are added as a union,
This will allow for staggered changes rather a big change to be made at once

V2:
- Merged operation GET_INPUT_INFO and GET_OUTPUT_INFO into 1. Now atleast one of
SET_INPUT_INFO and GET_INOUT_INFO must be supported.
- Added framework versioning helper macros
- Older framework is now version 0 and newer one is version 1
- Renamed sendEvent to eventHandler
- private_data is a double pointer only in open/close in v1
- Invoke in v1 compared to invoke_NN in v0 where private_data is not a double pointer
- Moved init and fini functions in tensor_filter_cpp for readability

V3:
Update GstTensorFilterFramework function pointers set for all filters to pass all build

V4:
Added to description - eventHandler argument `void *data` is allowed to be NULL

V5:
Added tensor filter API versions for external subplugins to verify compatibility at compile time
Renamed GET_INOUT_INFO to GET_IN_OUT_INFO for readability

V6:
Added more operations to be supported with eventHandler which allow updating the properties
Added GstTensorFilterFrameworkEventData which allows arguments to be passed dependent on the event
GstTensorFilterProperties is passed to all the callbacks

V7:
Updated destroyNotify to take private_data as an input for V0, and corresponding changes in tensor_filter and subplugins
Added allocateInInvoke for V0

Signed-off-by: Parichay Kapoor <email address hidden>

b6a9119... by Jaeyun <email address hidden>

[Conf/CodeClean] remove duplicated code

add internal function for sub-plugin scan.

Signed-off-by: Jaeyun Jung <email address hidden>

2b25535... by Gichan Jang

[Coverity] Fix resource leak
Fix coverity issues caused by resource leak.
CID: 1123663, 1123830, 1123853, 1123860

Signed-off-by: gichan-jang <email address hidden>

20ec186... by Yongjoo Ahn

fix coverity CID: 1123841, 1123966
1123841 - check the return value of sensor_listener_start
1123966 - g_free the newly allocated memory

Signed-off-by: Yongjoo Ahn <email address hidden>

862d05c... by Dongju Chae

[Doc] Fix broken links for SSAT in documentation.

This commit fixes broken links for SSAT in documentation.
nnsuite/ssat is no longer available.

Signed-off-by: Dongju Chae <email address hidden>