platform/upstream/nnstreamer.git
6 years ago[Filter/Main] Revise data type for NNFW plugins
MyungJoo Ham [Tue, 29 May 2018 03:51:12 +0000 (12:51 +0900)]
[Filter/Main] Revise data type for NNFW plugins

- Add input/output dimension get methods
- Add NNFW plugin private data

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Filter/Main] Fill in get/set property functions
MyungJoo Ham [Tue, 29 May 2018 02:27:24 +0000 (11:27 +0900)]
[Filter/Main] Fill in get/set property functions

Fill in get/set property functions so that we can use tensor_filter from gst apps

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[DIST] Revise .spec and licenses
MyungJoo Ham [Tue, 29 May 2018 01:33:42 +0000 (10:33 +0900)]
[DIST] Revise .spec and licenses

Add license files and have manifest files installed.
Add defattr as well.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[DIST] Skip testcase generation in Tizen GBS/OBS.
MyungJoo Ham [Tue, 29 May 2018 01:19:49 +0000 (10:19 +0900)]
[DIST] Skip testcase generation in Tizen GBS/OBS.

Testcase Generation of Tensor_Converter requires PIL and TK, which are removed from Tizen and I do not want to add them just for unit testing.

Note that in order to pass unit tests, we need #14 merged.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Filter/Main] Skeleton/Draft Code Template Added
MyungJoo Ham [Thu, 24 May 2018 12:01:32 +0000 (21:01 +0900)]
[Filter/Main] Skeleton/Draft Code Template Added

This is the starting point for tensor_filter/main.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Add test cases based on randomly generated PNG files
MyungJoo Ham [Thu, 17 May 2018 11:09:45 +0000 (20:09 +0900)]
[Convert] Add test cases based on randomly generated PNG files

1. Test more input sources
2. Test with offset case
3. Added doxygen entries

(Updated with test case 2 fix for the cases where width % 4 > 0)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Source] Add directory and README.
MyungJoo Ham [Fri, 25 May 2018 06:08:42 +0000 (15:08 +0900)]
[Source] Add directory and README.

A new element for NNStreamer is drafted in the architecture document.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Filter] Add Readme entry for developers.
MyungJoo Ham [Mon, 28 May 2018 06:54:07 +0000 (15:54 +0900)]
[Filter] Add Readme entry for developers.

Basic requirements for tensor_filter component are described.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[DIST] Add .spec for gbs/obs builds
MyungJoo Ham [Wed, 23 May 2018 07:36:24 +0000 (16:36 +0900)]
[DIST] Add .spec for gbs/obs builds

Added .spec / .manifest for gbs/obs builds

Fixes #10

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[CI] Update codeowners
MyungJoo Ham [Fri, 25 May 2018 05:27:28 +0000 (14:27 +0900)]
[CI] Update codeowners

Add more people as reviewers.
No per-module policy. (we don't need it yet.)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years agoAdd CMakeLists.txt for gst_examples
jijoong.moon [Fri, 25 May 2018 02:40:34 +0000 (11:40 +0900)]
Add CMakeLists.txt for gst_examples

For convience, CMakeLists.txt is added in gst_example.

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
6 years ago[Build] Make a central CMake file for all plugins
MyungJoo Ham [Wed, 23 May 2018 11:05:48 +0000 (20:05 +0900)]
[Build] Make a central CMake file for all plugins

Let's build from a single point. This make it faster to build as well as having the common configuration across all the plugins.

Fixes #19

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Common] Add a common header
MyungJoo Ham [Wed, 23 May 2018 10:19:25 +0000 (19:19 +0900)]
[Common] Add a common header

This commit only declares the new "common header".

