DriveWorks SDK Reference
5.14.77 Release
For Test and Development only

(Extra) Core Types

Detailed Description

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

Data Structures

struct  dwBlobSize
 Holds blob dimensions. More...
 
struct  dwOptionalb
 Optional values that are only defined if the 'valid' flag is true, and undefined otherwise. More...
 
struct  dwOptionalf
 Optional values that are only defined if the 'valid' flag is true, and undefined otherwise. 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...
 

Enumerations

enum  dwBindSlot {
  DW_BIND_SLOT_INVALID = 0 ,
  DW_BIND_SLOT_1 = 1 ,
  DW_BIND_SLOT_2 = 2 ,
  DW_BIND_SLOT_3 = 3 ,
  DW_BIND_SLOT_4 = 4 ,
  DW_BIND_SLOT_5 = 5 ,
  DW_BIND_SLOT_6 = 6 ,
  DW_BIND_SLOT_7 = 7 ,
  DW_BIND_SLOT_8 = 8 ,
  DW_BIND_SLOT_9 = 9 ,
  DW_BIND_SLOT_10 = 10 ,
  DW_BIND_SLOT_11 = 11 ,
  DW_BIND_SLOT_12 = 12 ,
  DW_BIND_SLOT_13 = 13 ,
  DW_BIND_SLOT_14 = 14 ,
  DW_BIND_SLOT_15 = 15 ,
  DW_BIND_SLOT_16 = 16 ,
  DW_BIND_SLOT_MAX_COUNT = 17
}
 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 ,
  DW_PROCESSOR_TYPE_VULKAN = 9
}
 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...
 

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).

◆ dwOptionalb

struct dwOptionalb
Data Fields
bool valid flag indicating whether the value is defined or not (following value to keep struct aligned with value alignment requirements)
bool value optional value, defined if 'valid' is true and undefined if 'valid' is false

◆ dwOptionalf

struct dwOptionalf
Data Fields
bool valid flag indicating whether the value is defined or not (following value to keep struct aligned with value alignment requirements)
float32_t value optional value, defined if 'valid' is true and undefined if 'valid' is false

◆ 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.

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 163 of file TypesExtra.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 120 of file TypesExtra.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 146 of file TypesExtra.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 103 of file TypesExtra.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 
DW_PROCESSOR_TYPE_VULKAN 

Definition at line 126 of file TypesExtra.h.

◆ dwProcessType

Process type definitions.

Enumerator
DW_PROCESS_TYPE_ASYNC 
DW_PROCESS_TYPE_SYNC 

Definition at line 140 of file TypesExtra.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 58 of file TypesExtra.h.

◆ dwValidity

enum dwValidity

Defines the validity of DW struct.

Enumerator
DW_VALIDITY_INVALID 
DW_VALIDITY_VALID 
DW_VALIDITY_FORCE32 

Definition at line 185 of file TypesExtra.h.