DriveWorks SDK Reference
5.10.90 Release
For Test and Development only

Core Types

Detailed Description

Defines of POD types, timestamps, and trivial data types.

Data Structures

struct  dwBlobSize
 Holds blob dimensions. More...
 
struct  dwPolyline2d
 Defines a double-precision 2D polyline. More...
 
struct  dwPolyline2f
 Defines a single-precision 2D polyline. More...
 
struct  dwPolyline3d
 Defines a double-precision 3D polyline. More...
 
struct  dwPolyline3f
 Defines a single-precision 3D polyline. More...
 
struct  dwValidityStatus
 A light weighted 16 Btyes status to be carried over along with each DW C struct instance that can indicate the data validity status. More...
 

Macros

#define DEFINE_DW_VALIDITY_STATUS   dwValidityStatus validityStatus
 Macro to place validity status in DW C struct with standardized name such that we have a unified way to represent data validity. More...
 
#define DW_NO_CALLBACK   NULL
 
#define DW_NULL_HANDLE   NULL
 

Typedefs

typedef __half_raw dwFloat16_t
 

Enumerations

enum  dwBindSlot {
  DW_BIND_SLOT_INVALID = 0 ,
  DW_BIND_SLOT_1 ,
  DW_BIND_SLOT_2 ,
  DW_BIND_SLOT_3 ,
  DW_BIND_SLOT_4 ,
  DW_BIND_SLOT_5 ,
  DW_BIND_SLOT_6 ,
  DW_BIND_SLOT_7 ,
  DW_BIND_SLOT_8 ,
  DW_BIND_SLOT_9 ,
  DW_BIND_SLOT_10 ,
  DW_BIND_SLOT_11 ,
  DW_BIND_SLOT_12 ,
  DW_BIND_SLOT_13 ,
  DW_BIND_SLOT_14 ,
  DW_BIND_SLOT_15 ,
  DW_BIND_SLOT_16 ,
  DW_BIND_SLOT_MAX_COUNT
}
 The slot enum used when an application wants a dw module to bind some particular input data to an internal slot for future processing and unbinding. More...
 
enum  dwGPUDeviceType {
  DW_GPU_DEVICE_DISCRETE = 0 ,
  DW_GPU_DEVICE_INTEGRATED = 1
}
 GPU device type definitions Only applicable on Drive platforms. More...
 
enum  dwMemoryType {
  DW_MEMORY_TYPE_CUDA = 0 ,
  DW_MEMORY_TYPE_CPU = 1 ,
  DW_MEMORY_TYPE_PINNED = 2
}
 Memory type definitions. More...
 
enum  dwPrecision {
  DW_PRECISION_INT8 = 0 ,
  DW_PRECISION_FP16 = 1 ,
  DW_PRECISION_FP32 = 2 ,
  DW_PRECISION_MIXED = 3
}
 Precision type definitions. More...
 
enum  dwProcessorType {
  DW_PROCESSOR_TYPE_CPU = 0 ,
  DW_PROCESSOR_TYPE_GPU = 1 ,
  DW_PROCESSOR_TYPE_DLA_0 = 2 ,
  DW_PROCESSOR_TYPE_DLA_1 = 3 ,
  DW_PROCESSOR_TYPE_PVA_0 = 4 ,
  DW_PROCESSOR_TYPE_PVA_1 = 5 ,
  DW_PROCESSOR_TYPE_NVENC_0 = 6 ,
  DW_PROCESSOR_TYPE_NVENC_1 = 7 ,
  DW_PROCESSOR_TYPE_CUDLA = 8
}
 Processor type definitions. More...
 
enum  dwProcessType {
  DW_PROCESS_TYPE_ASYNC = 0 ,
  DW_PROCESS_TYPE_SYNC = 1
}
 Process type definitions. More...
 
