This Code of Conduct is a modified one from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version].
-[homepage]: http://contributor-covenant.org
-[version]: http://contributor-covenant.org/version/1/4/
+[homepage]: https://contributor-covenant.org
+[version]: https://contributor-covenant.org/version/1/4/
Anyone who has been contributed to the repository by submitting a pull-request and have it reviewed, accepted, and merged by committers is a contributor.
-Each contributor should comply with the [Code of Conduct](https://github.com/nnstreamer/nnstreamer/blob/master/CODE_OF_CONDUCT.md), this document (CONTRIBUTING.md), and [the Linux Foundation's policies](http://lfprojects.org/policies/).
+Each contributor should comply with the [Code of Conduct](CODE_OF_CONDUCT.md), this document (CONTRIBUTING.md), and [the Linux Foundation's policies](https://lfprojects.org/policies/).
Every contributor is able and encouraged to review codes and to participate in other developmental activities.
Alternatively, TSC may decide to elect or to retire a committer with TSC voting as well or amend the rules on how to elect/retire committers.
-Each committer is also a contributor and should comply with the [Code of Conduct](https://github.com/nnstreamer/nnstreamer/blob/master/CODE_OF_CONDUCT.md), this document (CONTRIBUTING.md), and [the Linux Foundation's policies](http://lfprojects.org/policies/).
+Each committer is also a contributor and should comply with the [Code of Conduct](CODE_OF_CONDUCT.md), this document (CONTRIBUTING.md), and [the Linux Foundation's policies](https://lfprojects.org/policies/).
The committers are:
- SNPE (stable)
- Vivante (stable)
- WIP: SNAP (Exynos-NPU & Qualcomm-SNPE), ...
- - [Guide on writing a filter subplugin](Documentation/writing-subplugin-tensor-filter.md)
- - [Codegen and code template for tensor\_filter subplugin](https://github.com/nnstreamer/nnstreamer-example/tree/master/templates)
+ - [Guide on writing a filter subplugin](writing-subplugin-tensor-filter.md)
+ - [Codegen and code template for tensor\_filter subplugin](https://github.com/nnstreamer/nnstreamer-example/tree/main/templates)
- [tensor\_sink](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_sink) (stable)
- [tensor\_transform](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_transform) (stable)
- Supported features
- [tensor\_mux](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_mux) (stable)
- [tensor\_demux](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_demux) (stable)
- [tensor\_source](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_source) (stable for IIO. More sources coming soon)
-- [tensor\_aggregator](https://github.com/nnstreamer/nnstreamer/tree/main//gst/nnstreamer/tensor_aggregator) (stable)
+- [tensor\_aggregator](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_aggregator) (stable)
- [tensor\_repo\_sink](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_repo) (stable)
- [tensor\_repo\_src](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_repo) (stable)
- [tensor\_src\_iio](https://github.com/nnstreamer/nnstreamer/tree/main/gst/nnstreamer/tensor_source) (stable)
- JAVA-API (Android)
- [Android sample app](https://github.com/nnstreamer/nnstreamer-example/tree/master/android/example_app/api-sample) uses JAVA APIs to implement Android-NNStreamer apps.
- [Available at JCenter](https://bintray.com/beta/#/nnsuite/nnstreamer?tab=packages)
- - Note that the Android Sample Applications published via Google Play Store, [Source Code](https://github.com/nnstreamer/nnstreamer-example/tree/master/android/example_app), are developed before NNStreamer Java API. They use GStreamer functions.
+ - Note that the Android Sample Applications published via Google Play Store, [Source Code](https://github.com/nnstreamer/nnstreamer-example/tree/main/android/example_app), are developed before NNStreamer Java API. They use GStreamer functions.
- Web API (HTML5) Planned (Tizen 7.0?)
- Python API Planned (Tizen 7.0?)
* To make it easy to debug the code, with both a system call tracer and GNU debuggers. It should be easy to set breakpoints, view locals, and display and view data structures.
* To attempt to improve code quality through consistency, and requiring patterns that are less likely to result in bugs either initially, or after code modification.
-For more information, please refer to [coding-convention.md](https://github.com/nnstreamer/nnstreamer/blob/main/Documentation/coding-convention.md).
+For more information, please refer to [coding-convention.md](coding-convention.md).
For C code, you may use [gst-indent](https://github.com/nnstreamer/nnstreamer/blob/main/tools/development/gst-indent).
A PR is required to meet the following criteria.
* It has passed all the tests defined for TAOS-CI.
- This includes unit tests and integration tests in various platforms and different static analysis tools.
- - Note that one of the tests includes the "Signed-off-by" check, which means that the author has agreed with [Code of Conduct](https://github.com/nnstreamer/nnstreamer/blob/main/CODE_OF_CONDUCT.md). You may need to refer to later section.
+ - Note that one of the tests includes the "Signed-off-by" check, which means that the author has agreed with [Code of Conduct](../CODE_OF_CONDUCT.md). You may need to refer to later section.
* At least TWO committers (reviewers with voting rights, elected by TSC or other committers) have approved the PR.
- This is a necessary condition, not sufficient.
- If the PR touches sensitive codes or may affect wide ranges of components, reviewers will wait for other reviewers to back them up.
title: Data type and flow control\r
...\r
\r
-[Rank counting with other/tensor types](Documentation/rank-counting-with-other-tensor.md)\r
+[Rank counting with other/tensor types](rank-counting-with-other-tensor.md)\r
\r
# GStreamer data types (pad capabilities)\r
\r
Besides timestamping, we have additional synchronization issues when there are merging streams. We need to determine which frames are going to be merged (or muxed) when we have multiple available and unused frames in an incoming sink pad. In general, we might say that the synchronization of frames determines which frames to be used for mux/merge and timestamping rule determins which timestamp to be used among the chosen frames for mux/merge. \r
In principle and by default,\r
- If there are mutliple unused and available frames in a sink pad, unlike most media filters, we take a buffer that arrived most recently.\r
-- For more about the synchronization policies, see [Synchronization policies at Mux and Merge](synchronization-policies-at-mux-and-merge.md)\r
+- For more about the synchronization policies, see [Synchronization policies at Mux and Merge](synchronization-policies-at-mux-merge.md)\r
\r
### Leaky Queue\r
\r
```
# for src app
$ cd ./gst
- $ doxygen ../Doxyfile.prj # from https://github.com/nnstreamer/TAOS-CI/blob/master/ci/Doxyfile.prj
+ $ doxygen ../Doxyfile.prj # from https://github.com/nnstreamer/TAOS-CI/blob/main/ci/Doxyfile.prj
# launch with the browser to view the results
$ chromium-browser ./html/index.html
These examples are tested using Ubuntu PC and Raspberry PI.
- * [Image Classification](https://github.com/nnstreamer/nnstreamer-example/tree/master/Tizen.platform/Tizen_IoT_ImageClassification)
+ * [Image Classification](https://github.com/nnstreamer/nnstreamer-example/tree/main/Tizen.platform/Tizen_IoT_ImageClassification)
The device analyzes the camera image before transmitting it, and then transmits meaningful information only.
In this example, if the device finds a target that the user wants, it starts video streaming to the server.
- * [Text Classification](https://github.com/nnstreamer/nnstreamer-example/tree/master/Tizen.platform/Tizen_IoT_text_classification_NonGUI)
+ * [Text Classification](https://github.com/nnstreamer/nnstreamer-example/tree/main/Tizen.platform/Tizen_IoT_text_classification_NonGUI)
Text classifications are classified into predefined groups based on sentences.
- * [Image segmentation on edgeTPU](https://github.com/nnstreamer/nnstreamer-example/tree/master/bash_script/example_image_segmentation_tensorflow_lite)
+ * [Image segmentation on edgeTPU](https://github.com/nnstreamer/nnstreamer-example/tree/main/bash_script/example_image_segmentation_tensorflow_lite)
Image segmentation is the process of partitioning a digital image into multiple segments.
### Additional materials for Tizen developers
-[Writing Tizen Native Apps with NNStreamer / ML APIs](Documentation/writing-tizen-native-apps.md)
+[Writing Tizen Native Apps with NNStreamer / ML APIs](writing-tizen-native-apps.md)
You need to rebuild nnstreamer's corresponding subplugins (e.g., nnstreamer-tensorflow) with the nerual network framework version you want to use.
-* You may configure/update, build with pdebuild/debuild, and install its resulting .deb packages [Ubuntu: Pbuilder / Pdebuild](Documentation/getting-started-ubuntu-debuild.md).
-* You may configure/update, build with meson/ninja, and install binraies with ninja [Linux generic: build with meson and ninja](Documentation/getting-started-meson-build.md): For advanced users with feature customization.
+* You may configure/update, build with pdebuild/debuild, and install its resulting .deb packages [Ubuntu: Pbuilder / Pdebuild](getting-started-ubuntu-debuild.md).
+* You may configure/update, build with meson/ninja, and install binraies with ninja [Linux generic: build with meson and ninja](getting-started-meson-build.md): For advanced users with feature customization.
* Be careful on install paths and duplicated installation. You need to check the configuration (/etc/nnstreamer.ini and env-vars)
#### Unsafe method (no need for rebuild)
## Getting Started
-### [Ubuntu: PPA Install](Documentation/getting-started-ubuntu-ppa.md): Recommended to most users
-### [Ubuntu: Pbuilder / Pdebuild](Documentation/getting-started-ubuntu-debuild.md): Create .deb packages
-### [Linux generic: build with meson and ninja](Documentation/getting-started-meson-build.md): For advanced users with feature customization
-### [Tizen: gbs](Documentation/getting-started-tizen.md): Build RPM packages for Tizen
-### [macOS](Documentation/getting-started-macos.md)
+### [Ubuntu: PPA Install](getting-started-ubuntu-ppa.md): Recommended to most users
+### [Ubuntu: Pbuilder / Pdebuild](getting-started-ubuntu-debuild.md): Create .deb packages
+### [Linux generic: build with meson and ninja](getting-started-meson-build.md): For advanced users with feature customization
+### [Tizen: gbs](getting-started-tizen.md): Build RPM packages for Tizen
+### [macOS](getting-started-macos.md)
As of 2018/10/13, we support 16.04 and 18.04
## Build examples (Ubuntu 16.04 and 18.04)
-* https://github.com/nnstreamer/nnstreamer/blob/main/Documentation/getting-started.md
+* [getting-started](getting-started.md)
- Install related packages before building nnstreamer and examples.
1. ninja-build, meson (>=0.50)
```
## How to write Test Cases
-* [How to write Test Cases](Documentation/how-to-write-testcase.md)
+* [How to write Test Cases](how-to-write-testcase.md)
## Single
-A simple sample Tizen app with Single APIs is at nnstreamer-example.git, [SingleSample](https://github.com/nnstreamer/nnstreamer-example/tree/master/Tizen.native/SingleSample).
+A simple sample Tizen app with Single APIs is at nnstreamer-example.git, [SingleSample](https://github.com/nnstreamer/nnstreamer-example/tree/main/Tizen.native/SingleSample).
## Pipeline
-A simple sample Tizen app with Pipeline APIs is at nnstreamer-example.git, [PipelineSample](https://github.com/nnstreamer/nnstreamer-example/tree/master/Tizen.native/PipelineSample).
+A simple sample Tizen app with Pipeline APIs is at nnstreamer-example.git, [PipelineSample](https://github.com/nnstreamer/nnstreamer-example/tree/main/Tizen.native/PipelineSample).
# Tizen ML API Documentation
For more details, please access the following manuals.
* For Linux-like systems such as Tizen, Debian, and Ubuntu, press [here](Documentation/getting-started.md).
* For macOS systems, press [here](Documentation/getting-started-macos.md).
-* To build an API library for Android, press [here](api/android/README.md).
+* To build an API library for Android, press [here](Documentation/getting-started-android.md).
## Applications
[gitter-url]: https://gitter.im/nnstreamer/Lobby
-[gitter-image]: http://img.shields.io/badge/+%20GITTER-JOIN%20CHAT%20%E2%86%92-1DCE73.svg?style=flat-square
+[gitter-image]: https://img.shields.io/badge/+%20GITTER-JOIN%20CHAT%20%E2%86%92-1DCE73.svg?style=flat-square
## Contributing
-Contributions are welcome! Please see our [Contributing](https://github.com/nnstreamer/nnstreamer/blob/main/Documentation/contributing.md) Guide for more details.
+Contributions are welcome! Please see our [Contributing](Documentation/contributing.md) Guide for more details.
[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/0)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/0)[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/1)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/1)[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/2)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/2)[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/3)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/3)[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/4)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/4)[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/5)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/5)[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/6)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/6)[![](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/images/7)](https://sourcerer.io/fame/dongju-chae/nnstreamer/nnstreamer/links/7)
title: NNStreamer Tools
...
-Table of Contents
-=================
-
-* [Tools](#tools)
- * [Development](#development)
- * [Tracing](#tracing)
- * [Debugging](#debugging)
- * [Profiling](#profiling)
-
-
# Tools
### You can find nnstreamer tools [here](https://github.com/nnstreamer/nnstreamer/tree/main/tools).
This section describes how to do tracing, debugging, profiling when developers deploy NNStreamer on their own devices.
If you are interested in the tool technology to optimize your application using NNStremaer, please refer to the below issues.
* https://github.com/nnstreamer/nnstreamer/issues/132
-
-
-## Development
-* Press [Here](tools/development/README.md)
-
-## Tracing
-* Press [Here](tools/tracing/README.md)
-
-## Debugging
-* Press [Here](tools/debugging/README.md)
-
-## Profiling
-* Press [Here](tools/profiling/README.md)