[Filter/Custom] Support flexible dimension
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Fri, 22 Jun 2018 06:26:44 +0000 (15:26 +0900)
committer문지중/동작제어Lab(SR)/Principal Engineer/삼성전자 <jijoong.moon@samsung.com>
Thu, 28 Jun 2018 00:13:41 +0000 (09:13 +0900)
commit4d7ce401cda845b1760ae68a391202a0efbf566c
treed9d479d12e583947132d816b02db2a781fe84666
parent496165caaeec40ece9047baad953fa1a47eb6537
[Filter/Custom] Support flexible dimension

- Allow to configure input/output dimension in run-time.
- After pad-cap negotiation, if gstremaer somehow fixes input-dimenson,
 a filter subplugin can configure output-dimension accordingly.
- An example custom filter, "passthrough_variable", supports any
 arbitrary tensor for passthrough operations.
- Filter/Main and Filter/Custom has been amended during the development
 of the example custom plugin.

FOUND BUG (mentioned as "known bug" in the code):
- If GST-BaseTransform tries to fixate pad-caps without getting
 any hints on the input dimension, fixate vmethod fixes the input
 dimension to 1:1:1:1. We need to implement non-fixed pad-cap
 declarations in fixated vmethod.
- The disabled test case #4 in tests/nnstreamer_filter_custom
 is the corresponding regression detector.
- However, this bug is to be fixed with another commit.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
common/tensor_common.c
gst/tensor_filter/tensor_filter.c
gst/tensor_filter/tensor_filter.h
gst/tensor_filter/tensor_filter_custom.c
include/tensor_common.h
include/tensor_filter_custom.h
nnstreamer_example/custom_example_passthrough/CMakeLists.txt
nnstreamer_example/custom_example_passthrough/nnstreamer_customfilter_example_passthrough.c
nnstreamer_example/custom_example_passthrough/nnstreamer_customfilter_example_passthrough_variable.c [new file with mode: 0644]
tests/nnstreamer_filter_custom/runTest.sh