From ab1964585a13089d459714658e32d5b20bb8b33e Mon Sep 17 00:00:00 2001 From: Jaeyun Date: Wed, 24 Apr 2019 21:51:27 +0900 Subject: [PATCH] [Build/Plugin] common plugin registration Move all element registration to common file. (warning about function prototype) Signed-off-by: Jaeyun Jung --- gst/nnstreamer/nnstreamer.c | 65 +++++++++++----------- .../tensor_aggregator/tensor_aggregator.c | 17 +----- gst/nnstreamer/tensor_common.h | 4 -- gst/nnstreamer/tensor_converter/tensor_converter.c | 17 +----- gst/nnstreamer/tensor_decoder/tensordec.c | 20 +------ gst/nnstreamer/tensor_demux/gsttensordemux.c | 19 +------ gst/nnstreamer/tensor_filter/tensor_filter.c | 20 +------ gst/nnstreamer/tensor_merge/gsttensormerge.c | 20 +------ gst/nnstreamer/tensor_mux/gsttensormux.c | 20 +------ gst/nnstreamer/tensor_reposink/tensor_reposink.c | 19 ++----- gst/nnstreamer/tensor_reposrc/tensor_reposrc.c | 17 +----- gst/nnstreamer/tensor_sink/tensor_sink.c | 17 +----- gst/nnstreamer/tensor_source/tensor_src_iio.c | 20 +------ gst/nnstreamer/tensor_split/gsttensorsplit.c | 19 +------ gst/nnstreamer/tensor_transform/tensor_transform.c | 20 +------ 15 files changed, 71 insertions(+), 243 deletions(-) diff --git a/gst/nnstreamer/nnstreamer.c b/gst/nnstreamer/nnstreamer.c index c10cc45..6ebf7ca 100644 --- a/gst/nnstreamer/nnstreamer.c +++ b/gst/nnstreamer/nnstreamer.c @@ -46,30 +46,28 @@ #endif #include -#include -#define NNSTREAMER_PLUGIN(name) \ - extern gboolean G_PASTE(nnstreamer_export_, name) (GstPlugin *plugin) +#include "tensor_aggregator/tensor_aggregator.h" +#include "tensor_converter/tensor_converter.h" +#include "tensor_decoder/tensordec.h" +#include "tensor_demux/gsttensordemux.h" +#include "tensor_filter/tensor_filter.h" +#include "tensor_merge/gsttensormerge.h" +#include "tensor_mux/gsttensormux.h" +#include "tensor_reposink/tensor_reposink.h" +#include "tensor_reposrc/tensor_reposrc.h" +#include "tensor_sink/tensor_sink.h" +#include "tensor_source/tensor_src_iio.h" +#include "tensor_split/gsttensorsplit.h" +#include "tensor_transform/tensor_transform.h" -NNSTREAMER_PLUGIN (tensor_converter); -NNSTREAMER_PLUGIN (tensor_aggregator); -NNSTREAMER_PLUGIN (tensor_decoder); -NNSTREAMER_PLUGIN (tensor_demux); -NNSTREAMER_PLUGIN (tensor_merge); -NNSTREAMER_PLUGIN (tensor_mux); -NNSTREAMER_PLUGIN (tensor_sink); -NNSTREAMER_PLUGIN (tensor_src_iio); -NNSTREAMER_PLUGIN (tensor_split); -NNSTREAMER_PLUGIN (tensor_transform); -NNSTREAMER_PLUGIN (tensor_filter); -NNSTREAMER_PLUGIN (tensor_reposink); -NNSTREAMER_PLUGIN (tensor_reposrc); - -#define NNSTREAMER_INIT(name, plugin) \ +#define NNSTREAMER_INIT(plugin,name,type) \ do { \ - if (!G_PASTE(nnstreamer_export_, name)(plugin)) \ + if (!gst_element_register (plugin, "tensor_" # name, GST_RANK_NONE, GST_TYPE_TENSOR_ ## type)) { \ + GST_ERROR ("Failed to register nnstreamer plugin : tensor_" # name); \ return FALSE; \ - } while (0); + } \ + } while (0) /** * @brief Function to initialize all nnstreamer elements @@ -77,20 +75,19 @@ NNSTREAMER_PLUGIN (tensor_reposrc); static gboolean gst_nnstreamer_init (GstPlugin * plugin) { - NNSTREAMER_INIT (tensor_converter, plugin); - NNSTREAMER_INIT (tensor_aggregator, plugin); - NNSTREAMER_INIT (tensor_decoder, plugin); - NNSTREAMER_INIT (tensor_demux, plugin); - NNSTREAMER_INIT (tensor_merge, plugin); - NNSTREAMER_INIT (tensor_mux, plugin); - NNSTREAMER_INIT (tensor_sink, plugin); - NNSTREAMER_INIT (tensor_src_iio, plugin); - NNSTREAMER_INIT (tensor_split, plugin); - NNSTREAMER_INIT (tensor_transform, plugin); - NNSTREAMER_INIT (tensor_filter, plugin); - NNSTREAMER_INIT (tensor_reposink, plugin); - NNSTREAMER_INIT (tensor_reposrc, plugin); - + NNSTREAMER_INIT (plugin, aggregator, AGGREGATOR); + NNSTREAMER_INIT (plugin, converter, CONVERTER); + NNSTREAMER_INIT (plugin, decoder, DECODER); + NNSTREAMER_INIT (plugin, demux, DEMUX); + NNSTREAMER_INIT (plugin, filter, FILTER); + NNSTREAMER_INIT (plugin, merge, MERGE); + NNSTREAMER_INIT (plugin, mux, MUX); + NNSTREAMER_INIT (plugin, reposink, REPOSINK); + NNSTREAMER_INIT (plugin, reposrc, REPOSRC); + NNSTREAMER_INIT (plugin, sink, SINK); + NNSTREAMER_INIT (plugin, src_iio, SRC_IIO); + NNSTREAMER_INIT (plugin, split, SPLIT); + NNSTREAMER_INIT (plugin, transform, TRANSFORM); return TRUE; } diff --git a/gst/nnstreamer/tensor_aggregator/tensor_aggregator.c b/gst/nnstreamer/tensor_aggregator/tensor_aggregator.c index fb33a36..bb0f96b 100644 --- a/gst/nnstreamer/tensor_aggregator/tensor_aggregator.c +++ b/gst/nnstreamer/tensor_aggregator/tensor_aggregator.c @@ -170,6 +170,9 @@ gst_tensor_aggregator_class_init (GstTensorAggregatorClass * klass) GObjectClass *object_class; GstElementClass *element_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_aggregator_debug, "tensor_aggregator", 0, + "Element to aggregate tensor stream"); + object_class = (GObjectClass *) klass; element_class = (GstElementClass *) klass; @@ -1051,17 +1054,3 @@ gst_tensor_aggregator_parse_caps (GstTensorAggregator * self, silent_debug_config (&self->out_config, "out-tensor"); return TRUE; } - -/** - * @brief Function to initialize the plugin. - * - * See GstPluginInitFunc() for more details. - */ -NNSTREAMER_PLUGIN_INIT (tensor_aggregator) -{ - GST_DEBUG_CATEGORY_INIT (gst_tensor_aggregator_debug, "tensor_aggregator", - 0, "tensor_aggregator element"); - - return gst_element_register (plugin, "tensor_aggregator", - GST_RANK_NONE, GST_TYPE_TENSOR_AGGREGATOR); -} diff --git a/gst/nnstreamer/tensor_common.h b/gst/nnstreamer/tensor_common.h index fa9f598..f00ca1e 100644 --- a/gst/nnstreamer/tensor_common.h +++ b/gst/nnstreamer/tensor_common.h @@ -119,10 +119,6 @@ extern void gst_tensors_typefind_function (GstTypeFind * tf, gpointer pdata); gst_caps_new_simple ("other/tensorsave", NULL, NULL), NULL, NULL); \ } while (0) -#define NNSTREAMER_PLUGIN_INIT(name) \ - gboolean G_PASTE(nnstreamer_export_, name) (GstPlugin * plugin) - - /** * @brief A function call to decide current timestamp among collected pads based on PTS. * It will decide current timestamp according to sync option. diff --git a/gst/nnstreamer/tensor_converter/tensor_converter.c b/gst/nnstreamer/tensor_converter/tensor_converter.c index 450e7dd..fdaf874 100644 --- a/gst/nnstreamer/tensor_converter/tensor_converter.c +++ b/gst/nnstreamer/tensor_converter/tensor_converter.c @@ -156,6 +156,9 @@ gst_tensor_converter_class_init (GstTensorConverterClass * klass) GstPadTemplate *pad_template; GstCaps *pad_caps; + GST_DEBUG_CATEGORY_INIT (gst_tensor_converter_debug, "tensor_converter", 0, + "Element to convert media stream to tensor stream"); + object_class = (GObjectClass *) klass; element_class = (GstElementClass *) klass; @@ -1490,17 +1493,3 @@ gst_tensor_converter_parse_caps (GstTensorConverter * self, self->tensor_config = config; return TRUE; } - -/** - * @brief Function to initialize the plugin. - * - * See GstPluginInitFunc() for more details. - */ -NNSTREAMER_PLUGIN_INIT (tensor_converter) -{ - GST_DEBUG_CATEGORY_INIT (gst_tensor_converter_debug, "tensor_converter", - 0, "tensor_converter element"); - - return gst_element_register (plugin, "tensor_converter", - GST_RANK_NONE, GST_TYPE_TENSOR_CONVERTER); -} diff --git a/gst/nnstreamer/tensor_decoder/tensordec.c b/gst/nnstreamer/tensor_decoder/tensordec.c index 2b4044e..4d38bf6 100644 --- a/gst/nnstreamer/tensor_decoder/tensordec.c +++ b/gst/nnstreamer/tensor_decoder/tensordec.c @@ -262,6 +262,9 @@ gst_tensordec_class_init (GstTensorDecClass * klass) GstElementClass *gstelement_class; GstBaseTransformClass *trans_class; + GST_DEBUG_CATEGORY_INIT (gst_tensordec_debug, "tensor_decoder", 0, + "Element to convert tensor to media stream"); + trans_class = (GstBaseTransformClass *) klass; gstelement_class = (GstElementClass *) trans_class; gobject_class = (GObjectClass *) gstelement_class; @@ -892,20 +895,3 @@ gst_tensordec_transform_size (GstBaseTransform * trans, GST_ERROR_OBJECT (self, "Decoder plugin not yet configured."); return FALSE; } - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_decoder) -{ - /** - * debug category for fltering log messages - */ - GST_DEBUG_CATEGORY_INIT (gst_tensordec_debug, "tensor_decoder", - 0, "Element to convert tensor to media stream"); - - return gst_element_register (plugin, "tensor_decoder", GST_RANK_NONE, - GST_TYPE_TENSOR_DECODER); -} diff --git a/gst/nnstreamer/tensor_demux/gsttensordemux.c b/gst/nnstreamer/tensor_demux/gsttensordemux.c index 9f7c784..8eb8be9 100644 --- a/gst/nnstreamer/tensor_demux/gsttensordemux.c +++ b/gst/nnstreamer/tensor_demux/gsttensordemux.c @@ -118,6 +118,9 @@ gst_tensor_demux_class_init (GstTensorDemuxClass * klass) GObjectClass *gobject_class; GstElementClass *gstelement_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_demux_debug, "tensor_demux", 0, + "Element to demux tensors to tensor stream"); + gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; @@ -590,19 +593,3 @@ gst_tensor_demux_get_property (GObject * object, guint prop_id, break; } } - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_demux) -{ - /** debug category for fltering log messages - * exchange the string 'Template tensor_demux' with your description - */ - GST_DEBUG_CATEGORY_INIT (gst_tensor_demux_debug, "tensor_demux", 0, - "Tensor Demuxer"); - return gst_element_register (plugin, "tensor_demux", - GST_RANK_NONE, GST_TYPE_TENSOR_DEMUX); -} diff --git a/gst/nnstreamer/tensor_filter/tensor_filter.c b/gst/nnstreamer/tensor_filter/tensor_filter.c index 225e9b5..462ec9d 100644 --- a/gst/nnstreamer/tensor_filter/tensor_filter.c +++ b/gst/nnstreamer/tensor_filter/tensor_filter.c @@ -288,6 +288,9 @@ gst_tensor_filter_class_init (GstTensorFilterClass * klass) GstElementClass *gstelement_class; GstBaseTransformClass *trans_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_filter_debug, "tensor_filter", 0, + "Tensor filter to invoke neural network model"); + trans_class = (GstBaseTransformClass *) klass; gstelement_class = (GstElementClass *) trans_class; gobject_class = (GObjectClass *) gstelement_class; @@ -1428,20 +1431,3 @@ gst_tensor_filter_stop (GstBaseTransform * trans) gst_tensor_filter_close_fw (self); return TRUE; } - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_filter) -{ - /** - * debug category for filtering log messages - */ - GST_DEBUG_CATEGORY_INIT (gst_tensor_filter_debug, "tensor_filter", - 0, "tensor_filter element"); - - return gst_element_register (plugin, "tensor_filter", GST_RANK_NONE, - GST_TYPE_TENSOR_FILTER); -} diff --git a/gst/nnstreamer/tensor_merge/gsttensormerge.c b/gst/nnstreamer/tensor_merge/gsttensormerge.c index f4f83fc..cca7d21 100644 --- a/gst/nnstreamer/tensor_merge/gsttensormerge.c +++ b/gst/nnstreamer/tensor_merge/gsttensormerge.c @@ -143,6 +143,9 @@ gst_tensor_merge_class_init (GstTensorMergeClass * klass) GObjectClass *gobject_class; GstElementClass *gstelement_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_merge_debug, "tensor_merge", 0, + "Element to merge multiple tensor stream to tensor stream"); + gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; @@ -902,20 +905,3 @@ gst_tensor_merge_get_property (GObject * object, guint prop_id, break; } } - - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_merge) -{ - /** debug category for fltering log messages - * exchange the string 'Template tensor_merge' with your description - */ - GST_DEBUG_CATEGORY_INIT (gst_tensor_merge_debug, "tensor_merge", 0, - "Tensor Merger"); - return gst_element_register (plugin, "tensor_merge", - GST_RANK_NONE, GST_TYPE_TENSOR_MERGE); -} diff --git a/gst/nnstreamer/tensor_mux/gsttensormux.c b/gst/nnstreamer/tensor_mux/gsttensormux.c index f7ddcdd..0a687ee 100644 --- a/gst/nnstreamer/tensor_mux/gsttensormux.c +++ b/gst/nnstreamer/tensor_mux/gsttensormux.c @@ -146,6 +146,9 @@ gst_tensor_mux_class_init (GstTensorMuxClass * klass) GObjectClass *gobject_class; GstElementClass *gstelement_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_mux_debug, "tensor_mux", 0, + "Element to merge tensor stream to tensors stream"); + gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; @@ -609,20 +612,3 @@ gst_tensor_mux_get_property (GObject * object, guint prop_id, break; } } - - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_mux) -{ - /** debug category for fltering log messages - * exchange the string 'Template tensor_mux' with your description - */ - GST_DEBUG_CATEGORY_INIT (gst_tensor_mux_debug, "tensor_mux", 0, - "Tensor Muxer"); - return gst_element_register (plugin, "tensor_mux", - GST_RANK_NONE, GST_TYPE_TENSOR_MUX); -} diff --git a/gst/nnstreamer/tensor_reposink/tensor_reposink.c b/gst/nnstreamer/tensor_reposink/tensor_reposink.c index 8b0dce9..1177cd5 100644 --- a/gst/nnstreamer/tensor_reposink/tensor_reposink.c +++ b/gst/nnstreamer/tensor_reposink/tensor_reposink.c @@ -96,6 +96,10 @@ gst_tensor_reposink_class_init (GstTensorRepoSinkClass * klass) GObjectClass *gobject_class; GstElementClass *element_class; GstBaseSinkClass *basesink_class; + + GST_DEBUG_CATEGORY_INIT (gst_tensor_reposink_debug, "tensor_reposink", 0, + "Sink element to handle tensor repository"); + gobject_class = G_OBJECT_CLASS (klass); element_class = GST_ELEMENT_CLASS (klass); basesink_class = GST_BASE_SINK_CLASS (klass); @@ -437,18 +441,3 @@ gst_tensor_reposink_get_caps (GstBaseSink * sink, GstCaps * filter) return caps; } - - -/** - * @brief Function to initialize the plugin. - * - * See GstPluginInitFunc() for more details. - */ -NNSTREAMER_PLUGIN_INIT (tensor_reposink) -{ - GST_DEBUG_CATEGORY_INIT (gst_tensor_reposink_debug, "tensor_reposink", - 0, "tensor_reposink element"); - - return gst_element_register (plugin, "tensor_reposink", - GST_RANK_NONE, GST_TYPE_TENSOR_REPOSINK); -} diff --git a/gst/nnstreamer/tensor_reposrc/tensor_reposrc.c b/gst/nnstreamer/tensor_reposrc/tensor_reposrc.c index e016b7a..26ff0ca 100644 --- a/gst/nnstreamer/tensor_reposrc/tensor_reposrc.c +++ b/gst/nnstreamer/tensor_reposrc/tensor_reposrc.c @@ -85,6 +85,9 @@ gst_tensor_reposrc_class_init (GstTensorRepoSrcClass * klass) GstPushSrcClass *pushsrc_class = GST_PUSH_SRC_CLASS (klass); GstBaseSrcClass *basesrc_class = GST_BASE_SRC_CLASS (klass); + GST_DEBUG_CATEGORY_INIT (gst_tensor_reposrc_debug, "tensor_reposrc", 0, + "Source element to handle tensor repository"); + gobject_class->set_property = gst_tensor_reposrc_set_property; gobject_class->get_property = gst_tensor_reposrc_get_property; @@ -359,17 +362,3 @@ gst_tensor_reposrc_create (GstPushSrc * src, GstBuffer ** buffer) return GST_FLOW_OK; } - -/** - * @brief Function to initialize the plugin. - * - * See GstPluginInitFunc() for more details. - */ -NNSTREAMER_PLUGIN_INIT (tensor_reposrc) -{ - GST_DEBUG_CATEGORY_INIT (gst_tensor_reposrc_debug, "tensor_reposrc", - 0, "tensor_reposrc element"); - - return gst_element_register (plugin, "tensor_reposrc", - GST_RANK_NONE, GST_TYPE_TENSOR_REPOSRC); -} diff --git a/gst/nnstreamer/tensor_sink/tensor_sink.c b/gst/nnstreamer/tensor_sink/tensor_sink.c index 1d3832b..739c5b0 100644 --- a/gst/nnstreamer/tensor_sink/tensor_sink.c +++ b/gst/nnstreamer/tensor_sink/tensor_sink.c @@ -157,6 +157,9 @@ gst_tensor_sink_class_init (GstTensorSinkClass * klass) GstElementClass *element_class; GstBaseSinkClass *bsink_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_sink_debug, "tensor_sink", 0, + "Sink element to handle tensor stream"); + gobject_class = G_OBJECT_CLASS (klass); element_class = GST_ELEMENT_CLASS (klass); bsink_class = GST_BASE_SINK_CLASS (klass); @@ -744,17 +747,3 @@ gst_tensor_sink_get_silent (GstTensorSink * self) return self->silent; } - -/** - * @brief Function to initialize the plugin. - * - * See GstPluginInitFunc() for more details. - */ -NNSTREAMER_PLUGIN_INIT (tensor_sink) -{ - GST_DEBUG_CATEGORY_INIT (gst_tensor_sink_debug, "tensor_sink", - 0, "tensor_sink element"); - - return gst_element_register (plugin, "tensor_sink", - GST_RANK_NONE, GST_TYPE_TENSOR_SINK); -} diff --git a/gst/nnstreamer/tensor_source/tensor_src_iio.c b/gst/nnstreamer/tensor_source/tensor_src_iio.c index a4075f9..369bbd9 100644 --- a/gst/nnstreamer/tensor_source/tensor_src_iio.c +++ b/gst/nnstreamer/tensor_source/tensor_src_iio.c @@ -314,6 +314,9 @@ gst_tensor_src_iio_class_init (GstTensorSrcIIOClass * klass) GstElementClass *gstelement_class; GstBaseSrcClass *bsrc_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_src_iio_debug, "tensor_src_iio", 0, + "Source element to handle Linux Industrial I/O sensors as input"); + gobject_class = G_OBJECT_CLASS (klass); gstelement_class = GST_ELEMENT_CLASS (klass); bsrc_class = GST_BASE_SRC_CLASS (klass); @@ -2485,20 +2488,3 @@ error_data_free: return GST_FLOW_ERROR; } - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_src_iio) -{ - /** - * debug category for filtering log messages - */ - GST_DEBUG_CATEGORY_INIT (gst_tensor_src_iio_debug, "tensor_src_iio", - 0, "tensor_src_iio element"); - - return gst_element_register (plugin, "tensor_src_iio", GST_RANK_NONE, - GST_TYPE_TENSOR_SRC_IIO); -} diff --git a/gst/nnstreamer/tensor_split/gsttensorsplit.c b/gst/nnstreamer/tensor_split/gsttensorsplit.c index 6d54229..b23ec87 100644 --- a/gst/nnstreamer/tensor_split/gsttensorsplit.c +++ b/gst/nnstreamer/tensor_split/gsttensorsplit.c @@ -107,6 +107,9 @@ gst_tensor_split_class_init (GstTensorSplitClass * klass) GObjectClass *gobject_class; GstElementClass *gstelement_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_split_debug, "tensor_split", 0, + "Element to split tensors stream to tensor stream"); + gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; @@ -679,19 +682,3 @@ gst_tensor_split_get_property (GObject * object, guint prop_id, break; } } - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_split) -{ - /** debug category for fltering log messages - * exchange the string 'Template tensor_split' with your description - */ - GST_DEBUG_CATEGORY_INIT (gst_tensor_split_debug, "tensor_split", 0, - "Tensor Spliter"); - return gst_element_register (plugin, "tensor_split", - GST_RANK_NONE, GST_TYPE_TENSOR_SPLIT); -} diff --git a/gst/nnstreamer/tensor_transform/tensor_transform.c b/gst/nnstreamer/tensor_transform/tensor_transform.c index ba70bde..c8d79e2 100644 --- a/gst/nnstreamer/tensor_transform/tensor_transform.c +++ b/gst/nnstreamer/tensor_transform/tensor_transform.c @@ -220,6 +220,9 @@ gst_tensor_transform_class_init (GstTensorTransformClass * klass) GstElementClass *gstelement_class; GstBaseTransformClass *trans_class; + GST_DEBUG_CATEGORY_INIT (gst_tensor_transform_debug, "tensor_transform", 0, + "Element to transforms tensor dimension or type"); + trans_class = (GstBaseTransformClass *) klass; gstelement_class = (GstElementClass *) trans_class; gobject_class = (GObjectClass *) gstelement_class; @@ -1750,20 +1753,3 @@ gst_tensor_transform_transform_size (GstBaseTransform * trans, *othersize = gst_tensor_info_get_size (&filter->out_config.info); return TRUE; } - -/** - * @brief entry point to initialize the plug-in - * initialize the plug-in itself - * register the element factories and other features - */ -NNSTREAMER_PLUGIN_INIT (tensor_transform) -{ - /** - * debug category for fltering log messages - */ - GST_DEBUG_CATEGORY_INIT (gst_tensor_transform_debug, "tensor_transform", - 0, "tensor_transform element"); - - return gst_element_register (plugin, "tensor_transform", - GST_RANK_NONE, GST_TYPE_TENSOR_TRANSFORM); -} -- 2.7.4