We need to modify tensor_converter to use this common header later
after merging the pending PRs (#12, #13, #14, #15, #17).

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years agoAdd subdirectories for all designed components.
MyungJoo Ham [Wed, 23 May 2018 03:20:10 +0000 (12:20 +0900)]
Add subdirectories for all designed components.

Added according to http://suprem.sec.samsung.net/confluence/display/STAR/NNStreamer+Interface+Internal+Draft+1803B

Fixes #11

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Rename convert2tensor to tensor_converter
MyungJoo Ham [Wed, 23 May 2018 02:39:53 +0000 (11:39 +0900)]
[Convert] Rename convert2tensor to tensor_converter

Renamed the module according to the architecture design.
http://suprem.sec.samsung.net/confluence/display/STAR/NNStreamer+Interface+Internal+Draft+1803B

Fixes #11

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[CI] Add CodeOwners Entries
MyungJoo Ham [Thu, 24 May 2018 07:41:37 +0000 (16:41 +0900)]
[CI] Add CodeOwners Entries

Initial codeowner entries for nnstreamer.

We need to fill this in with more people and directories as we progress.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Add some doxygen entries
MyungJoo Ham [Wed, 23 May 2018 10:11:16 +0000 (19:11 +0900)]
[Convert] Add some doxygen entries

Add doxygen entires especially on the data structures sharable to other elements.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[README] Add basic contents for README
MyungJoo Ham [Fri, 18 May 2018 01:28:15 +0000 (10:28 +0900)]
[README] Add basic contents for README

Objectives, Components, How-to-* entries are added.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Support BGRx format for video.
MyungJoo Ham [Mon, 14 May 2018 08:28:08 +0000 (17:28 +0900)]
[Convert] Support BGRx format for video.

Support BGRx in additional to RGB format.

How to test:

$ gst-launch-1.0 --gst-plugin-path=/source/AutoDrv/NNStreamer/convert2tensor/build videotestsrc ! video/x-raw,format=RGB,width=280,height=40,framerate=1/1 ! tee name=t ! queue ! videoconvert ! video/x-raw, format=BGRx ! convert2tensor ! filesink location="test.bgrx.log" sync=true t. ! queue ! filesink location="test.rgb.log" sync=true

If the resulting test.rgb.log has rgb format and test.bgrx.log has bgrx format, then it's good to go.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Add test case with videosrctest
MyungJoo Ham [Thu, 17 May 2018 09:11:40 +0000 (18:11 +0900)]
[Convert] Add test case with videosrctest

TODO: Add png based test, which fails with the current code (we need to fix it!)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Tested and fixed with videotestsrc
MyungJoo Ham [Mon, 2 Apr 2018 07:24:06 +0000 (16:24 +0900)]
[Convert] Tested and fixed with videotestsrc

This is not an issue. Don't be alarmed.
- Regardless of videotestsrc framerate, convert2tensor gives ~1000 FPS outputs.
  . This happens when a sink-element attached at the src-pad of this element is not synching. Add sync option to the sink element.

How-to-test:
$ gst-launch-1.0 --gst-plugin-path=/PATH_TO_BUILT_SO videotestsrc ! video/x-raw,width=280,height=40,framerate=1/1 ! convert2tensor ! filesink location="test.log" sync=true

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Implement two negotiation methods.
MyungJoo Ham [Thu, 29 Mar 2018 08:01:16 +0000 (17:01 +0900)]
[Convert] Implement two negotiation methods.

Implement transform_caps / fixate_caps referring gstvideoconvert.c

set_caps() will be implemented tomorrow.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Apply x-raw/RGB format data structure.
MyungJoo Ham [Thu, 29 Mar 2018 02:33:30 +0000 (11:33 +0900)]
[Convert] Apply x-raw/RGB format data structure.

Data of x-raw/RGB is:

[height][width][RGB] and width has padding with stride = 4.

Thus, tensor output of convert2tensor generates width = 4 x N with zero-padding.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Implement Processing part from the document
MyungJoo Ham [Wed, 28 Mar 2018 06:38:24 +0000 (15:38 +0900)]
[Convert] Implement Processing part from the document

From the document, https://gstreamer.freedesktop.org/documentation/design/element-transform.html
implement "Processing" part.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Added skeletons for GstBaseTransform class
MyungJoo Ham [Wed, 28 Mar 2018 02:03:25 +0000 (11:03 +0900)]
[Convert] Added skeletons for GstBaseTransform class

Added null impementation of virtual methods of GstBaseTransform

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Convert] Change base class from "GstElement" to "GstBaseTransform"
MyungJoo Ham [Wed, 28 Mar 2018 01:44:59 +0000 (10:44 +0900)]
[Convert] Change base class from "GstElement" to "GstBaseTransform"