enum  dwTrivialDataType {
  DW_TYPE_UNKNOWN = 0 ,
  DW_TYPE_BOOL = 1 << 1 ,
  DW_TYPE_INT8 = 1 << 2 ,
  DW_TYPE_INT16 = 1 << 3 ,
  DW_TYPE_INT32 = 1 << 4 ,
  DW_TYPE_INT64 = 1 << 5 ,
  DW_TYPE_UINT8 = 1 << 6 ,
  DW_TYPE_UINT16 = 1 << 7 ,
  DW_TYPE_UINT32 = 1 << 8 ,
  DW_TYPE_UINT64 = 1 << 9 ,
  DW_TYPE_FLOAT32 = 1 << 10 ,
  DW_TYPE_FLOAT64 = 1 << 11 ,
  DW_TYPE_FLOAT16 = 1 << 12 ,
  DW_TYPE_CHAR8 = 1 << 13
}
 Specifies a type indicator of the underlying trivial data type. More...
 
enum  dwValidity {
  DW_VALIDITY_INVALID = 0 ,
  DW_VALIDITY_VALID = 1 ,
  DW_VALIDITY_FORCE32 = 0x7FFFFFFF
}
 Defines the validity of DW struct. More...
 

Functions

DW_API_PUBLIC uint8_t dwSizeOf (dwTrivialDataType const type)
 Get the size of dwTrivialDataType type. More...
 

Data Structure Documentation

◆ dwBlobSize

struct dwBlobSize
Data Fields
uint32_t batchsize Batch size (n).
uint32_t channels Number of channels (c).
uint32_t height Height (h).
uint32_t width Width (w).

◆ dwPolyline2d

struct dwPolyline2d
Data Fields
uint32_t pointCount number of points.
const dwVector2d * points A point is a vertex of two connected line segments in a polyline.

Points point to the first point in the container.

◆ dwPolyline2f

struct dwPolyline2f
Data Fields
uint32_t pointCount number of points.
const dwVector2f * points A point is a vertex of two connected line segments in a polyline.

Points point to the first point in the container.

◆ dwPolyline3d

struct dwPolyline3d
Data Fields
uint32_t pointCount number of points.
const dwVector3d * points A point is a vertex of two connected line segments in a polyline.

Points point to the first point in the container.

◆ dwPolyline3f

struct dwPolyline3f
Data Fields
uint32_t pointCount number of points.
const dwVector3f * points A point is a vertex of two connected line segments in a polyline.

Points point to the first point in the container.

◆ dwValidityStatus

struct dwValidityStatus
Data Fields
uint8_t reserved[12] Reserved 12 bytes which can be extended later.
dwValidity validity Validity of the whole data entity.

Macro Definition Documentation

◆ DEFINE_DW_VALIDITY_STATUS

#define DEFINE_DW_VALIDITY_STATUS   dwValidityStatus validityStatus

Macro to place validity status in DW C struct with standardized name such that we have a unified way to represent data validity.

For example, with an extra line of DEFINE_DW_VALIDITY_STATUS, the validity status is included into the DW C struct and ready to be consumed.

typedef dwFoo { uint32_t x; float32_t y; char8_t z[64];

DEFINE_DW_VALIDITY_STATUS; } dwFoo;

Definition at line 300 of file Types.h.

◆ DW_NO_CALLBACK

#define DW_NO_CALLBACK   NULL

Definition at line 84 of file Types.h.

◆ DW_NULL_HANDLE

#define DW_NULL_HANDLE   NULL

Definition at line 83 of file Types.h.

Typedef Documentation

◆ dwFloat16_t

typedef __half_raw dwFloat16_t

Definition at line 76 of file Types.h.

Enumeration Type Documentation

◆ dwBindSlot

enum dwBindSlot

The slot enum used when an application wants a dw module to bind some particular input data to an internal slot for future processing and unbinding.

Particularly the module expects an array of instances of such data structure hence maintaining an internal container for them. For example, dwObjectArray instances inputting to dwObjectInPathAnalyzer module

