Skip to content

Commit dd5f920

Browse files
committed
Release v2024.3.0
1 parent 5cf3ff0 commit dd5f920

File tree

15 files changed

+921
-658
lines changed

15 files changed

+921
-658
lines changed

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ if (NOT CMAKE_BUILD_TYPE)
1919
endif()
2020

2121
# Define version
22-
set(VERSION_MAJOR 2)
23-
set(VERSION_MINOR 2)
24-
set(VERSION_PATCH 2)
22+
set(VERSION_MAJOR 3)
23+
set(VERSION_MINOR 0)
24+
set(VERSION_PATCH 0)
2525

2626
if (NOT DEFINED GIT_INFO OR "${GIT_INFO}" STREQUAL "")
2727
set(GIT_INFO "0")

include/dlstreamer/gst/metadata/gstanalyticskeypointsmtd.h

Lines changed: 76 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,65 @@
88
#define __GST_ANALYTICS_KEYPOINTS_MTD__
99

1010
#include <gst/analytics/analytics-meta-prelude.h>
11+
#include <gst/analytics/gstanalyticsclassificationmtd.h>
1112
#include <gst/analytics/gstanalyticsmeta.h>
1213
#include <gst/gst.h>
1314

1415
G_BEGIN_DECLS
16+
1517
/**
16-
* GstAnalyticsKeypointsMtd:
18+
* GstAnalyticsKeypointMtd:
1719
* @id: Instance identifier.
1820
* @meta: Instance of #GstAnalyticsRelationMeta where the analysis-metadata
1921
* identified by @id is stored.
2022
*
21-
* Handle containing data required to use gst_analytics_keypoints_mtd APIs.
23+
* Handle to #GstAnalyticsKeypoint data structure.
2224
* This type is generally expected to be allocated on the stack.
2325
*
2426
* Since: 1.26
2527
*/
26-
typedef struct _GstAnalyticsMtd GstAnalyticsKeypointsMtd;
28+
typedef struct _GstAnalyticsMtd GstAnalyticsKeypointMtd;
2729

2830
/**
29-
* GstAnalyticsKeypointDimensions:
30-
* @GST_ANALYTICS_KEYPOINT_DIMENSIONS_2D: keypoints in 2D space with (x,y) coordinates.
31-
* @GST_ANALYTICS_KEYPOINT_DIMENSIONS_3D: keypoints in 3D space with (x,y,z) coordinates.
32-
*
33-
* Enum value describing supported keypoint dimension.
31+
* GstAnalyticsKeypoint:
32+
* @x: zero-based absolute x pixel coordinate of a keypoint relative to image upper-left corner.
33+
* @y: zero-based absolute y pixel coordinate of a keypoint relative to image upper-left corner.
34+
* @z: normalized depth coordinate of a keypoint, relative to keypoint group center (use 0.0f for 2D keypoints).
35+
* @v: visibility of a kepoint, normalized <0.0f - not visible, 1.0f - fully visible>.
3436
* */
35-
typedef enum {
36-
GST_ANALYTICS_KEYPOINT_DIMENSIONS_2D = 2,
37-
GST_ANALYTICS_KEYPOINT_DIMENSIONS_3D = 3,
38-
} GstAnalyticsKeypointDimensions;
37+
typedef struct {
38+
guint x;
39+
guint y;
40+
gfloat z;
41+
gfloat v;
42+
} GstAnalyticsKeypoint;
43+
44+
GST_ANALYTICS_META_API
45+
GstAnalyticsMtdType gst_analytics_keypoint_mtd_get_mtd_type(void);
46+
47+
GST_ANALYTICS_META_API
48+
gboolean gst_analytics_keypoint_mtd_get(const GstAnalyticsKeypointMtd *handle, GstAnalyticsKeypoint *keypoint);
49+
50+
GST_ANALYTICS_META_API
51+
gboolean gst_analytics_relation_meta_add_keypoint_mtd(GstAnalyticsRelationMeta *instance,
52+
const GstAnalyticsKeypoint *keypoint,
53+
GstAnalyticsKeypointMtd *keypoint_mtd);
3954

