Skip to content

Commit 6020839

Browse files
committed
Merge branch 'release-0.3.0' into main
2 parents f9b4bd8 + 9ee59e2 commit 6020839

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+8219
-1082
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Plugin Details:
6767
Name tiovx
6868
Description GStreamer plugin for TIOVX
6969
Filename /usr/lib/gstreamer-1.0/libgsttiovx.so
70-
Version 0.2.3
70+
Version 0.3.0
7171
License Proprietary
7272
Source module GstTIOVX
7373
Binary package GstTIOVX source release

ext/tiovx/gsttiovx.c

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@
6868
#include "gsttiovxcolorconvert.h"
6969
#include "gsttiovxdlcolorblend.h"
7070
#include "gsttiovxdlpreproc.h"
71+
#include "gsttiovxisp.h"
72+
#include "gsttiovxldc.h"
7173
#include "gsttiovxmosaic.h"
7274
#include "gsttiovxmultiscaler.h"
7375
#include "gst-libs/gst/tiovx/gsttiovxutils.h"
@@ -82,40 +84,54 @@ ti_ovx_init (GstPlugin * plugin)
8284
gboolean ret = FALSE;
8385

8486
ret = gst_element_register (plugin, "tiovxcolorconvert", GST_RANK_NONE,
85-
GST_TYPE_GST_TIOVX_COLOR_CONVERT);
87+
GST_TYPE_TIOVX_COLOR_CONVERT);
8688
if (!ret) {
8789
GST_ERROR ("Failed to register the tiovxcolorconvert element");
8890
goto out;
8991
}
9092

9193
ret = gst_element_register (plugin, "tiovxdlcolorblend", GST_RANK_NONE,
92-
GST_TYPE_GST_TIOVX_DL_COLOR_BLEND);
94+
GST_TYPE_TIOVX_DL_COLOR_BLEND);
9395
if (!ret) {
9496
GST_ERROR ("Failed to register the tiovxdlcolorblend element");
9597
goto out;
9698
}
9799

98100
ret = gst_element_register (plugin, "tiovxdlpreproc", GST_RANK_NONE,
99-
GST_TYPE_GST_TIOVX_DL_PRE_PROC);
101+
GST_TYPE_TIOVX_DL_PRE_PROC);
100102
if (!ret) {
101103
GST_ERROR ("Failed to register the tiovxdlpreproc element");
102104
goto out;
103105
}
104106

105-
ret = gst_element_register (plugin, "tiovxmultiscaler", GST_RANK_NONE,
106-
GST_TYPE_GST_TIOVX_MULTI_SCALER);
107+
ret = gst_element_register (plugin, "tiovxisp", GST_RANK_NONE,
108+
GST_TYPE_GST_TIOVX_ISP);
107109
if (!ret) {
108-
GST_ERROR ("Failed to register the tiovxmultiscaler element");
110+
GST_ERROR ("Failed to register the tiovxisp element");
111+
goto out;
112+
}
113+
114+
ret = gst_element_register (plugin, "tiovxldc", GST_RANK_NONE,
115+
GST_TYPE_TIOVX_LDC);
116+
if (!ret) {
117+
GST_ERROR ("Failed to register the tiovxldc element");
109118
goto out;
110119
}
111120

112121
ret = gst_element_register (plugin, "tiovxmosaic", GST_RANK_NONE,
113-
GST_TYPE_GST_TIOVX_MOSAIC);
122+
GST_TYPE_TIOVX_MOSAIC);
114123
if (!ret) {
115124
GST_ERROR ("Failed to register the tiovxmosaic element");
116125
goto out;
117126
}
118127

128+
ret = gst_element_register (plugin, "tiovxmultiscaler", GST_RANK_NONE,
129+
GST_TYPE_TIOVX_MULTI_SCALER);
130+
if (!ret) {
131+
GST_ERROR ("Failed to register the tiovxmultiscaler element");
132+
goto out;
133+
}
134+
119135
gst_tiovx_init_debug ();
120136

121137
ret = TRUE;

ext/tiovx/gsttiovxcolorconvert.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_tiovx_color_convert_debug);
152152

153153
#define gst_tiovx_color_convert_parent_class parent_class
154154
G_DEFINE_TYPE (GstTIOVXColorconvert, gst_tiovx_color_convert,
155-
GST_TIOVX_SISO_TYPE);
155+
GST_TYPE_TIOVX_SISO);
156156

