platform/upstream/nnstreamer.git
5 years ago[Testcase]Add test case for tensor decoder image labelling
jinhyuck-park [Mon, 15 Oct 2018 02:05:50 +0000 (11:05 +0900)]
[Testcase]Add test case for tensor decoder image labelling

Add test case for tensor decoder for image labelling

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[Release] 0.0.2-rc1
MyungJoo Ham [Sat, 13 Oct 2018 07:23:15 +0000 (16:23 +0900)]
[Release] 0.0.2-rc1

If this passes all the release test, this will become 0.0.2 stable.
(Along with the pending PRs)

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Documentation] Update component description
MyungJoo Ham [Sat, 13 Oct 2018 12:31:29 +0000 (21:31 +0900)]
[Documentation] Update component description

1. Fix URL errors
2. Update component info as we have a lot of changes with v0.0.2

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Utility] For demo, create a shell script loading model/label
MyungJoo Ham [Sat, 13 Oct 2018 07:14:21 +0000 (16:14 +0900)]
[Utility] For demo, create a shell script loading model/label

For the demonstration, provide a shell script that gets
the standard example tflite model and its labeling file

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Single Binary] Merge all elements into a single plugin binary
MyungJoo Ham [Fri, 12 Oct 2018 13:20:42 +0000 (22:20 +0900)]
[Single Binary] Merge all elements into a single plugin binary

Now we have all nnstreamer elements in a single plugin binary.

Note that enabling tensorflow, which is WIP, will break the result.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Single Binary] Merge decoder, demux
MyungJoo Ham [Fri, 12 Oct 2018 07:02:00 +0000 (16:02 +0900)]
[Single Binary] Merge decoder, demux

1. Merge decoder,demux for the new build scheme.
2. Rephrase related code of aggregator, converter

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Common] move common c files to gst/nnstreamer
MyungJoo Ham [Sat, 13 Oct 2018 07:04:22 +0000 (16:04 +0900)]
[Common] move common c files to gst/nnstreamer

Use /common/ for common utilities, not source files
Use /gst/nnstreamer/ for common source files.

This will make it easier to be upstreamed to GST communities later.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Cmake/CleanUp] Clean up cmake main logic
MyungJoo Ham [Sat, 13 Oct 2018 06:52:55 +0000 (15:52 +0900)]
[Cmake/CleanUp] Clean up cmake main logic

1. Disable tensorflow by default. Enable it when tensorflow support is completed.

2. Dismangled tizen/gtest dependency logic

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[TensorMerge] fix Dereference before null check
jijoong.moon [Fri, 12 Oct 2018 00:20:59 +0000 (09:20 +0900)]
[TensorMerge] fix Dereference before null check

Fix the derefrencing bug before null check

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Transform/Common] code clean
Jaeyun [Thu, 11 Oct 2018 10:36:08 +0000 (19:36 +0900)]
[Transform/Common] code clean

1. use common functions and structure in tensor-transform
2. add macros to print debug message
3. remove functions to parse caps (get_tensor_from_padcap, get_tensor_from_structure in common)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Single Binary] Merge converter and aggregator into a single plugin binary
MyungJoo Ham [Thu, 11 Oct 2018 08:38:15 +0000 (17:38 +0900)]
[Single Binary] Merge converter and aggregator into a single plugin binary

This is a pilot program for #628

We are going to merge all nnstreamer plugins into one single plugin binary.

Use -DSINGLE_BINARY to generate a single plugin binary with all plugin elements.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Transform/Arithmetic/Test] Add test cases for add-mul and mul-add
Wook Song [Thu, 11 Oct 2018 07:11:59 +0000 (16:11 +0900)]
[Transform/Arithmetic/Test] Add test cases for add-mul and mul-add

This patch adds test cases for testing newly added operators, add-mul
and mul-add.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Transform/Arithmetic/Test] Update test checking API for fused operators
Wook Song [Thu, 11 Oct 2018 06:58:16 +0000 (15:58 +0900)]
[Transform/Arithmetic/Test] Update test checking API for fused operators

This patch updates the test checking API to support the fused add-mul
and fused mul-add operators. According to this change, the existing
tests are slightly modified as well.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Transform/Arithmetic] Support fused add-mul and mul-add operators
Wook Song [Thu, 11 Oct 2018 06:53:55 +0000 (15:53 +0900)]
[Transform/Arithmetic] Support fused add-mul and mul-add operators