4055
/**
41-
* GstKeypointPair:
56+
* GstAnalyticsKeypointSkeletonMtd:
57+
* @id: Instance identifier.
58+
* @meta: Instance of #GstAnalyticsRelationMeta where the analysis-metadata
59+
* identified by @id is stored.
60+
*
61+
* Handle containing data required to use gst_analytics_keypoint_skeleton_mtd APIs.
62+
* This type is generally expected to be allocated on the stack.
63+
*
64+
* Since: 1.26
65+
*/
66+
typedef struct _GstAnalyticsMtd GstAnalyticsKeypointSkeletonMtd;
67+
68+
/**
69+
* GstAnalyticsKeypointPair:
4270
* @kp1: index of the first keypoint in a skeleton link.
4371
* @kp2: index of the second keypoint in a skeleton link.
4472
*
@@ -47,41 +75,58 @@ typedef enum {
4775
typedef struct {
4876
guint kp1;
4977
guint kp2;
50-
} GstKeypointPair;
78+
} GstAnalyticsKeypointPair;
5179

5280
GST_ANALYTICS_META_API
53-
GstAnalyticsMtdType gst_analytics_keypoints_mtd_get_mtd_type(void);
81+
GstAnalyticsMtdType gst_analytics_keypoint_skeleton_mtd_get_mtd_type(void);
5482

5583
GST_ANALYTICS_META_API
56-
gsize gst_analytics_keypoints_mtd_get_count(const GstAnalyticsKeypointsMtd *handle);
84+
gsize gst_analytics_keypoint_skeleton_mtd_get_count(const GstAnalyticsKeypointSkeletonMtd *handle);
5785

5886
GST_ANALYTICS_META_API
59-
GstAnalyticsKeypointDimensions gst_analytics_keypoints_mtd_get_dimension(const GstAnalyticsKeypointsMtd *handle);
87+
gboolean gst_analytics_keypoint_skeleton_mtd_get(const GstAnalyticsKeypointSkeletonMtd *handle,
88+
GstAnalyticsKeypointPair *segment, gsize index);
6089

6190
GST_ANALYTICS_META_API
62-
gsize gst_analytics_keypoints_mtd_get_confidence_count(const GstAnalyticsKeypointsMtd *handle);
91+
gboolean gst_analytics_relation_meta_add_keypoint_skeleton_mtd(GstAnalyticsRelationMeta *instance,
92+
const gsize skeleton_count,
93+
const GstAnalyticsKeypointPair *skeletons,
94+
GstAnalyticsKeypointSkeletonMtd *keypoint_skeleton_mtd);
95+
96+
/**
97+
* GstAnalyticsKeypointGroupMtd:
98+
* @id: Instance identifier.
99+
* @meta: Instance of #GstAnalyticsRelationMeta where the analysis-metadata
100+
* identified by @id is stored.
101+
*
102+
* Handle containing data required to use gst_analytics_keypointgroup_mtd APIs.
103+
* This type is generally expected to be allocated on the stack.
104+
*
105+
* Since: 1.26
106+
*/
107+
typedef struct _GstAnalyticsMtd GstAnalyticsKeypointGroupMtd;
63108

64109
GST_ANALYTICS_META_API
65-
gsize gst_analytics_keypoints_mtd_get_skeleton_count(const GstAnalyticsKeypointsMtd *handle);
110+
GstAnalyticsMtdType gst_analytics_keypointgroup_mtd_get_mtd_type(void);
66111

67112
GST_ANALYTICS_META_API
68-
gboolean gst_analytics_keypoints_mtd_get_position(const GstAnalyticsKeypointsMtd *handle, gfloat *position,
69-
gsize index);
113+
gsize gst_analytics_keypointgroup_mtd_get_count(const GstAnalyticsKeypointGroupMtd *handle);
70114

71115
GST_ANALYTICS_META_API
72-
gboolean gst_analytics_keypoints_mtd_get_confidence(const GstAnalyticsKeypointsMtd *handle, gfloat *confidence,
73-
gsize index);
116+
gboolean gst_analytics_keypointgroup_mtd_get_keypoint_mtd(const GstAnalyticsKeypointGroupMtd *handle,
117+
GstAnalyticsKeypointMtd *keypoint_mtd, gsize index);
74118

75119
GST_ANALYTICS_META_API
76-
gboolean gst_analytics_keypoints_mtd_get_skeleton(const GstAnalyticsKeypointsMtd *handle, GstKeypointPair *skeleton,
77-
gsize index);
120+
gboolean gst_analytics_relation_meta_add_keypointgroup_mtd(GstAnalyticsRelationMeta *instance,
121+
const gsize keypoint_count,
122+
const GstAnalyticsKeypointMtd *keypoints,
123+
GstAnalyticsKeypointGroupMtd *keypoints_mtd);
78124

79125
GST_ANALYTICS_META_API
80-
gboolean gst_analytics_relation_meta_add_keypoints_mtd(GstAnalyticsRelationMeta *instance, const gsize keypoint_count,
81-
const GstAnalyticsKeypointDimensions keypoint_dimensions,
82-
const gfloat *positions, const gfloat *confidences,
83-
const gsize skeleton_count, const GstKeypointPair *skeletons,
84-
GstAnalyticsKeypointsMtd *keypoint_mtd);
126+
gboolean gst_analytics_relation_meta_set_keypointgroup_relations(GstAnalyticsRelationMeta *instance,
127+
GstAnalyticsKeypointGroupMtd *keypoint_group,
128+
GstAnalyticsClsMtd *keypoint_names,
129+
GstAnalyticsKeypointSkeletonMtd *keypoint_skeleton);
85130

86131
G_END_DECLS
87-
#endif // __GST_ANALYTICS_KEYPOINTS_MTD__
132+
#endif // __gst_analytics_keypointgroup_MTD__

0 commit comments

Comments
 (0)