[Tensor Filter] Added a sub-plugin filter for VIM3/Vivante NPU
authorGeunsik Lim <geunsik.lim@samsung.com>
Fri, 15 May 2020 05:00:50 +0000 (14:00 +0900)
committerwooksong <wook16.song@samsung.com>
Fri, 29 May 2020 01:39:12 +0000 (10:39 +0900)
commit858960205be5962cec72a31e749aae0d88a67b78
tree907555f94d64d315e6edeb145c914584f6cf6524
parentd399e522322dcb9dd67a1670bc2d4bdcceb61f88
[Tensor Filter] Added a sub-plugin filter for VIM3/Vivante NPU

This commit is to append the Vivante sub-plugin based on the tensor filter
of NNStreamer to support the Vivante NPU driver.

**Changelog**

* Version 10:
   * Added license clause
   * Improved statements of the nnsreamer.spec file

* Version 1-9:
   * Fixed memory leak (e.g., g_free)
   * FIxed security (e.g., nnstreamer.nanifest) for Tizen packaging
   * doc: Added how to build and run the Vivante filter on Ubuntu 18.04 (ARM64)
   * Updated the invoke function to support various models
     (e.g., Inception, Yolo, Mobile SSD)
   * Added Tizen package script for Tizen platform
   * Fixed incorrect var type (e.g., unsigned int for num_tensors)
   * Added annotations for code maintenance
   * Added run.sh for Ubuntu18.04 aarch64 + VIM3 board
   * Added convert function for vivante tensor data type
   * Added vsi_nn_GetTensor of OpenVX apis to obtain tensor data (input, output)
   * Added info[i].name with dummy data (e.g., tensor id)
   * Removed deprecated variables and functions
   * Updated the vivante filter with "multi-files" structure for re-usability
     - "model=/opt/vivante/model/inception_v3.nb,
       /opt/vivante/model/libinception_v3.so
   * Updated the existing vivante tensor filter based on dlopen() scheme
   * Added a functions to check the dlopen operation to avoid undefined symbol issue
   * Updated annotaiton (e.g., image size is 299:299)
   * Added Vivante functions (common APIs) in the vivante_open function
   * Added Vivante functions (common APIs) in the vivante_invoke function
   * Added Vivante functions (common APIs) in the vivante_close function
   * Update annotation to avoid misunderstanding
   * Fixed typos (GstTensorsInfo)
   * Add todo list (e.g., glib's time functions)
   * Added vsi_nn_pub.h header file to use libraries of acuity-ovxlib-dev tool
   * Added a skeleton of the Vivate tensor filter
   * Imported the major implementation of the Vivante (inceptionv3 model)
     for Nnstreamer pipeline. libvivante_v3.so will be used by "model=***"
     interface to support a generic approach for re-usability.
   * Added vivante_inception_v3.h header file for .so file of a NN model
   * Added a data structure (e.g., vivante_data) to manage Vivante data

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
ext/nnstreamer/tensor_filter/meson.build
ext/nnstreamer/tensor_filter/vivante/README.md [new file with mode: 0644]
ext/nnstreamer/tensor_filter/vivante/build_run.sh [new file with mode: 0755]
ext/nnstreamer/tensor_filter/vivante/meson.build [new file with mode: 0644]
ext/nnstreamer/tensor_filter/vivante/tensor_filter_subplugin.c [new file with mode: 0644]
meson_options.txt
packaging/nnstreamer.spec