This patch adds two operators, fused add-mul and fused mul-add, to the
Arithmetic mode of the transform plugin.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Transform/Arithmetic/Test] Add test cases for floating-point operand
Wook Song [Thu, 11 Oct 2018 01:19:29 +0000 (10:19 +0900)]
[Transform/Arithmetic/Test] Add test cases for floating-point operand

This patch adds more test cases for testing the Arithmetic mode of the
Transform plug-in with floating-point operands.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Transform/Arithmetic] Support operand value of floating point type
Wook Song [Wed, 10 Oct 2018 08:05:08 +0000 (17:05 +0900)]
[Transform/Arithmetic] Support operand value of floating point type

Since the data type of the operand is fixed to 'int64_t', the Arithmetic
mode cannot properly handle operand values of the floating point type
such as 2.3, -10.5, and -9.900000e-001. This patch supports such
floating-point operand values by using the data type, double.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Sink] code clean
Jaeyun [Fri, 12 Oct 2018 03:41:09 +0000 (12:41 +0900)]
[Sink] code clean

add function prefix to prepare single bin

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] check max tensor size limit
Jaeyun [Fri, 12 Oct 2018 05:48:39 +0000 (14:48 +0900)]
[Common] check max tensor size limit

update code to check array size limit, tensors max is now 16.

Related issue : #635

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Example App]Add tensor decoder image labelling App
jinhyuck-park [Fri, 12 Oct 2018 06:11:24 +0000 (15:11 +0900)]
[Example App]Add tensor decoder image labelling App

Add tensor decoder image labelling app
only use gst sub plugins including tensor decoder

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[TensorDec] update tensor decoder for proper working
jinhyuck-park [Thu, 11 Oct 2018 22:18:38 +0000 (07:18 +0900)]
[TensorDec] update tensor decoder for proper working

Update tensor decoder for proper working
set caps and some minor updates

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[Transform] Fix transpose
jijoong.moon [Mon, 8 Oct 2018 04:54:03 +0000 (13:54 +0900)]
[Transform] Fix transpose

There was wrong tensro and C array index.
Batch should be last index.
Before this patch, the batch is the first index of C array or Tensor.

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Test/Transform] Add test cases for typecast between float and integer
Wook Song [Fri, 5 Oct 2018 05:59:37 +0000 (14:59 +0900)]
[Test/Transform] Add test cases for typecast between float and integer

This patch adds more test cases for testing the typecast operation
between floating point types and integer types.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[TensorMerge] Add draft tensor_merge plugin
jijoong.moon [Tue, 2 Oct 2018 06:22:47 +0000 (15:22 +0900)]
[TensorMerge] Add  draft tensor_merge plugin

we need tensor_merge to merge tensor. It make multiple tensor into
single tensor. After this PR, C:W:H:B ([B][H][W][C]) +
C:W:H:B ([B][H][W][C]) --> W:H:2xC:B ([B][2xC][H][W]).
Therefore, if you want to use this as input for tensorflow lite, you
may need transform element,
with transpose mode. ( mode=transpose, option=2:0:1:3. It produce
2xC:W:H:B ([B][H][W][2xC]).

**Changes proposed in this PR:**
- Added Tensor merge plugin

**TODO**
- Add Multiple direction merge : Width, Height or mixed.
- Better handling to reduce memcopy.

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:   [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Transform] Add Test Case for transform/standardization mode
jijoong.moon [Tue, 9 Oct 2018 23:34:50 +0000 (08:34 +0900)]
[Transform] Add Test Case for transform/standardization mode

Add Test Case for standardization mode.
Compare the result with python and approval diff is
-0.01 < diff < 0.01. (application/octet-stream mime is used.)

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Aggregator] update code to concatenate data with axis
Jaeyun [Wed, 10 Oct 2018 11:54:45 +0000 (20:54 +0900)]
[Aggregator] update code to concatenate data with axis

update data concatenation for the axis (frames-dim)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Comment Fix] Fix broken URLs in comments / docs
MyungJoo Ham [Mon, 8 Oct 2018 07:10:00 +0000 (16:10 +0900)]
[Comment Fix] Fix broken URLs in comments / docs