Enumerator
DW_BIND_SLOT_INVALID 
DW_BIND_SLOT_1 
DW_BIND_SLOT_2 
DW_BIND_SLOT_3 
DW_BIND_SLOT_4 
DW_BIND_SLOT_5 
DW_BIND_SLOT_6 
DW_BIND_SLOT_7 
DW_BIND_SLOT_8 
DW_BIND_SLOT_9 
DW_BIND_SLOT_10 
DW_BIND_SLOT_11 
DW_BIND_SLOT_12 
DW_BIND_SLOT_13 
DW_BIND_SLOT_14 
DW_BIND_SLOT_15 
DW_BIND_SLOT_16 
DW_BIND_SLOT_MAX_COUNT 

Definition at line 233 of file Types.h.

◆ dwGPUDeviceType

GPU device type definitions Only applicable on Drive platforms.

On x86 platforms, the GPU is considered to be of discrete type always.

Enumerator
DW_GPU_DEVICE_DISCRETE 
DW_GPU_DEVICE_INTEGRATED 

Definition at line 148 of file Types.h.

◆ dwMemoryType

Memory type definitions.

Enumerator
DW_MEMORY_TYPE_CUDA 

CUDA memory.

DW_MEMORY_TYPE_CPU 

pageable CPU memory

DW_MEMORY_TYPE_PINNED 

pinned memory

Definition at line 176 of file Types.h.

◆ dwPrecision

Precision type definitions.

Enumerator
DW_PRECISION_INT8 

INT8 precision.

DW_PRECISION_FP16 

FP16 precision.

DW_PRECISION_FP32 

FP32 precision.

DW_PRECISION_MIXED 

Combination of multiple precisions.

Definition at line 133 of file Types.h.

◆ dwProcessorType

Processor type definitions.

Enumerator
DW_PROCESSOR_TYPE_CPU 
DW_PROCESSOR_TYPE_GPU 
DW_PROCESSOR_TYPE_DLA_0 
DW_PROCESSOR_TYPE_DLA_1 
DW_PROCESSOR_TYPE_PVA_0 
DW_PROCESSOR_TYPE_PVA_1 
DW_PROCESSOR_TYPE_NVENC_0 
DW_PROCESSOR_TYPE_NVENC_1 
DW_PROCESSOR_TYPE_CUDLA 

Definition at line 155 of file Types.h.

◆ dwProcessType

Process type definitions.

Enumerator
DW_PROCESS_TYPE_ASYNC 
DW_PROCESS_TYPE_SYNC 

Definition at line 169 of file Types.h.

◆ dwTrivialDataType

Specifies a type indicator of the underlying trivial data type.

Enumerator
DW_TYPE_UNKNOWN 

The type of the data is unknown.

DW_TYPE_BOOL 

The underlying data type is bool.

DW_TYPE_INT8 

8-bit signed integer.

DW_TYPE_INT16 

16-bit signed integer.

DW_TYPE_INT32 

32-bit signed integer.

DW_TYPE_INT64 

64-bit signed integer.

DW_TYPE_UINT8 

8-bit unsigned integer.

DW_TYPE_UINT16 

16-bit unsigned integer.

DW_TYPE_UINT32 

32-bit unsigned integer.

DW_TYPE_UINT64 

64-bit unsigned integer.

DW_TYPE_FLOAT32 

32-bit float number.

DW_TYPE_FLOAT64 

64-bit float number, i.e., double.

DW_TYPE_FLOAT16 

16-bit float number.

DW_TYPE_CHAR8 

chat8_t

Definition at line 90 of file Types.h.

◆ dwValidity

enum dwValidity

Defines the validity of DW struct.

Enumerator
DW_VALIDITY_INVALID 
DW_VALIDITY_VALID 
DW_VALIDITY_FORCE32 

Definition at line 269 of file Types.h.

Function Documentation

◆ dwSizeOf()

DW_API_PUBLIC uint8_t dwSizeOf ( dwTrivialDataType const  type)

Get the size of dwTrivialDataType type.