NVIDIA DeepStream SDK API Reference

6.4 Release
deepstream_schema.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA Corporation is strictly prohibited.
9  *
10  */
11 
21 #ifndef NVEVENTMSGCONV_H_
22 #define NVEVENTMSGCONV_H_
23 
24 #include "nvdsmeta.h"
25 #include "nvdsmeta_schema.h"
26 #include <iostream>
27 #include <string>
28 #include <unordered_map>
29 
30 using namespace std;
31 
32 #define CONFIG_GROUP_SENSOR "sensor"
33 #define CONFIG_GROUP_PLACE "place"
34 #define CONFIG_GROUP_ANALYTICS "analytics"
35 
36 #define CONFIG_KEY_COORDINATE "coordinate"
37 #define CONFIG_KEY_DESCRIPTION "description"
38 #define CONFIG_KEY_ENABLE "enable"
39 #define CONFIG_KEY_ID "id"
40 #define CONFIG_KEY_LANE "lane"
41 #define CONFIG_KEY_LEVEL "level"
42 #define CONFIG_KEY_LOCATION "location"
43 #define CONFIG_KEY_NAME "name"
44 #define CONFIG_KEY_SOURCE "source"
45 #define CONFIG_KEY_TYPE "type"
46 #define CONFIG_KEY_VERSION "version"
47 
48 
49 #define CONFIG_KEY_PLACE_SUB_FIELD1 "place-sub-field1"
50 #define CONFIG_KEY_PLACE_SUB_FIELD2 "place-sub-field2"
51 #define CONFIG_KEY_PLACE_SUB_FIELD3 "place-sub-field3"
52 
53 #define DEFAULT_CSV_FIELDS 10
54 
55 
56 #define CHECK_ERROR(error) \
57  if (error) { \
58  cout << "Error: " << error->message << endl; \
59  goto done; \
60  }
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
70  string field1;
71  string field2;
72  string field3;
73 };
74 
76  string id;
77  string type;
78  string desc;
79  gdouble location[3];
80  gdouble coordinate[3];
81 };
82 
84  string id;
85  string name;
86  string type;
87  gdouble location[3];
88  gdouble coordinate[3];
90 };
91 
93  string id;
94  string desc;
95  string source;
96  string version;
97 };
98 
99 struct NvDs3dDatamap {
100  string obj_key_2d;
101  string obj_key_3d;
104  guint32 lidar_element_size = 4;
105  guint32 lidar_element_max_points = 10;
106 };
107 
109  unordered_map<int, NvDsSensorObject> sensorObj;
110  unordered_map<int, NvDsPlaceObject> placeObj;
111  unordered_map<int, NvDsAnalyticsObject> analyticsObj;
113 };
114 
115 gchar* generate_event_message(void* privData, NvDsEventMsgMeta* meta);
116 gchar* generate_event_message_minimal(void* privData, NvDsEvent* events, guint size);
117 gchar* generate_event_message_protobuf(void* privData, NvDsEvent* events, guint size, size_t& message_len);
118 gchar* generate_dsmeta_message(void* privData, void* frameMeta, void* objMeta);
119 gchar* generate_dsmeta_message_minimal(void* privData, void* frameMeta);
120 gchar* generate_dsmeta_message_protobuf(void* privData, void* frameMeta, size_t& message_len);
121 gchar* generate_dsmeta_message_ds3d(void* privData, void* ptrDataMap, gboolean addLidarData, size_t& message_len);
123 void destroy_deepstream_schema_ctx(void* privData);
124 bool nvds_msg2p_parse_key_value(void* privData, const gchar* file);
125 bool nvds_msg2p_parse_csv(void* privData, const gchar* file);
126 bool nvds_msg2p_parse_yaml(void* privData, const gchar* file);
127 
128 #ifdef __cplusplus
129 }
130 #endif
131 #endif /* NVEVENTMSGCONV_H_ */
NvDsAnalyticsObject::source
string source
Definition: deepstream_schema.h:95
NvDsPlaceObject
Definition: deepstream_schema.h:83
NvDsPlaceSubObject
Store data parsed from the config file in these structures.
Definition: deepstream_schema.h:69
generate_event_message_minimal
gchar * generate_event_message_minimal(void *privData, NvDsEvent *events, guint size)
NvDsAnalyticsObject::version
string version
Definition: deepstream_schema.h:96
generate_dsmeta_message_minimal
gchar * generate_dsmeta_message_minimal(void *privData, void *frameMeta)
_NvDsEvent
Holds event information.
Definition: nvdsmeta_schema.h:364
NvDsPlaceObject::name
string name
Definition: deepstream_schema.h:85
NvDsPlaceSubObject::field2
string field2
Definition: deepstream_schema.h:71
NvDs3dDatamap::obj_key_fusion
string obj_key_fusion
Definition: deepstream_schema.h:102
NvDsPlaceObject::subObj
NvDsPlaceSubObject subObj
Definition: deepstream_schema.h:89
NvDsSensorObject::type
string type
Definition: deepstream_schema.h:77
generate_event_message_protobuf
gchar * generate_event_message_protobuf(void *privData, NvDsEvent *events, guint size, size_t &message_len)
nvds_msg2p_parse_yaml
bool nvds_msg2p_parse_yaml(void *privData, const gchar *file)
NvDsAnalyticsObject::id
string id
Definition: deepstream_schema.h:93
generate_event_message
gchar * generate_event_message(void *privData, NvDsEventMsgMeta *meta)
NvDsAnalyticsObject::desc
string desc
Definition: deepstream_schema.h:94
NvDsSensorObject::desc
string desc
Definition: deepstream_schema.h:78
NvDsPayloadPriv::placeObj
unordered_map< int, NvDsPlaceObject > placeObj
Definition: deepstream_schema.h:110
destroy_deepstream_schema_ctx
void destroy_deepstream_schema_ctx(void *privData)
NvDsSensorObject
Definition: deepstream_schema.h:75
NvDsEventMsgMeta
Holds event message meta data.
Definition: nvdsmeta_schema.h:305
NvDsPayloadPriv::datamapCfg
NvDs3dDatamap datamapCfg
Definition: deepstream_schema.h:112
NvDsSensorObject::id
string id
Definition: deepstream_schema.h:76
create_deepstream_schema_ctx
void * create_deepstream_schema_ctx()
NvDsPlaceSubObject::field3
string field3
Definition: deepstream_schema.h:72
nvds_msg2p_parse_csv
bool nvds_msg2p_parse_csv(void *privData, const gchar *file)
NvDsPayloadPriv::analyticsObj
unordered_map< int, NvDsAnalyticsObject > analyticsObj
Definition: deepstream_schema.h:111
NvDs3dDatamap::obj_key_3d
string obj_key_3d
Definition: deepstream_schema.h:101
NvDs3dDatamap::lidar_data_key
string lidar_data_key
Definition: deepstream_schema.h:103
NvDsPlaceSubObject::field1
string field1
Definition: deepstream_schema.h:70
NvDs3dDatamap::obj_key_2d
string obj_key_2d
Definition: deepstream_schema.h:100
NvDsPlaceObject::id
string id
Definition: deepstream_schema.h:84
generate_dsmeta_message
gchar * generate_dsmeta_message(void *privData, void *frameMeta, void *objMeta)
nvds_msg2p_parse_key_value
bool nvds_msg2p_parse_key_value(void *privData, const gchar *file)
NvDs3dDatamap
Definition: deepstream_schema.h:99
NvDsAnalyticsObject
Definition: deepstream_schema.h:92
nvdsmeta.h
generate_dsmeta_message_ds3d
gchar * generate_dsmeta_message_ds3d(void *privData, void *ptrDataMap, gboolean addLidarData, size_t &message_len)
generate_dsmeta_message_protobuf
gchar * generate_dsmeta_message_protobuf(void *privData, void *frameMeta, size_t &message_len)
NvDsPayloadPriv::sensorObj
unordered_map< int, NvDsSensorObject > sensorObj
Definition: deepstream_schema.h:109
NvDsPlaceObject::type
string type
Definition: deepstream_schema.h:86
nvdsmeta_schema.h
NvDsPayloadPriv
Definition: deepstream_schema.h:108