There have been old URLs that cannot be accessed.
Fix them all.

There are a few off-topic changes due to recently enforced
coding style/rule of CI/CD system.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Aggregator] update code to concatenate output
Jaeyun [Wed, 10 Oct 2018 04:23:10 +0000 (13:23 +0900)]
[Aggregator] update code to concatenate output

1. add property concat (default true, to do the concatenation)
2. add functions to check dimension before pushing the buffer into source pad

TODO : update concat code with the axis

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[CoC Update] Update due to recent turmoil at LKML
MyungJoo Ham [Fri, 28 Sep 2018 03:54:10 +0000 (12:54 +0900)]
[CoC Update] Update due to recent turmoil at LKML

The COC we are based on appears to be based on postmeritocracy with political intentions.
Before moving on the the official nnsuite CoC, I suggest to use this temporarily updated one.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test] update stream testcase
Jaeyun [Wed, 10 Oct 2018 04:29:42 +0000 (13:29 +0900)]
[Test] update stream testcase

1. add tc to change dimension in output tensor (tensor-aggregator)
2. change output dimension for octet-stream (tensor-converter)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Transform] Add Standardization Mode in Tranform Plugin
jijoong.moon [Thu, 4 Oct 2018 07:32:35 +0000 (16:32 +0900)]
[Transform] Add Standardization Mode in Tranform Plugin

Add Standardization Mode (mode=stand, option=default). Could be added
more methods.

for Tensor T,
: out[i] = fabs((T[i] - average(T)) / (stand(T) + 1e-10))

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Transform] Remove hard coded values in transform
jijoong.moon [Wed, 10 Oct 2018 02:00:34 +0000 (11:00 +0900)]
[Transform] Remove hard coded values in transform

Use NNS_TENSOR_RANK_LIMIT instead of 4 for transpose.

Resolves: #537

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Converter] fix coverity issue 1034478
Jaeyun [Wed, 10 Oct 2018 02:18:37 +0000 (11:18 +0900)]
[Converter] fix coverity issue 1034478

1. add condition to check frame size (divide by zero)
2. remove debug message (unnecessary to print frames)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Aggregator] fix out-tensor dimension
Jaeyun [Mon, 8 Oct 2018 04:18:18 +0000 (13:18 +0900)]
[Aggregator] fix out-tensor dimension

update output dimension with the properties frames-dim, frames-out.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Converter] support byte-stream
Jaeyun [Mon, 8 Oct 2018 03:50:13 +0000 (12:50 +0900)]
[Converter] support byte-stream

add new properties input-dim and input-type to get tensor info from byte-stream (application/octet-stream)
add testcase for byte-stream

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] initial commit to add a type of byte-stream
Jaeyun [Thu, 4 Oct 2018 07:36:58 +0000 (16:36 +0900)]
[Common] initial commit to add a type of byte-stream

1. define new type for byte-stream (application/octet-stream)
2. refactor functions to get tensor config

TODO: need to update tensor-converter later

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Converter/Aggregator] update timestamp
Jaeyun [Tue, 2 Oct 2018 12:12:28 +0000 (21:12 +0900)]
[Converter/Aggregator] update timestamp

set timestamp with distance (bytes from pts)

if frames-in is larger than frames-out, it will set same timestamp.
in this case, elements update timestamp with distance.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[TensorDec] Add install properties in tensor decoder init
jinhyuck-park [Thu, 4 Oct 2018 06:18:13 +0000 (15:18 +0900)]
[TensorDec] Add install properties in tensor decoder init

Add install properties mode and mode-option-1 for tensor decoder
processing image labeling

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[Example] change plugin to get scaled video frame from v4l2
Jaeyun [Thu, 4 Oct 2018 07:46:29 +0000 (16:46 +0900)]
[Example] change plugin to get scaled video frame from v4l2

1. change to videoscale to set 640x480 frame
2. remove framerate in caps filter

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[SVACE-Fix] Fix 376961 / str without termination
MyungJoo Ham [Thu, 4 Oct 2018 05:23:35 +0000 (14:23 +0900)]
[SVACE-Fix] Fix 376961 / str without termination

