[Doc] Update the component-description
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 5 Sep 2019 07:59:56 +0000 (16:59 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Mon, 9 Sep 2019 09:07:59 +0000 (18:07 +0900)
This document was way too obsolete. Update it with recent info.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Documentation/component-description.md

index c83bd49..cc0bb92 100644 (file)
@@ -24,7 +24,7 @@ In this page, we focus on the status of each elements. For requirements and desi
     - audio/x-raw. Users should specify the number of frames in a single buffer, which denotes the number of frames in a single tensor frame with the property of ```frames-per-buffer```. Needs more test cases.
   - Text (stable)
     - text/x-raw. Partially implemented. Needs fixes and test cases.
-  - Binary (experimenal)
+  - Binary (stable)
     - application/octet-stream. Stream pipeline developer MUST specify the corresponding type and dimensions via properties (input-dim, input-type)
 - [tensor\_filter](../gst/nnstreamer/tensor_filter)
   - Main (stable)
@@ -35,13 +35,17 @@ In this page, we focus on the status of each elements. For requirements and desi
       - Invoke subplugin and let subplugin allocate output buffers.
       - Accept other/tensors.
     - TODO: Allow to manage synchronization policies.
-    - TODO: Recurrent models. The first target unit-test is LSTM.
-  - Tensorflow-Lite (stable)
-  - Custom (stable)
-  - Tensorflow (experimental)
-  - Other NNFW TBD (caffe2, caffe, ...)
+  - Custom-C (stable)
+  - Custom-Python (stable)
+  - Custom Native Functions (stable) (Supply custom-filter in run-time)
+  - Tensorflow (stable)
+  - Tensorflow-lite (stable)
+  - Caffe2 (stable)
+  - PyTorch (stable)
+  - Movidius-X NCS2 (stable)
+  - Other NNFW TBD (keras, caffe, Exynos-NPU, edge-TPU, Qualcomm-SNPE, ...)
 - [tensor\_sink](../gst/nnstreamer/tensor_sink) (stable)
-- [tensor\_transform](../gst/nnstreamer/tensor_transform) (stable, but with NYI WIP items)
+- [tensor\_transform](../gst/nnstreamer/tensor_transform) (stable)
   - Supported features
     - Type Cast (typecast) (stable, orc supported with the property ```acceleration```)
     - Dimension Change (dimchg) (stable with limited sub features)
@@ -49,8 +53,8 @@ In this page, we focus on the status of each elements. For requirements and desi
     - Transpose (transpose) (stable with limited sub features)
     - Standardization/Normalization (stand) (stable with limited sub features)
     - More features coming soon!
-- [tensor\_merge](../gst/nnstreamer/tensor_merge) (stable, but with NYI WIP items)
-- [tensor\_split](../gst/nnstreamer/tensor_split) (stable, but with NYI WIP items)
+- [tensor\_merge](../gst/nnstreamer/tensor_merge) (stable)
+- [tensor\_split](../gst/nnstreamer/tensor_split) (stable)
 - [tensor\_decoder](../gst/nnstreamer/tensor_decoder) (stable, but with NYI WIP items)
   - Supported features
     - Direct video conversion (video/x-raw) (stable)
@@ -59,30 +63,51 @@ In this page, we focus on the status of each elements. For requirements and desi
     - More items are planned.
 - [tensor\_mux](../gst/nnstreamer/tensor_mux) (stable)
 - [tensor\_demux](../gst/nnstreamer/tensor_demux) (stable)
-- [tensor\_source](../gst/nnstreamer/tensor_source) (planned)
+- [tensor\_source](../gst/nnstreamer/tensor_source) (stable for IIO. More sources coming soon)
 - [tensor\_save](../gst/nnstreamer/tensor_saveload) (planned)
 - [tensor\_load](../gst/nnstreamer/tensor_saveload) (planned)
 - [tensor\_aggregator](../gst/nnstreamer/tensor_aggregator) (stable)
-- [tensor\_ros\_sink](https://github.com/nnsuite/nnstreamer-ros) (planned)
-- [tensor\_ros\_src](https://github.com/nnsuite/nnstreamer-ros) (planned)
+- [tensor\_ros\_sink](https://github.com/nnsuite/nnstreamer-ros) (stable for ROS1)
+- [tensor\_ros\_src](https://github.com/nnsuite/nnstreamer-ros) (stable for ROS1)
+- [tensor\_repo\_sink](../gst/nnstreamer/tensor_repo) (stable)
+- [tensor\_repo\_src](../gst/nnstreamer/tensor_repo) (stable)
 
 
 Note that test elements in /tests/ are not elements for applications. They exist as scaffoldings to test the above elements especially in the case where related elements are not yet implemented.
 
+# API Support
+
+- C-API
+  - Main target is Tizen, but supports other OS as well.
+  - [Implementation](../api/capi) (stable, since Tizen 5.5 M2)
+- C#-API (.NET)
+  - Main target is Tizen, but supports other OS as well.
+  - [Implementation](https://github.com/Samsung/TizenFX/pull/940) (to be released for Tizen 5.5 M2)
+- JAVA-API (Android)
+  - [Android sample app](../api/android/sample/src) uses JAVA APIs to implement Android-nnstreamer apps.
+  - We will soon deploy nnstreamer via JCenter: org.nnsuite.nnstreamer
+  - Note that the Android Sample Applications published via Google Play Store, [Source Code](https://github.com/nnsuite/nnstreamer-example/tree/master/android/example_app)), are developed before NNStreamer Java API. They use GStreamer JAVA API.
+
 # Other Components
-- CI ([@private server](http://nnsuite.mooo.com/) (stable): Up and running
-- CI (@AWS) (experimental): WIP (leemgs)
-- CD (@launchpad / @OBS) (planned)
+- CI ([@AWS](http://nnsuite.mooo.com/nnstreamer/ci/taos)) (stable): Up and Running.
+- CD
+  - Tizen (since 5.5 M1) [Package Download](http://download.tizen.org/snapshots/tizen/unified/latest/repos/standard/packages/) [Build & Release Infra](https://build.tizen.org/project/show/Tizen:Unified)
+  - Ubuntu [Launchpad PPA](https://launchpad.net/~nnstreamer/+archive/ubuntu/ppa)
+  - Yocto/OpenEmbedded [OpenEmbedded Layer, "meta-neural-network"](https://layers.openembedded.org/layerindex/branch/master/layer/meta-neural-network/)
+  - Android WIP: JCenter Repository & Daily Build Release
+  - macOS WIP: Daily Build Release
 - [Test cases](../tests/): Mandatory unit test cases required to pass for each PR.
   - Used [SSAT](https://github.com/nnsuite/SSAT).
-  - Each element and feature is required to register its testcases here.
+  - Each element and feature is required to register its testcases at [test case directory](../tests/)
 - Examples: Example gstreamer applications using nnstreamer and example sub-plugins for nnstreamer. The binaries from this directory is not supposed to be packaged with the main binary package.
   - [Example gstreamer applications](https://github.com/nnsuite/nnstreamer-example)
   - [Example sub-plugins](../nnstreamer_example)
 - Packaing for Distros / SW-Platform Compatibility.
   - [Tizen](../packaging) (stable): RPM packaging for Tizen 5.0+. It is expected to be compatible with other RPM-based distros; however, it is not tested or guaranteed.
   - [Ubuntu](../debian) (stable): DEB packaging for Ubuntu 16.04. It is highly expected to be compatible with later versions as well; but, not tested yet. Debian is not tested, either.
-  - Yocto (experimental)
-  - Android (planned with high priority)
+  - [Yocto](https://github.com/nnsuite/meta-nerual-network) (stable)
+  - [Android](../jni) (stable)
+  - macOS (built & tested w/ macOS. but packaging is not provided, yet.)
   - iOS (planned with low priority)
 - [Common headers](../gst/nnstreamer)
+- [Change Log](../CHANGES)