| Common Declarations | Contains standard definitions used by various interfaces |
| Error Handling | Nverror.h contains our error code enumeration and helper macros |
| ▼GPU access API | GPU management and access API |
| ▼GPU access API: Device management | |
| GPU access API: Device management (safety subset) | |
| ▼GPU access API: Library | |
| GPU access API: Library (safety subset) | |
| ▼GPU access API (safety subset) | |
| GPU access API: Device management (safety subset) | |
| GPU access API: Library (safety subset) | |
| ▼Graphics APIs | Graphics APIs in this section include NVIDIA and 3rd-party APIs |
| Direct Rendering Manager | DRM-NVDC is a compatibility library which implements the Direct Rendering Manager API (DRM) on top of the Tegra Display Controller kernel driver (NVDC) |
| EGL Specifications and Extensions | EGL is an interface between Khronos rendering APIs such as OpenGL ES and the underlying native platform window system |
| OpenGL ES 2.x/3.x Specs and Extensions | OpenGL ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems, including consoles, phones, appliances, and vehicles |
| OpenGL Specifications | OpenGL is the most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms |
| Vulkan Specs and Extensions | Vulkan is a new generation graphics and compute API that provides high- efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms |
| Image OFST Synchronization | The NvMedia IOFST NvSciSync API encompasses all NvMediaIOFST NvSciSync handling functions |
| Image OpticalFlow/StereoDisparity (OFST) Estimator | The NvMediaIOFST object takes an uncompressed image frame pair and turns them into opticalflow/stereodisparity estimation data |
| NVIDIA Error Codes | Nverrval.h is a header used for macro expansion of the errors defined for the Nv methods & interfaces |
| ▼NvMedia API for Tegra | |
| Camera AutoControl Plugin | The Camera AutoControl Plugin API provides ACP configuration functions |
| ▼Common Declarations | Defines basic types used for video and images throughout the NvMedia API |
| ►Basic NvMedia Types and Structures | Defines basic types used throughout the NvMedia API |
| Basic IPP Types | The Image Processing Pipeline API provides common IPP processing functions |
| Basic ISC Types | The Image Sensor Control API provides common ISC processing functions |
| Device | Manages NvMediaDevice objects, which are the root of the Nvmedia object system |
| H.264 Encoder | The H.264 Encoder API provides basic encode picture types |
| H.264 Structures | Provides structures for defining the H.264 reference frame |
| H.265 Encoder: Common Types | The H.265 Encoder API provides basic encode parameters |
| H.265 Structures | Provides structures for defining the H.265 reference frame |
| MPEG-1 and MPEG-2 Structures | Provides a structure for defining the MPEG-1 and MPEG-2 picture parameter information |
| MPEG4 Part 2 Structures | Provides a structure for defining picture parameters for the MPEG-4 Part 2 picture |
| Version Information | Provides version information for the NvMedia library |
| EGL Stream API | The EGL Stream API encompasses all NvMedia EGL Stream related functionality |
| ►Parser API | Provides parsing for decoder frame handling |
| Abstraction of OS-Specific Client Callbacks | |
| Surface Handling API | Defines and manages image and video surface objects |
| ►Video and Image Decode: Common Types | Defines common types and declarations for image and video decode operations |
| H.264 Structures | Provides structures for defining the H.264 reference frame |
| H.265 Structures | Provides structures for defining the H.265 reference frame |
| MPEG-1 and MPEG-2 Structures | Provides a structure for defining the MPEG-1 and MPEG-2 picture parameter information |
| MPEG4 Part 2 Structures | Provides a structure for defining picture parameters for the MPEG-4 Part 2 picture |
| VC1 Structures | Defines a structure for defining picture information for a VC1 picture |
| VP8 Structures | Defines a structure for defining picture information for a VP8 picture |
| VP9 Structures | Provides structures for defining the VP9 reference frame |
| Video Decoder: Common Types | Defines and manages objects that decode video |
| ►Video and Image Encode/Decode: Common Types | Defines common types and declarations for image and video decode and encode operations |
| Display Attributes | Defines display attribute bit masks for constructing attribute masks |
| ►Video and Image Encode: Common Types | Defines common types and declarations for image and video encode operations |
| H.264 Encoder | The H.264 Encoder API provides basic encode picture types |
| H.265 Encoder: Common Types | The H.265 Encoder API provides basic encode parameters |
| VP8 Encoder: Common Types | The VP8 Encoder API provides VP8 related functions |
| VP9 Encoder: Common Types | The VP9 Encoder API provides VP9 related functions |
| ▼Deep Learning Accelerator | The NvMedia Deep Learning Accelerator (DLA) API encompasses all NvMedia functions that access the DLA hardware engine for deep learning operations |
| ►Deep Learning Accelerator | NvMedia DLA runtime APIs for accessing the DLA hardware engine for deep learning operations |
| DLA Specific Types | Defines specific types for DLA |
| Deep Learning Accelerator Synchronization | The NvMedia DLA NvSciSync API encompasses all NvMediaDla NvSciSync handling functions |
| ▼Image Handling API | The Image Processing API encompasses all NvMedia image-related functionality |
| ►Image 2D Processing | The Image 2D Processing API encompasses all NvMedia 2D image processing related functionality |
| Blits | Blit functions define valid parameters for a blit |
| Surface Filtering | |
| Transformations | Transformations are used to rotate and mirror the source surface of a blit operation |
| Image 2D Processing Synchronization | The NvMedia 2D NvSciSync API encompasses all NvMedia2D NvSciSync handling functions |
| Image Capture | Captures uncompressed image data, writing the results to an NvMediaImage |
| Image Capture Synchronization | The NvMedia ICP NvSciSync API encompasses all NvMediaICP NvSciSync handling functions |
| Image Creation | Defines and manages image objects |
| ►Image Decoder | Defines and manages objects that decode video |
| Decoder Creation Flag | Defines decoder flag bit masks for constructing the decoder |
| Image Display Processing (IDP) | Displays NvMediaImage type surfaces |
| Image Encoder | The NvMediaIEP object takes uncompressed image data and turns it into a codec specific bitstream |
| Image Encoder Synchronization | The NvMedia IEP NvSciSync API encompasses all NvMediaIEP NvSciSync handling functions |
| Image Handling with Buffer Allocation API | The NvMedia Image NvSciBuf API encompasses all NvMediaImage NvSciBuf handling functions |
| Image JPEG Decoder | The NvMediaIJPD object takes a JPEG bitstream and decompress it to image data |
| Image JPEG Encoder | The NvMediaIJPE object takes uncompressed image data and turns it into a jpeg bitstream |
| Image Locking and Unlocking | Locking and unlocking controls access to the image surfaces |
| ►Image Processing Pipeline (IPP) | The NvMedia Image Processing Pipeline (IPP) is a framework that controls all NvMedia processing components |
| Basic IPP Types | The Image Processing Pipeline API provides common IPP processing functions |
| IPP Component | Defines IPP component-related structures and functions |
| IPP Control Algorithm Plugin | Defines IPP Control Algorithm Plugin related structures and functions |
| IPP Manager | Defines IPP manager-related structures and functions |
| IPP Pipeline | Defines IPP pipeline-related structures and functions |
| ►IPP Properties | Defines IPP Properties |
| IPP Property structures | Defines IPP Property structures |
| IPP Version Information | Provides version information for the NvMedia IPP library |
| Image Read and Write by Client | Provides image surface read and write by the client application for diagnostic purposes |
| ►Image Sensor Control (ISC) | The Image Sensor Control API encompasses all NvMedia I2C control related functions, including programming of all I2C controlled components such as deserializers, serializers, EEPROMs, and image sensors |
| Basic ISC Types | The Image Sensor Control API provides common ISC processing functions |
| ISC Device | An ISC device represents a device that is attached or linked to the root I2C port |
| ISC Device Driver | Program elements related to NvMediaISCDeviceDriver, which defines a device driver |
| ISC Root Device | Manage NvMediaISCRootDevice objects, which represent the root of the Nvmedia ISC object system |
| ISC Version Information | Provides version information for the NvMedia ISC library |
| ►Image Signal Processing (ISP) Statistics | NvMedia ISP Defines NvMedia ISP Stat structures |
| History | Provides change history for the NvMedia ISP Stats |
| ►Sensor Input Processing Library (SIPL) | SIPL provides abstract and simple API to capture the output of image sensors with optional image processing |
| ►NvSIPL Camera (libnvsipl.so) | Provides top-level interfaces to program external image devices and Tegra to create and manage image processing pipelines to receives outputs in NvMediaImage surfaces |
| NvSIPL Client (libnvsipl.so) | Provides interfaces to retrieve the output of the SIPL Pipeline Manager |
| NvSIPL DeviceBlock (libnvsipl_devblk.so) | Manages programming of external image devices using NvMediaISC-compatible drivers |
| ►NvSIPL Pipeline Manager (libnvsipl.so) | Programs Video Input (VI) and Image Signal Processor (ISP) hardware blocks using NvMedia API to create image processing pipelines for each sensor |
| NvSIPLAutoControlPlugin | Describes the interfaces of SIPL Auto Exposure and White Balance control plug-in |
| NvSIPL Query (libnvsipl_query.so) | Manages a database of information about external devices (deserializer, serializer, sensor, and EEPROM) and the camera platform configurations supported by NvSIPL DeviceBlock (libnvsipl_devblk.so) |
| ▼Image Pyramid Handling API | The Image Pyramid Processing API encompasses all NvMedia-related functionality for handling pyramids of NvMediaImage objects |
| Image Pyramid | Image Pyramid Processing API |
| Image Pyramid with Buffer Allocation API | The Image Pyramid with Buffer Allocation API encompasses all NvMedia-related functionality for handling pyramids of NvMediaImage objects with buffer allocation |
| Lens Distortion Correction | The NvMedia Lens Distortion Correction (LDC) API contains NvMedia functions for accessing the LDC hardware engine for geometric transform and temporal noise reduction (TNR3) |
| Lens Distortion Correction Synchronization | The NvMedia LDC NvSciSync API encompasses all NvMediaLDC NvSciSync handling functions |
| ▼NvMedia Array | The NvMedia Array and NvSciBuf API encompasses all NvMedia functions that create, destroy, access and update arrays used in media processing and computer vision applications |
| NvMedia Array | The NvMedia Array API encompasses all NvMedia functions that create, destroy, access and update arrays used in media processing and computer vision applications |
| NvMedia Array for NvSciBuf | The NvMedia Array NvSciBuf API encompasses all NvMediaArray NvSciBuf handling functions |
| NvMedia CVScratchpad | The NvMedia CVScratchpad API creates and destroys CVScratchpad objects for use as scratch memory for internal operation in media processing and computer vision pipelines |
| ▼Tensor Handling API | The Tensor Processing API encompasses all NvMedia tensor related functionality |
| Tensor Handling API | The Tensor Processing API encompasses all NvMedia tensor related functionality |
| Tensor Handling Buffer Allocation API | The NvMedia Tensor NvSciSync API encompasses all NvMedia Tensor Buffer Allocation processing |
| ►Tensor Metadata API | The NvMedia Tensor Metadata API encompasses all NvMedia Tensor metadata processing |
| Dimension Indices - NCHW | |
| Dimension Indices - NCxHWx | |
| Dimension Indices - NHWC | |
| Stride Indices - NCHW | For NCHW tensor, assuming p,q,r,s correspond to N,C,H,W dimensions, the offset from the base address of the tensor to access a tensor value at coordinate (p,q,r,s) is calculated using the expression below: |
| Stride Indices - NCxHWx | For NCxHWx tensor, assuming p,q,r,s correspond to N,C,H,W dimensions, the offset from the base address of the tensor to access a tensor value at coordinate (p,q,r,s) is calculated using the expression below: |
| Stride Indices - NHWC | For the NHWC tensor, assuming p,q,r,s correspond to N,H,W,C dimensions, the offset from the base address of the tensor to access a tensor value at coordinate (p,q,r,s) is calculated using the expression below: |
| ►Stride and Dimension Indices | The application can use the stride and dimension indices defined below to access the strides and sizes from the corresponding arrays |
| Dimension Indices - NCHW | |
| Dimension Indices - NCxHWx | |
| Dimension Indices - NHWC | |
| Stride Indices - NCHW | For NCHW tensor, assuming p,q,r,s correspond to N,C,H,W dimensions, the offset from the base address of the tensor to access a tensor value at coordinate (p,q,r,s) is calculated using the expression below: |
| Stride Indices - NCxHWx | For NCxHWx tensor, assuming p,q,r,s correspond to N,C,H,W dimensions, the offset from the base address of the tensor to access a tensor value at coordinate (p,q,r,s) is calculated using the expression below: |
| Stride Indices - NHWC | For the NHWC tensor, assuming p,q,r,s correspond to N,H,W,C dimensions, the offset from the base address of the tensor to access a tensor value at coordinate (p,q,r,s) is calculated using the expression below: |
| ▼Video Surface Handling API | The Video Processing API encompasses all NvMedia video surface related functionality |
| VC1 Structures | Defines a structure for defining picture information for a VC1 picture |
| VP8 Encoder: Common Types | The VP8 Encoder API provides VP8 related functions |
| VP8 Structures | Defines a structure for defining picture information for a VP8 picture |
| VP9 Encoder: Common Types | The VP9 Encoder API provides VP9 related functions |
| VP9 Structures | Provides structures for defining the VP9 reference frame |
| Video Capture | Captures uncompressed video data, writing the results to a NvMediaVideoSurface |
| ►Video Decoder | Defines and manages objects that decode video |
| Decoder Creation Flag | Defines decoder flag bit masks for constructing the decoder |
| Video Decoder: Common Types | Defines and manages objects that decode video |
| Video Decryptor (DRM) API | Decrypts and re-encrypts video data with supported formats for the hardware in a video stream |
| Video Encoder | The NvMediaVideoEncoder object takes uncompressed video data and tuns it into a codec specific bitstream |
| ►Video Mixer | Video mixer provides a surface to surface based rendering with deinterlacing, inverse telecine, scaling, alpha blending, noise reduction, filtering, and background color support |
| Mixer Attributes | Defines mixer attribute bit masks for constructing attribute masks |
| Mixer Features | Declares and manages objects for specifying mixer features |
| Video Output | Declares and manages objects for defining the locations of the composed surfaces |
| Video Surface | Defines and manages objects for defining video RAM surfaces |
| ▼Vision Programming Interface | The NvMedia Vision Programming Interface (VPI) API contains NvMedia functions for accessing the Computer Vision (CV) hardware accelerated algorithms |
| NvMedia VPI | APIs for accessing Computer Vision (CV) hardware-accelerated algorithms |
| NvMedia VPI Synchronization | The NvMedia VPI NvSciSync API encompasses NvMedia VPI functions using synchronization |
| ▼NvROS | |
| Common Declarations | Defines common values and error codes for NvROS related functions and NVIDIA® CUDA® processing on the EGL CUDA IO pipeline |
| EGL CUDA IO | The EGL CUDO IO library contains the APIs for processing NVIDIA® CUDA® on EGLStreams |
| EGL Utilities | Defines enums, structs and a class for EGL related utility functions |
| Image Pipeline | The Image Pipeline library contains the APIs for setting up an image capture pipeline and putting the captured image frames onto EGLStreams |
| ▼Screen Capture | The Screen Capture API is implemented by the Screen Capture wrapper library, libnvscrncapt.so |
| Screen Capture API | The Screen Capture API is implemented by the Screen Capture wrapper library, libnvscrncapt.so |
| ▼Software Communication Interfaces | The NVIDIA® Software Communication Interfaces (NvSci) libraries serve two primary purposes: |
| Inter-Process Communication | The NvSciIpc library provides interfaces for any two entities in a system to communicate with each other irrespective of where they are placed |
| ▼NvStreams | Contains the buffer allocation, synchronization, and streaming APIs |
| ►Buffer Allocation APIs | The NvSciBuf library contains the APIs for applications to allocate and exchange buffers in memory |
| NvSciBuf APIs | List of APIs to transport NvSciBuf buffers and attribute list objects across various communication boundaries that interact using NvSciIpc |
| NvSciBuf Attribute List APIs | Methods to perform operations on NvSciBuf attribute lists |
| NvSciBuf Data Structures | Specifies NvSciBuf data structures |
| NvSciBuf Datatype Definitions | Contains a list of all NvSciBuf datatypes |
| NvSciBuf Enumerations for Attribute Keys | List of all NvSciBuf enumerations for attribute keys |
| NvSciBuf Global Constants | Definitions of all NvSciBuf Global Constants/Macros |
| NvSciBuf Initialization APIs | List of APIs to initialize/de-initialize NvSciBuf module |
| NvSciBuf Object APIs | List of APIs to create/operate on NvSciBufObj |
| Streaming APIs | The NvSciStream library is a layer on top of NvSciBuf and NvSciSync libraries that provides utilities for streaming sequences of data packets between multiple application modules to support a wide variety of use cases |
| Synchronization APIs | The NvSciSync library allows applications to manage synchronization objects which coordinate when sequences of operations begin and end |
| SCI Error Handling | Contains error code enumeration and helper macros |
| Speculation Barrier for Spectre-V1 Mitigation | |