157157
static void
158158
gst_tiovx_color_convert_set_property (GObject * object, guint prop_id,
@@ -552,6 +552,7 @@ gst_tiovx_color_convert_create_graph (GstTIOVXSiso * trans, vx_context context,
552552
GstTIOVXColorconvert *self = NULL;
553553
vx_status status = VX_SUCCESS;
554554
const char *target = NULL;
555+
gboolean ret = FALSE;
555556

556557
g_return_val_if_fail (trans, FALSE);
557558
g_return_val_if_fail (VX_SUCCESS == vxGetStatus ((vx_reference) context),
@@ -567,20 +568,23 @@ gst_tiovx_color_convert_create_graph (GstTIOVXSiso * trans, vx_context context,
567568
target = target_id_to_target_name (self->target_id);
568569
GST_OBJECT_UNLOCK (GST_OBJECT (self));
569570

570-
if (!target) {
571+
if (NULL == target) {
571572
GST_ERROR_OBJECT (self, "TIOVX target selection failed");
572-
g_return_val_if_reached (FALSE);
573+
goto out;
573574
}
574575

575576
GST_INFO_OBJECT (self, "TIOVX Target to use: %s", target);
576577

577578
status = tiovx_color_convert_module_create (graph, &self->obj, NULL, target);
578579
if (VX_SUCCESS != status) {
579580
GST_ERROR_OBJECT (self, "Create graph failed with error: %d", status);
580-
return FALSE;
581+
goto out;
581582
}
582583

583-
return TRUE;
584+
ret = TRUE;
585+
586+
out:
587+
return ret;
584588
}
585589

586590
static gboolean
@@ -685,6 +689,7 @@ gst_tiovx_color_convert_compare_caps (GstTIOVXSiso * trans, GstCaps * caps1,
685689
GstVideoInfo video_info2;
686690
gboolean ret = FALSE;
687691

692+
g_return_val_if_fail (trans, FALSE);
688693
g_return_val_if_fail (caps1, FALSE);
689694
g_return_val_if_fail (caps2, FALSE);
690695
g_return_val_if_fail (GST_PAD_UNKNOWN != direction, FALSE);

ext/tiovx/gsttiovxcolorconvert.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ G_BEGIN_DECLS
7979
* Returns: TRUE if @ptr is a TIOVX colorconvert
8080
*
8181
*/
82-
#define GST_TYPE_GST_TIOVX_COLOR_CONVERT (gst_tiovx_color_convert_get_type())
82+
#define GST_TYPE_TIOVX_COLOR_CONVERT (gst_tiovx_color_convert_get_type())
8383
G_DECLARE_FINAL_TYPE(GstTIOVXColorconvert, gst_tiovx_color_convert, GST,
8484
TIOVX_COLOR_CONVERT, GstTIOVXSiso)
8585

ext/tiovx/gsttiovxdlcolorblend.c

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@
9191
#define DEFAULT_NUM_CLASSES 8
9292

9393
/* Target definition */
94-
#define GST_TIOVX_TYPE_DL_COLOR_BLEND_TARGET (gst_tiovx_dl_color_blend_target_get_type())
94+
#define GST_TYPE_TIOVX_DL_COLOR_BLEND_TARGET (gst_tiovx_dl_color_blend_target_get_type())
9595
#define DEFAULT_TIOVX_DL_COLOR_BLEND_TARGET TIVX_CPU_ID_DSP1
9696

9797
/* Data type definition */
98-
#define GST_TIOVX_TYPE_DL_COLOR_BLEND_DATA_TYPE (gst_tiovx_dl_color_blend_data_type_get_type())
98+
#define GST_TYPE_TIOVX_DL_COLOR_BLEND_DATA_TYPE (gst_tiovx_dl_color_blend_data_type_get_type())
9999
#define DEFAULT_TIOVX_DL_COLOR_BLEND_DATA_TYPE VX_TYPE_FLOAT32
100100

101101
/* Formats definition */
@@ -217,7 +217,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_tiovx_dl_color_blend_debug);
217217

218218
#define gst_tiovx_dl_color_blend_parent_class parent_class
219219
G_DEFINE_TYPE_WITH_CODE (GstTIOVXDLColorBlend, gst_tiovx_dl_color_blend,
220-
GST_TIOVX_MISO_TYPE,
220+
GST_TYPE_TIOVX_MISO,
221221
GST_DEBUG_CATEGORY_INIT (gst_tiovx_dl_color_blend_debug,
222222
"tiovxdlcolorblend", 0,
223223
"debug category for the tiovxdlcolorblend element"););
@@ -257,13 +257,9 @@ static GstPad *gst_tiovx_dl_color_blend_request_new_pad (GstElement * element,
257257
static void
258258
gst_tiovx_dl_color_blend_class_init (GstTIOVXDLColorBlendClass * klass)
259259
{
260-
GObjectClass *gobject_class = NULL;
261-
GstElementClass *gstelement_class = NULL;
262-
GstTIOVXMisoClass *gsttiovxmiso_class = NULL;
263-
264-
gobject_class = G_OBJECT_CLASS (klass);
265-
gstelement_class = GST_ELEMENT_CLASS (klass);
266-
gsttiovxmiso_class = GST_TIOVX_MISO_CLASS (klass);
260+
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
261+
GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
262+
GstTIOVXMisoClass *gsttiovxmiso_class = GST_TIOVX_MISO_CLASS (klass);
267263

268264
gst_element_class_set_details_simple (gstelement_class,
269265
"TIOVX DL ColorBlend",
@@ -283,14 +279,14 @@ gst_tiovx_dl_color_blend_class_init (GstTIOVXDLColorBlendClass * klass)
283279
g_object_class_install_property (gobject_class, PROP_TARGET,
284280
g_param_spec_enum ("target", "Target",
285281
"TIOVX target to use by this element",
286-
GST_TIOVX_TYPE_DL_COLOR_BLEND_TARGET,
282+
GST_TYPE_TIOVX_DL_COLOR_BLEND_TARGET,
287283
DEFAULT_TIOVX_DL_COLOR_BLEND_TARGET,
288284
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
289285

290286
g_object_class_install_property (gobject_class, PROP_DATA_TYPE,
291287
g_param_spec_enum ("data-type", "Data Type",
292288
"Data Type of tensor at the output",
293-
GST_TIOVX_TYPE_DL_COLOR_BLEND_DATA_TYPE,
289+
GST_TYPE_TIOVX_DL_COLOR_BLEND_DATA_TYPE,
294290
DEFAULT_TIOVX_DL_COLOR_BLEND_DATA_TYPE,
295291
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
296292

@@ -556,7 +552,7 @@ gst_tiovx_dl_color_blend_create_graph (GstTIOVXMiso * miso,
556552
target = target_id_to_target_name (self->target_id);
557553
GST_OBJECT_UNLOCK (GST_OBJECT (self));
558554

559-
if (!target) {
555+
if (NULL == target) {
560556
GST_ERROR_OBJECT (self, "TIOVX target selection failed");
561557
goto out;
562558
}

ext/tiovx/gsttiovxdlcolorblend.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ G_BEGIN_DECLS
7979
* Returns: TRUE if @ptr is a TIOVX color blend
8080
*
8181
*/
82-
#define GST_TYPE_GST_TIOVX_DL_COLOR_BLEND (gst_tiovx_dl_color_blend_get_type())
82+
#define GST_TYPE_TIOVX_DL_COLOR_BLEND (gst_tiovx_dl_color_blend_get_type())
8383
G_DECLARE_FINAL_TYPE(GstTIOVXDLColorBlend, gst_tiovx_dl_color_blend, GST,
8484
TIOVX_DL_COLOR_BLEND, GstTIOVXMiso)
8585

ext/tiovx/gsttiovxdlpreproc.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -92,23 +92,23 @@
9292
#define NUM_CHANNELS_SUPPORTED 3
9393

9494
/* Target definition */
95-
#define GST_TIOVX_TYPE_DL_PRE_PROC_TARGET (gst_tiovx_dl_pre_proc_target_get_type())
95+
#define GST_TYPE_TIOVX_DL_PRE_PROC_TARGET (gst_tiovx_dl_pre_proc_target_get_type())
9696
#define DEFAULT_TIOVX_DL_PRE_PROC_TARGET TIVX_CPU_ID_DSP1
9797

9898
/* Channel order definition */
99-
#define GST_TIOVX_TYPE_DL_PRE_PROC_CHANNEL_ORDER (gst_tiovx_dl_pre_proc_channel_order_get_type())
99+
#define GST_TYPE_TIOVX_DL_PRE_PROC_CHANNEL_ORDER (gst_tiovx_dl_pre_proc_channel_order_get_type())
100100
#define DEFAULT_TIOVX_DL_PRE_PROC_CHANNEL_ORDER TIVX_DL_PRE_PROC_CHANNEL_ORDER_NCHW
101101

102102
/* Data type definition */
103-
#define GST_TIOVX_TYPE_DL_PRE_PROC_DATA_TYPE (gst_tiovx_dl_pre_proc_data_type_get_type())
103+
#define GST_TYPE_TIOVX_DL_PRE_PROC_DATA_TYPE (gst_tiovx_dl_pre_proc_data_type_get_type())
104104
#define DEFAULT_TIOVX_DL_PRE_PROC_DATA_TYPE VX_TYPE_FLOAT32
105105

106106
/* Tensor format definition */
107-
#define GST_TIOVX_TYPE_DL_PRE_PROC_TENSOR_FORMAT (gst_tiovx_dl_pre_proc_tensor_format_get_type())
107+
#define GST_TYPE_TIOVX_DL_PRE_PROC_TENSOR_FORMAT (gst_tiovx_dl_pre_proc_tensor_format_get_type())
108108
#define DEFAULT_TIOVX_DL_PRE_PROC_TENSOR_FORMAT TIVX_DL_PRE_PROC_TENSOR_FORMAT_RGB
109109

110110
/* Formats definition */
111-
#define TIOVX_DL_PRE_PROC_SUPPORTED_FORMATS_SINK "{RGB, BGR, NV12, NV21}"
111+
#define TIOVX_DL_PRE_PROC_SUPPORTED_FORMATS_SINK "{RGB, NV12, NV21}"
112112
#define TIOVX_DL_PRE_PROC_SUPPORTED_WIDTH "[1 , 8192]"
113113
#define TIOVX_DL_PRE_PROC_SUPPORTED_HEIGHT "[1 , 8192]"
114114
#define TIOVX_DL_PRE_PROC_SUPPORTED_DIMENSIONS "3"
@@ -259,7 +259,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_tiovx_dl_pre_proc_debug);
259259
#define GST_CAT_DEFAULT gst_tiovx_dl_pre_proc_debug
260260

261261
#define gst_tiovx_dl_pre_proc_parent_class parent_class
262-
G_DEFINE_TYPE (GstTIOVXDLPreProc, gst_tiovx_dl_pre_proc, GST_TIOVX_SISO_TYPE);
262+
G_DEFINE_TYPE (GstTIOVXDLPreProc, gst_tiovx_dl_pre_proc, GST_TYPE_TIOVX_SISO);
263263

264264
static void gst_tiovx_dl_pre_proc_finalize (GObject * obj);
265265

@@ -298,15 +298,11 @@ static const gchar *gst_tiovx_dl_pre_proc_get_enum_nickname (GType type,
298298
static void
299299
gst_tiovx_dl_pre_proc_class_init (GstTIOVXDLPreProcClass * klass)
300300
{
301-
GObjectClass *gobject_class = NULL;
302-
GstBaseTransformClass *gstbasetransform_class = NULL;
303-
GstElementClass *gstelement_class = NULL;
304-
GstTIOVXSisoClass *gsttiovxsiso_class = NULL;
305-
306-
gobject_class = G_OBJECT_CLASS (klass);
307-
gstbasetransform_class = GST_BASE_TRANSFORM_CLASS (klass);
308-
gstelement_class = GST_ELEMENT_CLASS (klass);
309-
gsttiovxsiso_class = GST_TIOVX_SISO_CLASS (klass);
301+
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
302+
GstBaseTransformClass *gstbasetransform_class =
303+
GST_BASE_TRANSFORM_CLASS (klass);
304+
GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
305+
GstTIOVXSisoClass *gsttiovxsiso_class = GST_TIOVX_SISO_CLASS (klass);
310306

311307
gst_element_class_set_details_simple (gstelement_class,
312308
"TIOVX DL PreProc",
@@ -320,7 +316,7 @@ gst_tiovx_dl_pre_proc_class_init (GstTIOVXDLPreProcClass * klass)
320316
g_object_class_install_property (gobject_class, PROP_TARGET,
321317
g_param_spec_enum ("target", "Target",
322318
"TIOVX target to use by this element",
323-
GST_TIOVX_TYPE_DL_PRE_PROC_TARGET,
319+
GST_TYPE_TIOVX_DL_PRE_PROC_TARGET,
324320
DEFAULT_TIOVX_DL_PRE_PROC_TARGET,
325321
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
326322

@@ -353,21 +349,21 @@ gst_tiovx_dl_pre_proc_class_init (GstTIOVXDLPreProcClass * klass)
353349
g_object_class_install_property (gobject_class, PROP_CHANNEL_ORDER,
354350
g_param_spec_enum ("channel-order", "Channel Order",
355351
"Channel order for the tensor dimensions",
356-
GST_TIOVX_TYPE_DL_PRE_PROC_CHANNEL_ORDER,
352+
GST_TYPE_TIOVX_DL_PRE_PROC_CHANNEL_ORDER,
357353
DEFAULT_TIOVX_DL_PRE_PROC_CHANNEL_ORDER,
358354
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
359355

360356
g_object_class_install_property (gobject_class, PROP_DATA_TYPE,
361357
g_param_spec_enum ("data-type", "Data Type",
362358
"Data Type of tensor at the output",
363-
GST_TIOVX_TYPE_DL_PRE_PROC_DATA_TYPE,
359+
GST_TYPE_TIOVX_DL_PRE_PROC_DATA_TYPE,
364360
DEFAULT_TIOVX_DL_PRE_PROC_DATA_TYPE,
365361
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
366362

367363
g_object_class_install_property (gobject_class, PROP_TENSOR_FORMAT,
368364
g_param_spec_enum ("tensor-format", "Tensor Format",
369365
"Tensor format at the output",
370-
GST_TIOVX_TYPE_DL_PRE_PROC_TENSOR_FORMAT,
366+
GST_TYPE_TIOVX_DL_PRE_PROC_TENSOR_FORMAT,
371367
DEFAULT_TIOVX_DL_PRE_PROC_TENSOR_FORMAT,
372368
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
373369

@@ -678,6 +674,7 @@ gst_tiovx_dl_pre_proc_create_graph (GstTIOVXSiso * trans,
678674
GstTIOVXDLPreProc *self = NULL;
679675
vx_status status = VX_SUCCESS;
680676
const char *target = NULL;
677+
gboolean ret = FALSE;
681678

682679
g_return_val_if_fail (trans, FALSE);
683680
g_return_val_if_fail (VX_SUCCESS == vxGetStatus ((vx_reference) context),
@@ -694,9 +691,9 @@ gst_tiovx_dl_pre_proc_create_graph (GstTIOVXSiso * trans,
694691
(gst_tiovx_dl_pre_proc_target_get_type (), self->target_id);
695692
GST_OBJECT_UNLOCK (GST_OBJECT (self));
696693

697-
if (!target) {
694+
if (NULL == target) {
698695
GST_ERROR_OBJECT (self, "TIOVX target selection failed");
699-
g_return_val_if_reached (FALSE);
696+
goto out;
700697
}
701698

702699
GST_INFO_OBJECT (self, "TIOVX Target to use: %s", target);
@@ -705,10 +702,13 @@ gst_tiovx_dl_pre_proc_create_graph (GstTIOVXSiso * trans,
705702

706703
if (VX_SUCCESS != status) {
707704
GST_ERROR_OBJECT (self, "Create graph failed with error: %d", status);
708-
return FALSE;
705+
goto out;
709706
}
710707

711-
return TRUE;
708+
ret = TRUE;
709+
710+
out:
711+
return ret;
712712
}
713713

714714
static gboolean

ext/tiovx/gsttiovxdlpreproc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ G_BEGIN_DECLS
7979
* Returns: TRUE if @ptr is a TIOVX pre proc
8080
*
8181
*/
82-
#define GST_TYPE_GST_TIOVX_DL_PRE_PROC (gst_tiovx_dl_pre_proc_get_type())
82+
#define GST_TYPE_TIOVX_DL_PRE_PROC (gst_tiovx_dl_pre_proc_get_type())
8383
G_DECLARE_FINAL_TYPE(GstTIOVXDLPreProc, gst_tiovx_dl_pre_proc, GST,
8484
TIOVX_DL_PRE_PROC, GstTIOVXSiso)
8585

0 commit comments

Comments
 (0)