API/Interface Changes#
The following sections cover API and interface changes such as DriveWorks, Camera, NvStreams, NvMedia, cuPVA. The sections also cover dynamic changes, such as the programming sequence and static changes to header files.
Note
The cuPVA SDK API is backwards compatible when migrating to version 7.0, and the PVA SDK maintains source compatibility between major releases. Download the version of the PVA SDK that corresponds to your NVIDIA DriveOS™ version and rebuild your application.
- SPI API Changes
- I2C Structure Changes
- UART Changes
- NvDT Structure Changes
- NvHv Changes
- NvSys Structure Changes
- NvSOMEIP Changes
- Support Matrix for Multimedia Entities through 7.0 Releases
- NvSciIpc Changes
- NvStreams Changes
- NvSciError_StreamBadBlock
- NvSciSync Timestamp Behavior Changes
- NvSciBuf API Changes
- NvSciBuf and NvSciSync NUMA Attribute Support
- NvSciSync API Changes
- NvSciIpc Transitive Dependency on libnvos_s3_safety (QNX)
- NvSciBuf, NvSciStream, and NvSciSync Library Minor Version Bumps
- NvSciBuf and NvSciStream Tightened Input-Validity Contracts
- NvSciBuf Color Format and Bits-Per-Component Additions
- NvSciBufObjGetCpuPtr Read-Only Buffer Behavior Change
- NvSciStream Documented Error-Code Enrichments
- NvSciStream Ipc/C2C Constructor Error Surface Expanded
- NvSciStreamPacketSendSync No Longer Supported on C2C Blocks
- NvDisplay Changes
- Multimedia Changes
- Multimedia (Such as NvMedia, NvMMM-Legacy, and IDE NvJPG)
- IOFA and PFSD Changes
- IOFA Header Breaking Changes (nvmedia_iofa.h)
- IOFA, IEP, IDE, IJPE, IJPD Changes
- Architectural Changes
- NvMedia Encode Initialization Structures (nvmedia_common_encode.h)
- IEP Changes
- Video Interlace Compositor (VIC) Changes
- NvMedia2D ProcAmp API Changes
- VIC Diagnostics API Changes
- NvMediaJPEG and NvMediaEncoder Instance Enum Refresh
- NvMedia Encoder Init-Params Bit-Field Refresh (H.264 / H.265 / AV1)
- NvMediaIEPFillNvSciSyncAttrList Now Accepts a NULL Encoder
- NvMedia IEP Library Version Bumped to 1.1.0
- NvMedia IOFA Version 2 and Pyramid-Depth Expansion (5 to 7)
- NvMedia IOFA Doc Contract Changes (EPIOF, PYD_LEVEL_MODE, Range Querying)
- NVM_DEPRECATED Compiler-Version Guard Tightened
- NvMedia 2D Header-Level Version Macros and NvMedia2DGetVersion Removed
- NvMedia 2D Per-Source ProcAmp Interface Removed
- NvMedia 2D Attributes Refresh and Default-Initialization Requirement
- NvMedia 2D NvSci Doc-Contract Refresh (NUMA, Fence-Clear, NOT_SUPPORTED Status)
- NvMedia 2D Compose / Destroy / FilterBuffer Doc-Contract Refresh
- VicDiagnostics Library-Version Macros and GetVersion Removed
- VicDiagnosticsGetEOFNvSciSyncFence Clears Fence on Entry
- IDE API Changes (nvmedia_ide.h)
- NvSIPL Multicast Sample Changes
- DRIVE Update Changes
- Camera Software Changes
- TSC_EDGE_OUT Signal
- SIPL Core Library
- MAX_CAMERAMODULES_PER_BLOCK
- MAX_DEVGRP_NTFNS_PER_INTR
- Struct Fields
- Multi-frame Pipeline Context Support
- Buffer Surface Formats
- API Deprecation and Removal
- Restoration of NOTIF_INFO_ISP_PROCESSING_DONE and NOTIF_INFO_ACP_PROCESSING_DONE
- Support for Multi-camera Error Monitoring and Reporting
- Parallel Auto Control Plugin Registration
- Parallel Pipeline Initialization
- The INvSIPLCamera::GetPipelineInterfaceProvider API
- The SIPL Device Block CDI I2C Address Manager for Linux
- New SIPL Pipeline Notification Types
- New SIPL Interrupt Status Codes for Power Load Switch and SerDes Link State
- CryptoKeyInfo cryptoChanLabel Support
- CryptoKeyInfo cryptoChanID Removal
- C-Array to std::array Migration
- Strengthened
getInstanceInterfaceIDInterface Base Contract - noexcept and const Tightening on Virtual Methods
- MAX96724 FuSa Custom Interface (New Header)
- MAX96792A Custom Interface (New Header)
- Camera HAL Platform Configuration (NvSIPLCameraTypes.hpp)
- ISP Statistics Custom Interface (INvSIPLISPStatCustomInterface.hpp)
- typedef-struct / typedef-enum to Named Declarations
- Removal of GPIO Injected-Interrupt Test Path
- CDI I2C Retry-on-Failure Mechanism
- DEVBLK_CDI_I2C_BUS Enumerator Additions
- Auto-control Per-Frame Skip Flags Relocation
- Histogram Knee/Range Override Settings
- DeviceBlockInfo Configuration Changes
- SensorInfo and DeserializerInfo Additions
- NvSIPLDeviceBlockTrace Tightened
- ImageMetaData Layout Reordering Post-Cleanup
- NotificationData and RawBuffer Virtual-Channel Indexing
- OVT Module Power-Off Removed
- BD868B2 PMIC Types on Safety Builds
- DevBlkCDIFrameSeqNum::frameSeqNumValid Contract Narrowed
- IInterruptStatus Helpers (Poll Interval and Equality Operators)
- autoCtrlOutputSetting Removed from SiplControlAutoIspStats
- Migration of C++ toolchain to C++17
- Deprecation of OV2311 Non-FuSa and OV2311-C Driver/Query Components
- Update Deserializer Error APIs to be const
- CUDA Changes
- CUDA API Changes from 12.x to 13.x
- Migration Details
- Driver API Signature Changes
- CUDART API Signature Changes
- Change Reasons and Examples
- Deprecated APIs
- Removed Header Files
- Migration Guidelines
- Deep Learning Changes
- QNX BSP and IO API Changes
- Software Development Platform 8.0 Changes
- QNX SDP8 Kernel Clusters
- Adding enum(s)
- Timesync (Nvtime_GTSD) Changes
- Timesync (NvTime_Resmgr) - SOC Plugin Path Option (-p)
- New FSI Error Codes Reported by
nvdvms_set_vm_state(nvdvms_client.h) - NvClock API Surface Updates (nvclockapi.h)
- NvGpio API Surface Updates (nvgpio_lib.h, nvgpio_types.h)
- NvLauncher API Redesign (nvlauncher.h)
- mnand Refresh-Progress: Fixed-Point Migration (nvmnand.h, nvmnand_ufs.h)
- NvQNX Common: NV_DIO* Compile-Time Guards and Helpers (nvqnx_common.h)
- NvThermmon API Surface Updates (nvthermmonapi.h)
- NvThermmon Component Rename: Platform Suffix Removed (io-nvthermmon, libnvthermmonapi.so)
- Impact of QNX SDP 8.0 on NvHost
- Storage Virtualization Changes
- Networking Changes
- 802.1Qav(CBS)
- Behavioral Change with Broadcast Packets
- Behavioral Change for Multicast Rx Packets for io-sock and NvSocket
- QNX Access Control Policies for ioctl and devctl Commands
- Deprecated Header Files Removed from the Nvethernet Sample App
- Nvethernet Sample App for NvSocket Statistics Changes for 7.2.4.0
- bus_setup_intr() to Attach to Interrupt
- Abilities
- Deprecated dcom_stats_ioctl Tool
- Behavioral Change with NvSocket Signals
- NvSocket Memory Carveout Separated for Each Interface
- NvSocket Can be Enabled and Disabled on Supported Interfaces using PCT Flags
- Thread Priority Configuration for io-sock
- Renaming the NvEthMgr Sample Application
- Changes to nvethernet_export.h
- Changes to nvethernet_type.h
- Changes to nvsocket_export.h
- Changes to nvsocketzc_export.h
- DMA Channel Bound Increase (OSI_MTL_MAX_NUM_QUEUES Renamed and Widened)
- OSI Documentation Contract Refinements (tcindex, btr)
- Retired NvSocket Server-Configuration Public Surface
- nvsocket_pulse_t Enum Reorganization
- Power Mode Changes