DriveWorks SDK Reference
5.10.90 Release
For Test and Development only

Types.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2016-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
46#ifndef DW_CORE_TYPES_H_
47#define DW_CORE_TYPES_H_
48
49#include "BasicTypes.h"
50#include "Exports.h"
51#include "GeoPoints.h"
52#include "GeometricDefs.h"
53#include "GeometricTypes.h"
54#include "MatrixDefs.h"
55#include "MatrixTypes.h"
56#include "Status.h"
57
58#include <cuda_runtime_api.h>
59// RFD - MISRAC 2012 Rule 1.4: Using emergent head file (stdalign.h)
60// coverity[misra_c_2012_rule_1_4_violation]
61#include <stdalign.h>
62
63#include <cuda_fp16.h>
64
65#include <stdint.h>
66#include <stddef.h>
67#include <stdbool.h>
68
69#ifdef __cplusplus
70extern "C" {
71#endif
72
73#if defined(__cplusplus)
74typedef __half dwFloat16_t;
75#else
76typedef __half_raw dwFloat16_t;
77#endif
78
79#if defined(__cplusplus)
80#define DW_NULL_HANDLE nullptr
81#define DW_NO_CALLBACK nullptr
82#else
83#define DW_NULL_HANDLE NULL
84#define DW_NO_CALLBACK NULL
85#endif
86
90typedef enum dwTrivialDataType {
91
94
96 DW_TYPE_BOOL = 1 << 1,
97
99 DW_TYPE_INT8 = 1 << 2,
106
115
122
124 DW_TYPE_CHAR8 = 1 << 13,
126
130
133typedef enum dwPrecision {
143
148typedef enum dwGPUDeviceType {
152
155typedef enum dwProcessorType {
166
169typedef enum dwProcessType {
173
176typedef enum dwMemoryType {
179
182
186
188typedef struct dwPolyline2f
189{
194 uint32_t pointCount;
196
198typedef struct dwPolyline2d
199{
204 uint32_t pointCount;
206
208typedef struct dwPolyline3f
209{
214 uint32_t pointCount;
216
218typedef struct dwPolyline3d
219{
224 uint32_t pointCount;
226
233typedef enum {
253
256typedef struct
257{
259 uint32_t batchsize;
261 uint32_t channels;
263 uint32_t height;
265 uint32_t width;
266} dwBlobSize;
267
269typedef enum dwValidity {
272 DW_VALIDITY_FORCE32 = 0x7FFFFFFF
274
277typedef struct dwValidityStatus
278{
282 uint8_t reserved[12];
284
300#define DEFINE_DW_VALIDITY_STATUS dwValidityStatus validityStatus
301
302#ifdef __cplusplus
303}
304#endif
306#endif // DW_CORE_TYPES_H_
NVIDIA DriveWorks API: Core BasicTypes
Defines a two-element double-precision floating-point vector.
Definition: MatrixTypes.h:57
Defines a two-element single-precision floating-point vector.
Definition: MatrixTypes.h:49
Defines a three-element double-precision floating point vector.
Definition: MatrixTypes.h:88
Defines a three-element floating-point vector.
Definition: MatrixTypes.h:79
NVIDIA DriveWorks API: Core Status Methods
#define DW_API_PUBLIC
Definition: Exports.h:54
uint32_t channels
Number of channels (c).
Definition: Types.h:261
uint32_t batchsize
Batch size (n).
Definition: Types.h:259
uint32_t pointCount
number of points.
Definition: Types.h:224
const dwVector3f * points
A point is a vertex of two connected line segments in a polyline.
Definition: Types.h:212
uint8_t reserved[12]
Reserved 12 bytes which can be extended later.
Definition: Types.h:282
uint32_t pointCount
number of points.
Definition: Types.h:194
uint32_t height
Height (h).
Definition: Types.h:263
dwValidity validity
Validity of the whole data entity.
Definition: Types.h:280
uint32_t pointCount
number of points.
Definition: Types.h:214
const dwVector2d * points
A point is a vertex of two connected line segments in a polyline.
Definition: Types.h:202
const dwVector2f * points
A point is a vertex of two connected line segments in a polyline.
Definition: Types.h:192
uint32_t pointCount
number of points.
Definition: Types.h:204
uint32_t width
Width (w).
Definition: Types.h:265
const dwVector3d * points
A point is a vertex of two connected line segments in a polyline.
Definition: Types.h:222
dwBindSlot
The slot enum used when an application wants a dw module to bind some particular input data to an int...
Definition: Types.h:233
dwProcessorType
Processor type definitions.
Definition: Types.h:155
dwMemoryType
Memory type definitions.
Definition: Types.h:176
dwGPUDeviceType
GPU device type definitions Only applicable on Drive platforms.
Definition: Types.h:148
dwValidity
Defines the validity of DW struct.
Definition: Types.h:269
dwTrivialDataType
Specifies a type indicator of the underlying trivial data type.
Definition: Types.h:90
dwPrecision
Precision type definitions.
Definition: Types.h:133
dwProcessType
Process type definitions.
Definition: Types.h:169
__half_raw dwFloat16_t
Definition: Types.h:76
DW_API_PUBLIC uint8_t dwSizeOf(dwTrivialDataType const type)
Get the size of dwTrivialDataType type.
@ DW_BIND_SLOT_11
Definition: Types.h:245
@ DW_BIND_SLOT_15
Definition: Types.h:249
@ DW_BIND_SLOT_4
Definition: Types.h:238
@ DW_BIND_SLOT_MAX_COUNT
Definition: Types.h:251
@ DW_BIND_SLOT_12
Definition: Types.h:246
@ DW_BIND_SLOT_14
Definition: Types.h:248
@ DW_BIND_SLOT_16
Definition: Types.h:250
@ DW_BIND_SLOT_6
Definition: Types.h:240
@ DW_BIND_SLOT_7
Definition: Types.h:241
@ DW_BIND_SLOT_9
Definition: Types.h:243
@ DW_BIND_SLOT_1
Definition: Types.h:235
@ DW_BIND_SLOT_13
Definition: Types.h:247
@ DW_BIND_SLOT_8
Definition: Types.h:242
@ DW_BIND_SLOT_3
Definition: Types.h:237
@ DW_BIND_SLOT_INVALID
Definition: Types.h:234
@ DW_BIND_SLOT_5
Definition: Types.h:239
@ DW_BIND_SLOT_10
Definition: Types.h:244
@ DW_BIND_SLOT_2
Definition: Types.h:236
@ DW_PROCESSOR_TYPE_NVENC_1
Definition: Types.h:163
@ DW_PROCESSOR_TYPE_NVENC_0
Definition: Types.h:162
@ DW_PROCESSOR_TYPE_GPU
Definition: Types.h:157
@ DW_PROCESSOR_TYPE_PVA_1
Definition: Types.h:161
@ DW_PROCESSOR_TYPE_PVA_0
Definition: Types.h:160
@ DW_PROCESSOR_TYPE_DLA_1
Definition: Types.h:159
@ DW_PROCESSOR_TYPE_CPU
Definition: Types.h:156
@ DW_PROCESSOR_TYPE_CUDLA
Definition: Types.h:164
@ DW_PROCESSOR_TYPE_DLA_0
Definition: Types.h:158
@ DW_MEMORY_TYPE_CPU
pageable CPU memory
Definition: Types.h:181
@ DW_MEMORY_TYPE_CUDA
CUDA memory.
Definition: Types.h:178
@ DW_MEMORY_TYPE_PINNED
pinned memory
Definition: Types.h:184
@ DW_GPU_DEVICE_DISCRETE
Definition: Types.h:149
@ DW_GPU_DEVICE_INTEGRATED
Definition: Types.h:150
@ DW_VALIDITY_FORCE32
Definition: Types.h:272
@ DW_VALIDITY_VALID
Definition: Types.h:271
@ DW_VALIDITY_INVALID
Definition: Types.h:270
@ DW_TYPE_UINT64
64-bit unsigned integer.
Definition: Types.h:114
@ DW_TYPE_CHAR8
chat8_t
Definition: Types.h:124
@ DW_TYPE_INT32
32-bit signed integer.
Definition: Types.h:103
@ DW_TYPE_UINT16
16-bit unsigned integer.
Definition: Types.h:110
@ DW_TYPE_FLOAT16
16-bit float number.
Definition: Types.h:121
@ DW_TYPE_FLOAT32
32-bit float number.
Definition: Types.h:117
@ DW_TYPE_FLOAT64
64-bit float number, i.e., double.
Definition: Types.h:119
@ DW_TYPE_UINT32
32-bit unsigned integer.
Definition: Types.h:112
@ DW_TYPE_INT8
8-bit signed integer.
Definition: Types.h:99
@ DW_TYPE_UINT8
8-bit unsigned integer.
Definition: Types.h:108
@ DW_TYPE_INT64
64-bit signed integer.
Definition: Types.h:105
@ DW_TYPE_BOOL
The underlying data type is bool.
Definition: Types.h:96
@ DW_TYPE_UNKNOWN
The type of the data is unknown.
Definition: Types.h:93
@ DW_TYPE_INT16
16-bit signed integer.
Definition: Types.h:101
@ DW_PRECISION_INT8
INT8 precision.
Definition: Types.h:135
@ DW_PRECISION_FP32
FP32 precision.
Definition: Types.h:139
@ DW_PRECISION_FP16
FP16 precision.
Definition: Types.h:137
@ DW_PRECISION_MIXED
Combination of multiple precisions.
Definition: Types.h:141
@ DW_PROCESS_TYPE_ASYNC
Definition: Types.h:170
@ DW_PROCESS_TYPE_SYNC
Definition: Types.h:171
Holds blob dimensions.
Definition: Types.h:257
Defines a double-precision 2D polyline.
Definition: Types.h:199
Defines a single-precision 2D polyline.
Definition: Types.h:189
Defines a double-precision 3D polyline.
Definition: Types.h:219
Defines a single-precision 3D polyline.
Definition: Types.h:209
A light weighted 16 Btyes status to be carried over along with each DW C struct instance that can ind...
Definition: Types.h:278
NVIDIA DriveWorks Visualization API: Exports