Fixed error: WID:57241610 Copying from string 'label' to 'out_info.data' without null termination at tensordec.c:743 by calling function 'strncpy'.
Reference: https://stackoverflow.com/questions/1453876/why-does-strncpy-not-null-terminate

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Common] update condition to validate tensor config
Jaeyun [Thu, 4 Oct 2018 02:36:29 +0000 (11:36 +0900)]
[Common] update condition to validate tensor config

update condition about framerate, denominator should be larger than 0.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Mux/Decoder] fix coverity issue
Jaeyun [Tue, 2 Oct 2018 12:52:47 +0000 (21:52 +0900)]
[Mux/Decoder] fix coverity issue

fix coverity issue 1030251, 1030250 in tensor-decoder and tensor-mux

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Demux/Transform] add code to free string
Jaeyun [Tue, 2 Oct 2018 05:59:56 +0000 (14:59 +0900)]
[Demux/Transform] add code to free string

add code to free the array of strings

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Split] remove rank and fix mem leak
Jaeyun [Tue, 2 Oct 2018 04:28:09 +0000 (13:28 +0900)]
[Split] remove rank and fix mem leak

1. remove rank in caps and use common structure to get tensor caps
2. add code to free the array of strings

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[SVACE] fix CID 1030252, CID 1030251 issues
jinhyuck-park [Tue, 2 Oct 2018 04:49:49 +0000 (13:49 +0900)]
[SVACE] fix CID 1030252, CID 1030251 issues

SVACE issues fix for tensor decoder

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[Test] add stream tc with tensor-split
Jaeyun [Tue, 2 Oct 2018 06:29:04 +0000 (15:29 +0900)]
[Test] add stream tc with tensor-split

add stream testcase with tensor-split to check out buffers

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[example/custom] Fix coverity issue.
MyungJoo Ham [Tue, 2 Oct 2018 04:14:05 +0000 (13:14 +0900)]
[example/custom] Fix coverity issue.

Do not check if it's < 0 if it's unsigned.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test] add stream testcases
Jaeyun [Mon, 1 Oct 2018 07:32:37 +0000 (16:32 +0900)]
[Test] add stream testcases

1. stream test for newly added audio format
2. stream test for multi-tensors with tensor-demux
3. add testcase for no signal case from tensor-sink

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Common] expand audio format
Jaeyun [Mon, 1 Oct 2018 07:29:36 +0000 (16:29 +0900)]
[Common] expand audio format

add audio format (signed/unsigned 32bit, floating point 32/64bit)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Document/CodeClean] update description and debug messages
Jaeyun [Mon, 1 Oct 2018 08:17:01 +0000 (17:17 +0900)]
[Document/CodeClean] update description and debug messages

change log messages in tensor-sink
add description for properties and signals in tensor-sink
fix property name in tensor-converter doc

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[tensorDec] Implement copy label string to out buffer
jinhyuck-park [Mon, 1 Oct 2018 05:31:18 +0000 (14:31 +0900)]
[tensorDec] Implement copy label string to out buffer

Implement set out buffer with updated image label text

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[Common] change tensor type of string
Jaeyun [Fri, 28 Sep 2018 07:13:58 +0000 (16:13 +0900)]
[Common] change tensor type of string

for text stream, change tensor type to uint8

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Test] update testcases
Jaeyun [Fri, 28 Sep 2018 05:22:35 +0000 (14:22 +0900)]
[Test] update testcases

1. [sink] add flag to check timestamp and failure case
2. [sink] change tensor type of string
3. [common] add testcase for dimension string

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[boilerplate] fix broken links
Sangjung Woo [Fri, 28 Sep 2018 07:09:07 +0000 (16:09 +0900)]
[boilerplate] fix broken links

This patch fixes the broken links instead of 'TO-BE-DETERMINED-SOON'
comment on boilerplate code.

Change-Id: I6776096752a5d52829043cd3ab9d9584154752d2
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
5 years ago[Common] add function to get tensor size
Jaeyun [Fri, 28 Sep 2018 04:22:11 +0000 (13:22 +0900)]
[Common] add function to get tensor size

add function to get date size with GstTensorInfo
and refactor elements and examples

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Demux] change default property value
Jaeyun [Thu, 27 Sep 2018 12:04:53 +0000 (21:04 +0900)]
[Demux] change default property value

