NVIDIA DRIVE OS 5.1 Linux SDK Developer Guide 5.1.15.0 Release |
Module | Change Description |
NvMedia DLA (nvmedia_dla.h) | The following APIs were removed: • NvMediaDlaLoadFromMemory(NvMediaDla const* dla, uint8_t* loadable, uint64_t loadableSize, uint16_t dlaId, uint32_t numOutstandingRequests) • NvMediaDlaSubmitTimeout(NvMediaDla const* dla, const NvMediaDlaArgs* inputArgs, NvMediaDlaArgs* outputArgs, uint32_t taskTimeout) • NvMediaDlaGetMaxOutstandingRequests( NvMediaDla const* dla, uint32_t* maxOutstandingRequests) |
NvMedia ICP (nvmedia_icp.h) | NvMediaICPReleaseImageGroup() is removed in the safety build and deprecated in the non-safety build. Use NvMediaICPGetImageGroup() instead to achieve the same functionality. For example: retryCount = 0; do { releaseStatus = NvMediaICPGetImageGroup( icpInst, CAPTURE_GET_FRAME_TIMEOUT, &capturedImageGrp); if (releaseStatus == NVMEDIA_STATUS_NONE_PENDING) { /* All buffers have been returned. Capture is paused. */ break; } else if (capturedImageGrp == NULL) { if (++retryCount > CAPTURE_MAX_RETRY) { /* Capture engine is not responding. App needs to be stopped */ } } else { /* An Image Group has been successfully released */ retryCount = 0; } } while (1); |
Module | Change Description |
NvMedia Array (nvmedia_array.h) | • New header nvmedia_array_nvscibuf.h to support NvStreams Buffer Allocation (NvSciBuf) in array (NvMediaArray). • Use NvSciBuf for NvMediaArray allocation going forward. NvMediaArrayCreate()is deprecated. Support will be removed in a future release. |
NvMedia Common Decode (nvmedia_common_decode.h) | In struct NvMediaMasteringDisplayData, the data types of the following members are updated from uint32_t (4 bytes) to uint16_t (2 bytes): • max_display_parameter_luminance • min_display_parameter_luminance The application code is fully backward compatible, but a code recompilation is required to reflect the data type changes. |
NvMedia Core (nvmedia_core.h) | In enum NvMediaStatus, the following enumeration values have changed: • NVMEDIA_STATUS_UNDEFINED_STATE changed from 12 to 13 • NVMEDIA_STATUS_PFSD_ERROR changed from 13 to 14 These values are not backward compatible with the original values before the 5.1.6.0 release. The application code is fully backward compatible, but a code recompilation is required the reflect the enumeration value changes. |
NvMedia DLA (nvmedia_dla.h, nvmedia_dla_nvscisync.h) | • Added new APIs for Start of Frame (SOF): • NvMediaDlaGetSOFNvSciSyncFence ( NvMediaDla const* dla, NvSciSyncObj sofnvscisyncobj, struct NvSciSyncFence* sofnvscisyncfence ) • NvMediaDlaSetNvSciSyncObjforSOF ( NvMediaDla* dla, NvSciSyncObj nvscisyncSOF ) • Removed unsupported APIs: • NvMediaDlaGetNumOfScratchpads ( NvMediaDla const* dla, int32_t* numOfScratchpads ) • NvMediaDlaGetScratchpadDescriptor ( NvMediaDla const* dla, uint32_t const idx, NvMediaDlaScratchpadDescriptor* descriptor ) • NvMediaDlaGetNumOfScratchpads ( NvMediaDla const* dla, int32_t* numOfScratchpads ) • NvMediaDlaGetScratchpadDescriptor ( NvMediaDla const* dla, uint32_t const idx, NvMediaDlaScratchpadDescriptor* descriptor ) • Removed unsupported member scratchpad from struct NvMediaDlaDataPointer. • Removed unsupported enum NVMEDIA_DLA_DATA_TYPE_CVSCRATCHPAD from NvMediaDlaDataType. • Increased value of NVMEDIA_DLA_MAX_PRENVSCISYNCFENCES from 3U to 8U. |
NvMedia ICP (nvmedia_icp.h) | • Removed deprecated NvMediaICPWaitForSoF API. Use NvMediaICPGetSOFNvSciSyncFence instead. • Removed enumerated type NvMediaICPCSIErrorType. • Removed csiErrorMask, csiErrorType from NvMediaICPSettings. • Removed NVMEDIA_ICP_ERROR_STATUS_FATAL from NvMediaICPErrorStatus. • Removed NvMediaICPStop and NvMediaICPResume. |
NvMedia IEP (nvmedia_iep.h) | The following APIs are added to implement frame (NvMedia image) registration and deregistration: • NvMediaIEPImageRegister() • NvMediaIEPImageUnRegister() |
NvMedia Image Pyramid (nvmedia_image_pyramid.h) | • New header nvmedia_image_pyramid_nvscibuf.h to support NvStreams Buffer Allocation (NvSciBuf) in Image Pyramid (NvMediaImagePyramid). • Use NvSciBuf for NvMediaImagePyramid Image Pyramid allocation going forward. NvMediaImagePyramidCreate() is deprecated. Support will be removed in a future release. |
NvMedia ImgDec (nvmedia_imgdec.h) | The following API is added to implement frame (NvMedia image) deregistration: NvMediaImageDecoderUnRegisterPinnedSurfaces() |
NvMedia IOFST (nvmedia_iofst.h) | • The following APIs are added to implement frame (NvMedia image) registration and deregistration: • NvMediaIOFSTImageRegister() • NvMediaIOFSTImageUnRegister() • The following API is added to get the version: NvMediaIOFSTGetVersion() • In struct NvMediaOFSTExternalHintParams, the data type for field meExternalHints has been changed from NvMediaArray* to void*. |
NvMedia ISC (nvmedia_isc.h) | Removed the functions NvMediaISCGetVersionInfo() and NvMediaISCVersionInfo(). The function NvMediaISCGetVersion() can be used which provides similar functionality. |
NvMedia VidDec (nvmedia_viddec.h) | The following API is added to implement frame (NvMedia image) deregistration: NvMediaVideoDecoderUnRegisterPinnedSurfaces() |
NvMedia VPI (nvmedia_vpi.h) | • Deleted NvMediaVPICreateProcessStereoPairDescriptor(). Use NvMediaVPICreateStereoPreprocessDescriptor() instead. • Deleted NvMediaVPIProcessStereoPairDesc(). Use NvMediaVPIStereoPreprocessDescEx() instead. This function provides improved hint generation and exposes the confidence map. • Deleted NvMediaVPIStereoPreprocessDesc(). Use NvMediaVPIStereoPreprocessDescEx() instead. This function generates motion vector hints as a 1-D NvMediaArray instead of a 2-D NvMediaImage. • Deleted opaque non-standard array type: NvMediaVPIArrayType The following corresponding functions are deleted: NvMediaVPIArrayCreate() NvMediaVPIArrayGet2DTransform() NvMediaVPIArrayGetAABB() NvMediaVPIArrayGetBoundingBoxWithTransform() NvMediaVPIArrayGetPoint2Df() NvMediaVPIArrayGetTranslationWithScale() NvMediaVPIArrayUpdate2DTransform() NvMediaVPIArrayUpdatePoint2Df() NvMediaVPIArrayUpdateAABB() NvMediaVPIArrayUpdateBoundingBoxWithTransform() NvMediaVPIArrayUpdateTranslationWithScale() Use NvSciBuf with array type NvMediaArray to create a standard NvMedia array, and use NvMediaArrayLock() to lock the array and get a CPU-mapped pointer to it. Use direct reads and writes to access the standard array. In earlier releases, some PVA algorithms use NvMediaVPIArray, which is a non-standard array type understood only by the PVA engine. Changes introduced in this release allow the use of standard array types instead of VPI-specific array types. This change will allow for interoperability with CUDA. These changes have impact on the following algorithms: • Harris Keypoints • FAST Keypoints • KLT • SparseFlowPyrLK • Added NvStreams Synchronization (NvSciSync) support in NvMediaVPI with a new header nvmedia_vpi_nvscisync.h. |
Module | Change Description |
NvMedia 2D (nvmedia_2d.h) | • Removed certain header files previously included (by #include…). You may have to include these header files explicitly in your application program to compile it cleanly. • Removed the NVMEDIA_2D_BLIT_FLAG_RETURN_CRC symbol. The feature that this symbol refers to is non-functional on fused production boards. |
NvMedia Common (nvmedia_common.h, nvmedia_common_encode.h, nvmedia_common_decode.h, nvmedia_common_encode_decode.h) | • The encode and decode logic in nvmedia_common.h header has been moved into two new headers: • nvmedia_common_encode.h - Contains the video and image encode structures and operations. • nvmedia_common_decode.h - Contains the video and image decode structures and operations. nvmedia_common.h includes both nvmedia_common_encode.h and nvmedia_common_decode.h headers. • nvmedia_common_encode.h and nvmedia_common_decode.h both include the new nvmedia_common_encode_decode.h header which contains common types and declarations. |
NvMedia Core (nvmedia_core.h) | In enum NvMediaStatus: • Retired the NVMEDIA_STATUS_CANCELLED value. • Added the NVMEDIA_STATUS_PFSD_ERROR value. |
NvMedia IDP (nvmedia_idp.h) | Retired the following attributes from NvMediaIDPSetAttributes(): NVMEDIA_DISP_ATTR_BRIGHTNESS NVMEDIA_DISP_ATTR_CONTRAST NVMEDIA_DISP_ATTR_SATURATION NVMEDIA_DISP_ATTR_HUE NVMEDIA_DISP_ATTR_COLOR_STANDARD NVMEDIA_DISP_ATTR_LIMITED_RGB Use an alternative technique such as the VIC path instead. |
NvMedia ICP (nvmedia_icp.h) | • The following functions, which operate on NvMediaImage, are deprecated, and are replaced by function which operate on NvMediaImageGroup. • The NvMediaICPFeedFrame() function is deprecated. Use NvMediaICPFeedImageGroup() instead. • The NvMediaICPGetFrameEx() function is deprecated. Use NvMediaICPGetImageGroup() instead. • The NvMediaICPReleaseFrame() function is deprecated. Use NvMediaICPReleaseImageGroup() instead. • The following functions are added to implement frame (image group) registration and deregistration: NvMediaICPRegisterImageGroup() NvMediaICPUnRegisterImageGroup() • The following enums are added to support more detailed error notification. NvMediaICPCSIErrorType NvMediaICPErrorStatus NvMediaICPCsiInputFrameError NvMediaICPCsiInputStreamError PixelFaultError NvMediaICPFrameFaultError NvMediaICPMemoryWriteError |
NvMedia Image (nvmedia_image.h) | Removed certain header files previously included (by #include…). You may have to include these header files explicitly in your application program to compile it cleanly. |
NvMedia ISC (nvmedia_isc.h) | • Removed following structures: NvMediaISCTransactionHandle NvMediaISCDriverHandle NvMediaISCSupportFunctions • Removed following functions: NvMediaISCCheckPresence() NvMediaISCCheckLink() NvMediaISCSetDefaults() NvMediaISCSetDeviceConfig() NvMediaISCReadParameters() NvMediaISCWriteParameters() NvMediaISCGetErrorStatus() NvMediaISCReadRegister() NvMediaISCWriteRegister() NvMediaISCDumpRegisters() • Removed three functions previously used to control sensor exposure, gain and white balance settings: NvMediaISCSetBracketedExposure() NvMediaISCSetExposure() NvMediaISCSetWBGain() Use the new function NvMediaISCSetSensorControl() instead. This function ensures that all the input settings provided are applied together at a frame boundary through the ISC “group hold” functionality, if supported by the sensor. • Removed the following members from struct NvMediaISCDeviceDriver: CheckPresence CheckLink SetDefaults SetDeviceConfig ReadParameters WriteParameters GetErrorStatus ReadRegister WriteRegister DumpRegisters • Added the following new structures, which provide access to I2C read/write: NvMediaISCDeviceRead NvMediaISCDeviceWrite • Modified DriverCreate() to use NvMediaISCDevice instead of NvMediaISCDriverHandle. • Modified DriverDestroy() to use NvMediaISCDevice instead of NvMediaISCDriverHandle. Changed the type of struct NvMediaISCEmbeddedDataChunk member lineData to const uint8_t. • Changed the type of struct NvMediaISCSensorAttributes member sensorCFA to uint32_t. • Removed the NvMediaISCParseEmbeddedData() function for retrieving frame embedded data info. Use the new function NvMediaISCParseEmbedDataInfo() instead. This function provides information like frame CRC and sensor temperature in addition to that provided by the old function. • Removed the NvMediaISCGetSensorAttr() function for retrieving sensor static attributes. Use the new function NvMediaISCGetSensorAttributes() instead. This function provides information about sensor static properties like sensor name, exposure-gain ranges supported, and number of active exposures. • Removed the NvMediaISCSetCharacterizationAttr() function for programming the sensor in characterization mode. Use the new function NvMediaSetSensorCharMode() instead. |
NvMedia LDC (nvmedia_ldc.h) | Retired the previously deprecated function NvMediaLDCCreate().Use NvMediaLDCCreateNew() instead. |
NvMedia Surface (nvmedia_surface.h) | • Added NvMediaImageSetTag() and NvMediaImageGetTag() to set and get tags associated with NvMediaImage objects. • Deprecated the NvMediaImage struct’s void *tag member. Use NvMediaImageSetTag() and NvMediaImageGetTag() instead. |
NvMedia Video Output (nvmedia_vop.h) | • Retired the following attributes from NvMediaVideoOutputSetAttributes(): NVMEDIA_DISP_ATTR_BRIGHTNESS NVMEDIA_DISP_ATTR_CONTRAST NVMEDIA_DISP_ATTR_SATURATION NVMEDIA_DISP_ATTR_HUE NVMEDIA_DISP_ATTR_COLOR_STANDARD NVMEDIA_DISP_ATTR_LIMITED_RGB Use an alternative technique such as the VIC path instead. |
Module | Change Description |
NvMedia Image 2D (nvmedia_2d.h) | • Deprecated NvMedia2DCopyPlane() function. Use NvMedia2DCopyPlaneNew() instead. NvMedia2DCopyPlane() will be removed in a future release. • Deprecated NvMedia2DWeave() function. Use NvMedia2DWeaveNew() instead. NvMedia2DWeave() will be removed in a future release. |