|
NVIDIA DRIVE OS Linux SDK API Reference
|
5.2.0 Release For Test and Development only
|
Go to the documentation of this file.
16 #ifndef NVMEDIA_TENSOR_H
17 #define NVMEDIA_TENSOR_H
45 #define NVMEDIA_TENSOR_VERSION_MAJOR (1u)
47 #define NVMEDIA_TENSOR_VERSION_MINOR (12u)
50 #define NVMTENSOR_4D_MAX_N (65536u)
52 #define NVMTENSOR_4D_MAX_C (8192u)
54 #define NVMTENSOR_4D_MAX_H (8192u)
56 #define NVMTENSOR_4D_MAX_W (8192u)
58 #define NVMTENSOR_4D_MAX_X (1024u)
65 #define NVMEDIA_TENSOR_TIMEOUT_INFINITE (0xFFFFFFFFu)
119 #define NVM_TENSOR_ATTR_CPU_ACCESS_UNCACHED (0x00000001u)
125 #define NVM_TENSOR_ATTR_CPU_ACCESS_CACHED (0x00000002u)
130 #define NVM_TENSOR_ATTR_CPU_ACCESS_UNMAPPED (0x00000003u)
136 #define NVM_TENSOR_ATTR_ALLOC_RESERVED (0x00000010u)
140 #define NVM_TENSOR_ATTR_ALLOC_NONE (0x00000000u)
156 #define NVM_TENSOR_INIT_ATTR(x) \
158 x[0].type = NVM_TENSOR_ATTR_DATA_TYPE; \
161 x[1].type = NVM_TENSOR_ATTR_4D_N; \
164 x[2].type = NVM_TENSOR_ATTR_4D_C; \
167 x[3].type = NVM_TENSOR_ATTR_4D_H; \
170 x[4].type = NVM_TENSOR_ATTR_4D_W; \
173 x[5].type = NVM_TENSOR_ATTR_4D_X; \
176 x[6].type = NVM_TENSOR_ATTR_BITS_PER_ELEMENT; \
179 x[7].type = NVM_TENSOR_ATTR_DIMENSION_ORDER; \
182 x[8].type = NVM_TENSOR_ATTR_CPU_ACCESS; \
185 x[9].type = NVM_TENSOR_ATTR_ALLOC_TYPE; \
192 #define NVM_TENSOR_DEFINE_ATTR(x) \
193 NvMediaTensorAttr x[NVM_TENSOR_ATTR_MAX]; \
194 NVM_TENSOR_INIT_ATTR(x); \
218 #define NVM_TENSOR_SET_ATTR_4D(attr, N, C, H, W, order, datatype, bpe, accesstype, alloctype, X)\
220 attr[0].type = NVM_TENSOR_ATTR_DATA_TYPE; \
221 attr[0].value = NVM_TENSOR_ATTR_DATA_TYPE_##datatype; \
223 attr[1].type = NVM_TENSOR_ATTR_4D_N; \
226 attr[2].type = NVM_TENSOR_ATTR_4D_C; \
229 attr[3].type = NVM_TENSOR_ATTR_4D_H; \
232 attr[4].type = NVM_TENSOR_ATTR_4D_W; \
235 attr[5].type = NVM_TENSOR_ATTR_4D_X; \
238 attr[6].type = NVM_TENSOR_ATTR_BITS_PER_ELEMENT; \
239 attr[6].value = NVM_TENSOR_ATTR_BITS_PER_ELEMENT_##bpe; \
241 attr[7].type = NVM_TENSOR_ATTR_DIMENSION_ORDER; \
242 attr[7].value = NVM_TENSOR_ATTR_DIMENSION_ORDER_##order; \
244 attr[8].type = NVM_TENSOR_ATTR_CPU_ACCESS; \
245 attr[8].value = NVM_TENSOR_ATTR_CPU_ACCESS_##accesstype; \
247 attr[9].type = NVM_TENSOR_ATTR_ALLOC_TYPE; \
248 attr[9].value = NVM_TENSOR_ATTR_ALLOC_##alloctype; \
348 uint32_t millisecondWait,
@ NVMEDIA_TENSOR_ACCESS_WRITE
Write access.
NvMediaTensorLockAccess
Defines tensor lock access types.
NvMediaStatus NvMediaTensorLock(NvMediaTensor *tensor, NvMediaTensorLockAccess lockAccessType, NvMediaTensorSurfaceMap *surfaceMap)
Locks a tensor and returns the associated mapped pointers pointing to the tensor surface data.
@ NVMEDIA_TENSOR_ACCESS_READ
Read access.
NvMediaStatus
Defines all possible error codes.
@ NVMEDIA_TENSOR_ACCESS_READ_WRITE
Read/Write access.
void NvMediaTensorUnlock(NvMediaTensor *tensor)
Unlocks a tensor.