change default property value (set default value true)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Mux] set timestamp in output buffer
Jaeyun [Thu, 27 Sep 2018 12:00:19 +0000 (21:00 +0900)]
[Mux] set timestamp in output buffer

1. add timestamp (pts and dts) in output buffer
2. change default property value (silent true)

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Mux] fix coverity issue (1029508)
Jaeyun [Thu, 27 Sep 2018 10:09:33 +0000 (19:09 +0900)]
[Mux] fix coverity issue (1029508)

Add log message and remove unnecessary state.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Test/Meta] remove dependency of tensor-meta
Jaeyun [Thu, 27 Sep 2018 06:29:15 +0000 (15:29 +0900)]
[Test/Meta] remove dependency of tensor-meta

1. Refactor test plugins to remove tensor-meta.
(these elements are for testing multi-tensors only)
2. Remove unnecessary header in saveload.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Document/Sink] update README.md about tensor-sink
Jaeyun [Thu, 27 Sep 2018 08:03:18 +0000 (17:03 +0900)]
[Document/Sink] update README.md about tensor-sink

Update README.md file for the element tensor-sink.

Related issue: #490

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[TensorDec] Add functions regarding image labeling in tensor decoder
jinhyuck-park [Sat, 22 Sep 2018 05:16:33 +0000 (14:16 +0900)]
[TensorDec] Add functions regarding image labeling in tensor decoder

Add functions regarding image labeling
in tensor decoder

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[Filter/TF-Lite] refactor to reduce repeated code
MyungJoo Ham [Fri, 21 Sep 2018 05:47:00 +0000 (14:47 +0900)]
[Filter/TF-Lite] refactor to reduce repeated code

Let's not repeat the same code for switch cases.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[TensorSplit] Fix Tensor dimension type assign
jijoong.moon [Thu, 20 Sep 2018 02:01:23 +0000 (11:01 +0900)]
[TensorSplit] Fix Tensor dimension type assign

When we write tensor dimension, it should be [C][W][H][B].
But before this PR, it considered C array type [B][H][W][C].

Resolves: #538

**Self evaluation:**
1. Build test:  [X]Passed [ ]Failed [ ]Skipped
2. Run test:  [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
5 years ago[Example/FilterPerformanceProfile] Fix coverity analysis error 1029509
Wook Song [Fri, 21 Sep 2018 02:33:59 +0000 (11:33 +0900)]
[Example/FilterPerformanceProfile] Fix coverity analysis error 1029509

This patch adds an initialization of a structure variable to fix the
coverity analysis error 1029509: Uninitialized scalar variable.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Example/FilterPerformanceProfile] Fix coverity analysis error 1029505
Wook Song [Fri, 21 Sep 2018 02:28:22 +0000 (11:28 +0900)]
[Example/FilterPerformanceProfile] Fix coverity analysis error 1029505

This patch removes logically dead code, which is duplicated by mistake.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Example/FilterPerformanceProfile] Revise file header comment
Wook Song [Fri, 21 Sep 2018 02:11:18 +0000 (11:11 +0900)]
[Example/FilterPerformanceProfile] Revise file header comment

This patch revises the file header comment by removing unneeded lines
and fixing a misalignment comment line due to the indentation mistake.

Signed-off-by: Wook Song <wook16.song@samsung.com>
5 years ago[Mux] remove dependency of tensor-meta
Jaeyun [Fri, 21 Sep 2018 06:30:50 +0000 (15:30 +0900)]
[Mux] remove dependency of tensor-meta

Parse incoming caps of single tensor and push it to tensors config.
After that, make caps for multi-tensors using tensors config.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Test/Decode] remove debug message
Jaeyun [Fri, 21 Sep 2018 08:26:14 +0000 (17:26 +0900)]
[Test/Decode] remove debug message

remove the property silent in tensor decoder testcase.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Demux/Split] update description
Jaeyun [Fri, 21 Sep 2018 11:09:51 +0000 (20:09 +0900)]
[Demux/Split] update description

1. change the element classification string
2. remove unnecessary header
3. fix typo and duplicated tag

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[TensorDec] Implement get label function for image labeling
jinhyuck-park [Fri, 21 Sep 2018 06:05:50 +0000 (15:05 +0900)]
[TensorDec] Implement get label function for image labeling