Let's use more advanced infrastructure, "GstBaseTranform".
Convert2Tensor is a transformer!

https://gstreamer.freedesktop.org/documentation/design/element-transform.html

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Converter] Get tensor metadata from sinkpad when it is created.
MyungJoo Ham [Tue, 27 Mar 2018 10:46:36 +0000 (19:46 +0900)]
[Converter] Get tensor metadata from sinkpad when it is created.

Sinkpad is created when a source element is attached to this filter (convert2filter).
Convert2filter becomes aware of its metadata (dimensions of tensor) at this point.
Thus, configure the metadata with the event handler.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Converter] Converter Core Function Located
MyungJoo Ham [Tue, 27 Mar 2018 07:59:32 +0000 (16:59 +0900)]
[Converter] Converter Core Function Located

Fill in gst_convert2tensor_sink_event to convert media data to tensors.
GST Tensor is to be defined with gst_convert2tensor_configure_tensor

Build Tested.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Converter] GST Plugin Tutorial 1 (Boilerplate) Followed.
MyungJoo Ham [Mon, 26 Mar 2018 12:39:29 +0000 (21:39 +0900)]
[Converter] GST Plugin Tutorial 1 (Boilerplate) Followed.

Standard Tensor Media Type Draft Applied as well.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Converter] GST Plugin Template Created
MyungJoo Ham [Mon, 26 Mar 2018 11:44:34 +0000 (20:44 +0900)]
[Converter] GST Plugin Template Created

An empty template for GST Plugin, "Convert2Tensor".

1. This is to draft & verify "other/tensor" GST type design.
2. Then, this will work as converter from media sources for NN filters.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Gst Example] tutorial-8
MyungJoo Ham [Mon, 26 Mar 2018 11:43:48 +0000 (20:43 +0900)]
[Gst Example] tutorial-8

GST Official Tutorial 8

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Gst Example] tutorial-6 and 7
MyungJoo Ham [Mon, 26 Mar 2018 04:54:36 +0000 (13:54 +0900)]
[Gst Example] tutorial-6 and 7

Added tutorial 6 and 7

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Gst Example] tutorial-3 and 3-exercise
MyungJoo Ham [Thu, 22 Mar 2018 09:46:49 +0000 (18:46 +0900)]
[Gst Example] tutorial-3 and 3-exercise

Dynamic stream construction.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Gst Exmaple] tutorial 2 and 2 + add-filter exercise
MyungJoo Ham [Thu, 22 Mar 2018 04:56:23 +0000 (13:56 +0900)]
[Gst Exmaple] tutorial 2 and 2 + add-filter exercise

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years agoFix typo in the tutorial example with the address
MyungJoo Ham [Thu, 22 Mar 2018 04:55:48 +0000 (13:55 +0900)]
Fix typo in the tutorial example with the address

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years ago[Gst Example] tutorial 1
MyungJoo Ham [Thu, 22 Mar 2018 02:06:43 +0000 (11:06 +0900)]
[Gst Example] tutorial 1

Learning https://gstreamer.freedesktop.org/documentation/tutorials/basic/hello-world.html

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
6 years agoInitial commit
함명주/동작제어Lab(SR)/Principal Engineer/삼성전자 [Thu, 22 Mar 2018 02:02:26 +0000 (11:02 +0900)]
Initial commit