NVIDIA Software Communications Interface (SCI) : NvSciBuf
Allows applications to allocate and exchange buffers in memory.
Definition in file nvscibuf.h.
|
| enum | NvSciBufType {
NvSciBufType_General,
NvSciBufType_RawBuffer,
NvSciBufType_Image,
NvSciBufType_Tensor,
NvSciBufType_Array,
NvSciBufType_Pyramid,
NvSciBufType_MaxValid,
NvSciBufType_UpperBound
} |
| | Enum definitions of NvSciBuf Buffer datatype. More...
|
| |
| enum | NvSciBufAttrKey {
NvSciBufAttrKey_LowerBound = NV_SCI_BUF_GENERAL_ATTR_KEY_START,
NvSciBufGeneralAttrKey_Types,
NvSciBufGeneralAttrKey_NeedCpuAccess,
NvSciBufGeneralAttrKey_RequiredPerm,
NvSciBufGeneralAttrKey_EnableCpuCache,
NvSciBufGeneralAttrKey_GpuId,
NvSciBufGeneralAttrKey_CpuNeedSwCacheCoherency,
NvSciBufGeneralAttrKey_ActualPerm,
NvSciBufRawBufferAttrKey_Size = NV_SCI_BUF_RAW_BUF_ATTR_KEY_START,
NvSciBufRawBufferAttrKey_Align,
NvSciBufImageAttrKey_Layout = NV_SCI_BUF_IMAGE_ATTR_KEY_START,
NvSciBufImageAttrKey_TopPadding,
NvSciBufImageAttrKey_BottomPadding,
NvSciBufImageAttrKey_LeftPadding,
NvSciBufImageAttrKey_RightPadding,
NvSciBufImageAttrKey_VprFlag,
NvSciBufImageAttrKey_Size,
NvSciBufImageAttrKey_Alignment,
NvSciBufImageAttrKey_PlaneCount,
NvSciBufImageAttrKey_PlaneColorFormat,
NvSciBufImageAttrKey_PlaneColorStd,
NvSciBufImageAttrKey_PlaneBaseAddrAlign,
NvSciBufImageAttrKey_PlaneWidth,
NvSciBufImageAttrKey_PlaneHeight,
NvSciBufImageAttrKey_PlaneScanType,
NvSciBufImageAttrKey_ScanType = NvSciBufImageAttrKey_PlaneScanType,
NvSciBufImageAttrKey_PlaneBitsPerPixel,
NvSciBufImageAttrKey_PlaneOffset,
NvSciBufImageAttrKey_PlaneDatatype,
NvSciBufImageAttrKey_PlaneChannelCount,
NvSciBufImageAttrKey_PlaneSecondFieldOffset,
NvSciBufImageAttrKey_PlanePitch,
NvSciBufImageAttrKey_PlaneAlignedHeight,
NvSciBufImageAttrKey_PlaneAlignedSize,
NvSciBufTensorAttrKey_DataType = NV_SCI_BUF_TENSOR_ATTR_KEY_START,
NvSciBufTensorAttrKey_NumDims,
NvSciBufTensorAttrKey_SizePerDim,
NvSciBufTensorAttrKey_AlignmentPerDim,
NvSciBufTensorAttrKey_StridesPerDim,
NvSciBufArrayAttrKey_DataType = NV_SCI_BUF_ARRAY_ATTR_KEY_START,
NvSciBufArrayAttrKey_Stride,
NvSciBufArrayAttrKey_Capacity,
NvSciBufArrayAttrKey_Size,
NvSciBufArrayAttrKey_Alignment,
NvSciBufPyramidAttrKey_NumLevels = NV_SCI_BUF_PYRAMID_ATTR_KEY_START,
NvSciBufPyramidAttrKey_Scale,
NvSciBufPyramidAttrKey_LevelOffset,
NvSciBufPyramidAttrKey_LevelSize,
NvSciBufAttrKey_UpperBound
} |
| | Describes the public attribute keys. More...
|
| |
| enum | NvSciBufAttrValAccessPerm {
NvSciBufAccessPerm_Readonly,
NvSciBufAccessPerm_ReadWrite,
NvSciBufAccessPerm_Invalid
} |
| | Defines access permissions for NvSciBuf. More...
|
| |
| enum | NvSciBufAttrValImageLayoutType {
NvSciBufImage_BlockLinearType,
NvSciBufImage_PitchLinearType
} |
| | Defines the image layout type for NvSciBuf. More...
|
| |
| enum | NvSciBufAttrValImageScanType {
NvSciBufScan_ProgressiveType,
NvSciBufScan_InterlaceType
} |
| | Defines the image scan type for NvSciBuf. More...
|
| |
| enum | NvSciBufAttrValColorFmt {
NvSciColor_LowerBound,
NvSciColor_Bayer8RGGB,
NvSciColor_Bayer8CCCC,
NvSciColor_Bayer8BGGR,
NvSciColor_Bayer8GBRG,
NvSciColor_Bayer8GRBG,
NvSciColor_Bayer16BGGR,
NvSciColor_Bayer16CCCC,
NvSciColor_Bayer16GBRG,
NvSciColor_Bayer16GRBG,
NvSciColor_Bayer16RGGB,
NvSciColor_X2Bayer14GBRG,
NvSciColor_X4Bayer12GBRG,
NvSciColor_X6Bayer10GBRG,
NvSciColor_X2Bayer14GRBG,
NvSciColor_X4Bayer12GRBG,
NvSciColor_X6Bayer10GRBG,
NvSciColor_X2Bayer14BGGR,
NvSciColor_X4Bayer12BGGR,
NvSciColor_X6Bayer10BGGR,
NvSciColor_X2Bayer14RGGB,
NvSciColor_X4Bayer12RGGB,
NvSciColor_X6Bayer10RGGB,
NvSciColor_X2Bayer14CCCC,
NvSciColor_X4Bayer12CCCC,
NvSciColor_X6Bayer10CCCC,
NvSciColor_Signed_X2Bayer14CCCC,
NvSciColor_Signed_X4Bayer12CCCC,
NvSciColor_Signed_X6Bayer10CCCC,
NvSciColor_Signed_Bayer16CCCC,
NvSciColor_FloatISP_Bayer16CCCC,
NvSciColor_FloatISP_Bayer16RGGB,
NvSciColor_FloatISP_Bayer16BGGR,
NvSciColor_FloatISP_Bayer16GRBG,
NvSciColor_FloatISP_Bayer16GBRG,
NvSciColor_X12Bayer20CCCC,
NvSciColor_X12Bayer20BGGR,
NvSciColor_X12Bayer20RGGB,
NvSciColor_X12Bayer20GRBG,
NvSciColor_X12Bayer20GBRG,
NvSciColor_Signed_X12Bayer20CCCC,
NvSciColor_Signed_X12Bayer20GBRG,
NvSciColor_U8V8,
NvSciColor_U8_V8,
NvSciColor_V8U8,
NvSciColor_V8_U8,
NvSciColor_U10V10,
NvSciColor_V10U10,
NvSciColor_U12V12,
NvSciColor_V12U12,
NvSciColor_U16V16,
NvSciColor_V16U16,
NvSciColor_Y8,
NvSciColor_Y10,
NvSciColor_Y12,
NvSciColor_Y16,
NvSciColor_U8,
NvSciColor_V8,
NvSciColor_U10,
NvSciColor_V10,
NvSciColor_U12,
NvSciColor_V12,
NvSciColor_U16,
NvSciColor_V16,
NvSciColor_A8Y8U8V8,
NvSciColor_Y8U8Y8V8,
NvSciColor_Y8V8Y8U8,
NvSciColor_U8Y8V8Y8,
NvSciColor_V8Y8U8Y8,
NvSciColor_A16Y16U16V16,
NvSciColor_A8,
NvSciColor_Signed_A8,
NvSciColor_B8G8R8A8,
NvSciColor_A8R8G8B8,
NvSciColor_A8B8G8R8,
NvSciColor_A2R10G10B10,
NvSciColor_A16,
NvSciColor_Signed_A16,
NvSciColor_Signed_R16G16,
NvSciColor_A16B16G16R16,
NvSciColor_Signed_A16B16G16R16,
NvSciColor_Float_A16B16G16R16,
NvSciColor_A32,
NvSciColor_Signed_A32,
NvSciColor_UpperBound
} |
| | Defines the image color formats for NvSciBuf. More...
|
| |
| enum | NvSciBufAttrValColorStd {
NvSciColorStd_SRGB,
NvSciColorStd_REC601_SR,
NvSciColorStd_REC601_ER,
NvSciColorStd_REC709_SR,
NvSciColorStd_REC709_ER,
NvSciColorStd_REC2020_RGB,
NvSciColorStd_REC2020_SR,
NvSciColorStd_REC2020_ER,
NvSciColorStd_YcCbcCrc_SR,
NvSciColorStd_YcCbcCrc_ER,
NvSciColorStd_SENSOR_RGBA,
NvSciColorStd_REQ2020PQ_ER
} |
| | Defines the image color standard for NvSciBuf. More...
|
| |
| enum | NvSciBufAttrValDataType {
NvSciDataType_Int4,
NvSciDataType_Uint4,
NvSciDataType_Int8,
NvSciDataType_Uint8,
NvSciDataType_Int16,
NvSciDataType_Uint16,
NvSciDataType_Int32,
NvSciDataType_Uint32,
NvSciDataType_Float16,
NvSciDataType_Float32,
NvSciDataType_FloatISP,
NvSciDataType_Bool,
NvSciDataType_UpperBound
} |
| | Defines various numeric datatypes for NvSciBuf. More...
|
| |
|
| NvSciError | NvSciBufAttrListCreate (NvSciBufModule module, NvSciBufAttrList *newAttrList) |
| | Creates an attribute list holding the attributes of the NvSciBufObj to be allocated. More...
|
| |
| void | NvSciBufAttrListFree (NvSciBufAttrList attrList) |
| | Frees the memory of an attribute list. More...
|
| |
| NvSciError | NvSciBufAttrListSetAttrs (NvSciBufAttrList attrList, NvSciBufAttrKeyValuePair *pairArray, size_t pairCount) |
| | Sets the attribute values in the attribute list. More...
|
| |
| size_t | NvSciBufAttrListGetSlotCount (NvSciBufAttrList attrList) |
| | Returns the slot count per key in an attribute list. More...
|
| |
| NvSciError | NvSciBufAttrListGetAttrs (NvSciBufAttrList attrList, NvSciBufAttrKeyValuePair *pairArray, size_t pairCount) |
| | Returns an array of attribute key/value pairs for a given set of keys. More...
|
| |
| NvSciError | NvSciBufAttrListSlotGetAttrs (NvSciBufAttrList attrList, size_t slotIndex, NvSciBufAttrKeyValuePair *pairArray, size_t pairCount) |
| | Returns an array of attribute key/value pairs from a multi-slot unreconciled attribute list at the given slot index. More...
|
| |
| NvSciError | NvSciBufAttrListDebugDump (NvSciBufAttrList attrList, void **buf, size_t *len) |
| | Allocates a buffer and then dumps the contents of the specified attribute list into the buffer. More...
|
| |
| NvSciError | NvSciBufAttrListReconcile (NvSciBufAttrList inputArray[], size_t inputCount, NvSciBufAttrList *newReconciledAttrList, NvSciBufAttrList *newConflictList) |
| | Reconciles the given unreconciled attribute list(s) into a new reconciled attribute list. More...
|
| |
| NvSciError | NvSciBufAttrListClone (NvSciBufAttrList origAttrList, NvSciBufAttrList *newAttrList) |
| | Clones an unreconciled/reconciled attribute list. More...
|
| |
| NvSciError | NvSciBufAttrListAppendUnreconciled (const NvSciBufAttrList inputUnreconciledAttrListArray[], size_t inputUnreconciledAttrListCount, NvSciBufAttrList *newUnreconciledAttrList) |
| | Append multiple unreconciled attribute lists together, forming a single new unreconciled attribute list with a slot count equal to the sum of all the slot counts in the input list. More...
|
| |
| NvSciError | NvSciBufAttrListIsReconciled (NvSciBufAttrList attrList, bool *isReconciled) |
| | Checks if an attribute list is reconciled. More...
|
| |
| NvSciError | NvSciBufAttrListValidateReconciled (NvSciBufAttrList reconciledAttrList, const NvSciBufAttrList unreconciledAttrListArray[], size_t unreconciledAttrListCount, bool *isReconcileListValid) |
| | Validates a reconciled attribute list against a set of unreconciled attribute lists. More...
|
| |
| NvSciError | NvSciBufObjDup (NvSciBufObj bufObj, NvSciBufObj *dupObj) |
| | Clones a NvSciBuf object. More...
|
| |
| NvSciError | NvSciBufAttrListReconcileAndObjAlloc (NvSciBufAttrList attrListArray[], size_t attrListCount, NvSciBufObj *bufObj, NvSciBufAttrList *newConflictList) |
| | Reconcile the input unreconciled attribute list(s) into a new reconciled attribute list and allocate NvSciBuf object that meets all the constraints in the new reconciled attribute list. More...
|
| |
| void | NvSciBufObjFree (NvSciBufObj bufObj) |
| | Destroys the NvSciBuf object, which frees any memory allocated for it. More...
|
| |
| NvSciError | NvSciBufObjGetAttrList (NvSciBufObj bufObj, NvSciBufAttrList *bufAttrList) |
| | Retrieves the attribute list from an NvSciBuf object. More...
|
| |
| NvSciError | NvSciBufObjGetCpuPtr (NvSciBufObj bufObj, void **ptr) |
| | Gets the CPU virtual address (VA) of the NvSciBufObj. More...
|
| |
| NvSciError | NvSciBufObjGetConstCpuPtr (NvSciBufObj bufObj, const void **ptr) |
| | Gets the CPU virtual address (VA) of the NvSciBufObj. More...
|
| |
| NvSciError | NvSciBufObjFlushCpuCacheRange (NvSciBufObj bufObj, uint64_t offset, uint64_t len) |
| | Flushes the given len bytes at starting offset offset in NvSciBufObj from all CPU-managed caches. More...
|
| |
| NvSciError | NvSciBufObjAlloc (NvSciBufAttrList reconciledAttrList, NvSciBufObj *bufObj) |
| | Allocates an NvSciBuf object that meets all the constraints in the specified reconciled attribute list. More...
|
| |
| NvSciError | NvSciBufIpcExportAttrListAndObj (NvSciBufObj bufObj, NvSciBufAttrValAccessPerm permissions, NvSciIpcEndpoint ipcEndpoint, void **attrListAndObjDesc, size_t *attrListAndObjDescSize) |
| | Exports an NvSciBuf attribute list and object into an NvSciIpc-transferable object binary descriptor. More...
|
| |
| NvSciError | NvSciBufIpcImportAttrListAndObj (NvSciBufModule module, NvSciIpcEndpoint ipcEndpoint, const void *attrListAndObjDesc, size_t attrListAndObjDescSize, const NvSciBufAttrList attrList[], size_t count, NvSciBufAttrValAccessPerm minPermissions, int64_t timeoutUs, NvSciBufObj *bufObj) |
| | This API is invoked by importing process after it receives the binary blob sent by the other process who has created the binary descriptor. More...
|
| |
| void | NvSciiBufAttrListAndObjFreeDesc (void *attrListAndObjDescBuf) |
| | Frees the descriptor used for exporting/importing both attrlist and NvSciBuf Object together. More...
|
| |
| NvSciError | NvSciBufObjIpcExport (NvSciBufObj bufObj, NvSciBufAttrValAccessPerm accPerm, NvSciIpcEndpoint ipcEndPoint, NvSciBufObjIpcExportDescriptor *exportData) |
| | Exports a NvSciBuf object into an NvSciIpc-transferable object binary descriptor. More...
|
| |
| NvSciError | NvSciBufObjIpcImport (NvSciIpcEndpoint ipcEndPoint, const NvSciBufObjIpcExportDescriptor *desc, NvSciBufAttrList reconciledAttrList, NvSciBufAttrValAccessPerm minPermissions, int64_t timeoutUs, NvSciBufObj *bufObj) |
| | Creates a NvSciBuf object based on supplied binary descriptor and returns the NvSciBuf object. More...
|
| |
| NvSciError | NvSciBufAttrListIpcExportUnreconciled (NvSciBufAttrList unreconciledAttrListArray[], size_t unreconciledAttrListCount, NvSciIpcEndpoint ipcEndpoint, void **descBuf, size_t *descLen) |
| | Transforms the input attribute list(s) to an exported attribute list descriptor that can be transported by the application to any remote process as serialized set of bytes over an IPC/IVC/nvIPC channel. More...
|
| |
| NvSciError | NvSciBufAttrListIpcExportReconciled (NvSciBufAttrList reconciledAttrList, NvSciIpcEndpoint ipcEndpoint, void **descBuf, size_t *descLen) |
| | Transforms the input attribute list(s) to an exported attribute list descriptor that can be transported by the application to any remote process as serialized set of bytes over an IPC/IVC/nvIPC channel. More...
|
| |
| NvSciError | NvSciBufAttrListIpcImportUnreconciled (NvSciBufModule module, NvSciIpcEndpoint ipcEndpoint, const void *descBuf, size_t descLen, NvSciBufAttrList *importedUnreconciledAttrList) |
| | Retrieves the attribute list from the attribute descriptor received over IPC channel. More...
|
| |
| NvSciError | NvSciBufAttrListIpcImportReconciled (NvSciBufModule module, NvSciIpcEndpoint ipcEndpoint, const void *descBuf, size_t descLen, NvSciBufAttrList inputUnreconciledAttrListArray[], size_t inputUnreconciledAttrListCount, NvSciBufAttrList *importedReconciledAttrList) |
| | Retrieves the attribute list from the attribute descriptor received over IPC channel. More...
|
| |
| void | NvSciBufAttrListFreeDesc (void *descBuf) |
| | Frees the NvSciBuf exported attribute list descriptor. More...
|
| |
| NvSciError | NvSciBufModuleOpen (NvSciBufModule *newModule) |
| | Initializes an instance of the NvSciBuf module within the calling process and provides an NvSciBufModule representing the instance. More...
|
| |
| void | NvSciBufModuleClose (NvSciBufModule module) |
| | Releases an instance of the NvSciBuf module obtained through an earlier call to NvSciBufModuleOpen(). More...
|
| |