add get label function in tensor decoder transform

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years agoSecurity: fix a buffer overflow issue in gst_tensor_dimension_conversion()
Geunsik Lim [Fri, 21 Sep 2018 04:55:28 +0000 (13:55 +0900)]
Security: fix a buffer overflow issue in gst_tensor_dimension_conversion()

Fixed issue https://github.com/nnsuite/nnstreamer/issues/552.

This commit is to fix a security issue that is reported by CPPCheck and SVACE tool.

**Changes proposed in this PR:**
1. Initialized in and out variable to avoid a buffer overflow issue.

* SVACE Checker:
```bash
BUFFER_OVERFLOW.PROC
Warning Message
Array 'in' of size 16 bytes passed to function 'gst_tensor_dimension_conversion' at tensor_transform.c:968
by passing as 5th parameter to function 'gst_tensor_dimension_conversion' at tensor_transform.c:1016,
where it is accessed by unacceptable index. This may lead to buffer overflow.
Trace Message
buffer overflow
┗ Shift at tensor_transform.c:968
┗ Variable '↦in[0]' is passed to function 'gst_tensor_dimension_conversion' as 5th parameter
at tensor_transform.c:1016 at tensor_transform.c:1016
```

* CPPChecker:
```bash
[gst/tensor_transform/tensor_transform.c:1007]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1010]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1018]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1021]: (error) Uninitialized variable: in
[gst/tensor_transform/tensor_transform.c:1010]: (error) Uninitialized variable: out
[gst/tensor_transform/tensor_transform.c:1013]: (error) Uninitialized variable: out
[gst/tensor_transform/tensor_transform.c:1015]: (error) Uninitialized variable: out
[gst/tensor_transform/tensor_transform.c:1018]: (error) Uninitialized variable: out
```

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Filter/TF-Lite] remove memcpy for input tensor
HyoungjooAhn [Fri, 21 Sep 2018 05:25:06 +0000 (14:25 +0900)]
[Filter/TF-Lite] remove memcpy for input tensor

copy data pointer directly rather than the memcpy logic at input tensor

Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
5 years ago[Example/CustomFilter] fix coverity issue (1029512, 1029504)
Jaeyun [Fri, 21 Sep 2018 04:08:40 +0000 (13:08 +0900)]
[Example/CustomFilter] fix coverity issue (1029512, 1029504)

fix unsigned compare issue in custom scaler filter

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Example/CustomFilter/Test] change custom passthrough filter
Jaeyun [Thu, 20 Sep 2018 07:40:05 +0000 (16:40 +0900)]
[Example/CustomFilter/Test] change custom passthrough filter

1. change custom passthrough example to support multi tensors
2. add simple stream testcases for multi tensors

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Tranform] Fix coverity issue 1029522
MyungJoo Ham [Fri, 21 Sep 2018 02:13:41 +0000 (11:13 +0900)]
[Tranform] Fix coverity issue 1029522

unsigned values cannot be <0 checking it whether it's >=0 or not is meaningless

addressing one more item of #558

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Filter/TF-Lite] fix bug about nomalization
HyoungjooAhn [Thu, 20 Sep 2018 10:56:18 +0000 (19:56 +0900)]
[Filter/TF-Lite] fix bug about nomalization

Since tensor_transform will do typecast and data nomalization, temporal nomalization code is useless.

Signed-off-by: HyoungjooAhn <hello.ahnn@gmail.com>
5 years ago[Filter] Fix coverity analysis error
HyoungjooAhn [Thu, 20 Sep 2018 08:05:58 +0000 (17:05 +0900)]
[Filter] Fix coverity analysis error

1. variable initialization was cleared by last pr(they were removed). 2. make useless line as a comment for future

Signed-off-by: HyoungjooAhn <hello.ahn@samsung.com>
5 years ago[Demux] remove dependency of tensor-meta
Jaeyun [Thu, 20 Sep 2018 12:48:56 +0000 (21:48 +0900)]
[Demux] remove dependency of tensor-meta

Parse incoming caps of multi-tensors and use configured info to get the tensor.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Example] Use tensor_decoder instead of tensordec
Sangjung woo [Thu, 20 Sep 2018 08:01:51 +0000 (17:01 +0900)]
[Example] Use tensor_decoder instead of tensordec

