- 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)
- 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)
- 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)
- 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)