This patch uses tensor_decoder instead of tensordec since its name is
changed.

Signed-off-by: Sangjung woo <sangjung.woo@samsung.com>
5 years ago[TensorDecoder] Update the plugin information and its testcase
Sangjung woo [Thu, 20 Sep 2018 07:36:33 +0000 (16:36 +0900)]
[TensorDecoder] Update the plugin information and its testcase

This patch updates the plugin information such as Name, Description when
getting by gst-inspect tool. Moreover, this updates its test case since
the name is changed.

Signed-off-by: Sangjung woo <sangjung.woo@samsung.com>
5 years ago[TensorDemux] Update the plugin information and its testcase
Sangjung woo [Thu, 20 Sep 2018 07:07:28 +0000 (16:07 +0900)]
[TensorDemux] Update the plugin information and its testcase

This patch updates the plugin information such as Name, Description when
getting by gst-inspect tool. Moreover, this updates its test case since
the name is changed.

Signed-off-by: Sangjung woo <sangjung.woo@samsung.com>
5 years ago[TensorMux] Update the plugin information and its testcase
Sangjung woo [Thu, 20 Sep 2018 06:56:37 +0000 (15:56 +0900)]
[TensorMux] Update the plugin information and its testcase

This patch updates the plugin information such as Name, Description when
getting by gst-inspect tool. Moreover, this updates its test case since
the name is changed.

Signed-off-by: Sangjung woo <sangjung.woo@samsung.com>
5 years ago[TensorSplit] Update the plugin information and its testcase
Sangjung woo [Thu, 20 Sep 2018 06:30:10 +0000 (15:30 +0900)]
[TensorSplit] Update the plugin information and its testcase

This patch updates the plugin information such as Name, Description when
getting by gst-inspect tool. Moreover, this updates its test case since
the name is changed.

Signed-off-by: Sangjung woo <sangjung.woo@samsung.com>
5 years ago[Example/CustomFilterScaler] Fix coverity analysis error 1029511
MyungJoo Ham [Thu, 20 Sep 2018 07:29:53 +0000 (16:29 +0900)]
[Example/CustomFilterScaler] Fix coverity analysis error 1029511

Unsigned variables cannot be less than 0.
Do not check if they are less than 0.

Addresses one item of #558.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Test/BMP2PN] Fix covertify analysis error 1029514
MyungJoo Ham [Thu, 20 Sep 2018 04:57:01 +0000 (13:57 +0900)]
[Test/BMP2PN] Fix covertify analysis error 1029514

Integer overflow affecting critical function, coverity issue 1029514 (Github issue #558), is fixed.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Filter] change filter-framework callbacks
Jaeyun [Wed, 19 Sep 2018 12:21:59 +0000 (21:21 +0900)]
[Filter] change filter-framework callbacks

Change framework callbacks to support multi-tensors.

To support multi tensors,
1. GstTensorFilter allocates the memory block for each output tensor.
2. Fill input and output tensor info (GstTensorMemory)
3. GstTensorFilter calls 'invoke' with the structure GstTensorMemory.

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Test] update tc for caps and buffer
Jaeyun [Thu, 20 Sep 2018 05:26:58 +0000 (14:26 +0900)]
[Test] update tc for caps and buffer

1. add value for mem blocks in buffer
2. add simple test for tensor config and caps

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Transform/Transpose] Check the validity of dimensions
MyungJoo Ham [Wed, 19 Sep 2018 08:10:52 +0000 (17:10 +0900)]
[Transform/Transpose] Check the validity of dimensions

If it is < 0 or >= 4, it is not valid and breaks the buffer.

Supposed to Fix #552

ps. @jijoongmoon : You do not have unit testcases for transpose!

CC: Jijoong Moon <jijoong.moon@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Example] fix nego failure case
Jaeyun [Wed, 19 Sep 2018 07:39:03 +0000 (16:39 +0900)]
[Example] fix nego failure case

1. add videoscale to set 640x480 video frame
2. use the framerate of webcam

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[Filter] fix caps nego failure case
Jaeyun [Tue, 18 Sep 2018 08:18:16 +0000 (17:18 +0900)]
[Filter] fix caps nego failure case

Tensor-filter gets fixed tensor info, it does not need intersection in fixate_caps.

1. remove intersect in fixate_caps()
2. use tensor meta in fw-property during caps negotiation
3. add macro to print tensor info

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years agocmake: rename some so files to keep a consistent naming rule
Sangjung woo [Tue, 18 Sep 2018 22:32:01 +0000 (07:32 +0900)]
cmake: rename some so files to keep a consistent naming rule

Some generated so files use an underscore between `libtensor' and
element name but others do not use it. To keep a consistent naming rule
in so files, this patch uses an underscore.

Signed-off-by: Sangjung woo <sangjung.woo@samsung.com>
5 years ago[Filter] create new structure for multi tensors
HyoungjooAhn [Mon, 17 Sep 2018 06:39:02 +0000 (15:39 +0900)]
[Filter] create new structure for multi tensors

define new structure as a standard unit of data tensor. it will be allocated and used to store tensor data

Signed-off-by: HyoungjooAhn <hello.ahn@samsung.com>
5 years ago[TensorDec]Add set label path property
jinhyuck-park [Mon, 17 Sep 2018 22:46:30 +0000 (07:46 +0900)]
[TensorDec]Add set label path property

add set label path property and set label infos in tensor decoder

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years ago[Filter/Main] Correct plugin description
MyungJoo Ham [Tue, 18 Sep 2018 04:52:55 +0000 (13:52 +0900)]
[Filter/Main] Correct plugin description

The copy-pasted description from converter is incorrect.

Fixes #539

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years ago[Filter/Common] prepare multi-tensors
Jaeyun [Fri, 14 Sep 2018 07:04:17 +0000 (16:04 +0900)]
[Filter/Common] prepare multi-tensors

refactor tensor-filter to support multi-tensors (other/tensors).
tf and tf-lte should be updated later for multi-tensors.

1. add common GstTensorsInfo in tensor-filter and parse from NN model
2. change NN framework properties
3. fix the bug in common functions for multi-tensors
4. remove space to get tensor dim and type in common function

Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
5 years ago[TensorDec] Add initalize function for image labeling data of tensor decoder
jinhyuck-park [Fri, 14 Sep 2018 08:00:59 +0000 (17:00 +0900)]
[TensorDec] Add initalize function for image labeling data of tensor decoder

Add function for image labeling data when initialize tensor decoder

Signed-off-by: jinhyuck-park <jinhyuck83.park@samsung.com>
5 years agoDelete Untitled Diagram.xml
MyungJoo Ham [Mon, 17 Sep 2018 06:09:47 +0000 (15:09 +0900)]
Delete Untitled Diagram.xml

Add draw.io diagrams at github.com/nnsuite/nnsuite.github.io/ with draw.io directory

5 years agodiagramAllPlugins_CheatSheet
MyungJoo Ham [Mon, 17 Sep 2018 06:00:00 +0000 (15:00 +0900)]
diagramAllPlugins_CheatSheet

5 years agoCI: remove unnecessary folder
Geunsik Lim [Fri, 14 Sep 2018 07:37:09 +0000 (16:37 +0900)]
CI: remove unnecessary folder

This commit is to remove unnecessary folder, TAOS-CI.
This folder is not needed to be archived in nnstreamer repository.

**Changes proposed in this PR:**
1. Removed TAOS-CI folder

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
5 years ago[Filter/Custom] Ensure the loaded private data is stored at the desired position.
MyungJoo Ham [Thu, 13 Sep 2018 09:34:42 +0000 (18:34 +0900)]
[Filter/Custom] Ensure the loaded private data is stored at the desired position.

We check filter->privateData to see if the custom filter (.so) is already loaded or not.
Thus, in order to prevent duplicated filter loading, we need to ensure that
the created private data (*private_data) is stored at the desired location (filter->privateData).

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
5 years agoCI: Updated config files based on latest TAOS-CI version
Geunsik Lim [Thu, 13 Sep 2018 09:41:24 +0000 (18:41 +0900)]
CI: Updated config files based on latest TAOS-CI version

This commit is to update the existing configuration files
based on the latest version of TAOS-CI.

**Changes proposed in this PR:**
1. Added config file for server administrator
2. Updated the existing config files TAOS-CI version 1.0.20180913.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>