Common Declarations | Contains standard definitions used by various interfaces |
Error Handling | Nverror.h contains our error code enumeration and helper macros |
▼GPLIB::User Interface | Manages interactions with Trusted applications (TA) running under secure world |
GPLIB::Constants | Constants for the GP Client Library |
GPLIB::Datatypes | Datatypes for the GP Client Library |
▼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 | |
EGL Specifications and Extensions | |
OpenGL ES 2.x/3.x Specs and Extensions | |
OpenGL Specifications | |
Vulkan Specs and Extensions | |
▼NvMedia API for Tegra | NVIDIA™ NvMedia technology provides powerful processing of multimedia data that enables true hardware acceleration across NVIDIA Tegra™ SOCs. NvMedia is a C-based, frame level API library that provides framework agnostic, distinctive software components, to realize various multimedia use case scenarios |
►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 |
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 | |
H.265 Encoder: Common Types | The H.265 Encoder API provides basic encode parameters |
H.265 Structures | |
MPEG-1 and MPEG-2 Structures | |
MPEG4 Part 2 Structures | |
Version Information | Provides version information for the NvMedia library |
EGL Stream API | The EGL Stream API encompasses all NvMedia EGL Stream related functionality. EGL Stream support enables interaction with EGL based surfaces |
Image/Video Encode and OFST | Defines common types and declarations for image/video encode and OFST operations |
►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 | |
H.265 Structures | |
MPEG-1 and MPEG-2 Structures | |
MPEG4 Part 2 Structures | |
VC1 Structures | |
VP8 Structures | |
VP9 Structures | |
Video Decoder: Common Types | |
►Video and Image Encode/Decode: Common Types | Defines common types and declarations for image and video decode and encode operations |
Display Attributes | |
►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. The destination rectangle is not affected by any transformation settings |
Image 2D Processing Synchronization | The NvMedia 2D NvSciSync API encompasses all NvMedia2D NvSciSync handling functions |
Image Creation | Defines and manages image objects |
►Image Decoder | |
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. Only H.264, H.265 and VP9 encoding is supported |
Image Encoder Common Extradata | Defines common encoder extradata types. This feature is not available on the QNX Safety configuration |
Image Encoder Output Extradata | Defines Image Encoder Output Extradata data types which can be used with NvMedia IEP APIs to retrieve encoder statistics/configurations. This feature is not available on the QNX Safety configuration |
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 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 |
Image Read and Write by Client | Provides image surface read and write by the client application for diagnostic purposes |
►Image Signal Processing (ISP) Statistics | NvMedia ISP Defines NvMedia ISP Stat structures |
History | Provides change history for the NvMedia ISP Stats |
►SIPL | SIPL provides abstract and simple API to capture the output of image sensors with optional image processing. SIPL is implemented on top of NvMedia API |
►NvSIPL Camera | Provides top-level interfaces to program external image devices and Tegra to create and manage image processing pipelines to receive outputs in NvMediaImage surfaces |
NvSIPL Client | Provides interfaces to retrieve the output of the SIPL Pipeline Manager |
NvSIPL DeviceBlock Information | Describes information about devices supported by SIPL Device Block |
NvSIPL Pipeline Manager | Programs Video Input (VI) and Image Signal Processor (ISP) hardware blocks using NvMedia API to create image processing pipelines for each sensor |
NvSIPL Version | Holds the version information for NvSIPL Camera and NvSIPL Client |
NvSIPL Query | Manages a database of information about external devices (deserializer, serializer, sensor, and EEPROM) and the camera platform configurations supported by SIPL Device Block drivers |
SIPL Auto Control | Describes interfaces for SIPL Auto Control implementation |
►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 |
►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. For example, the stride indices are used to access dimstrides[] in the NvMediaTensorMetaData structure |
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 | |
VP8 Encoder: Common Types | The VP8 Encoder API provides VP8 related functions |
VP8 Structures | |
VP9 Encoder: Common Types | The VP9 Encoder API provides VP9 related functions |
VP9 Structures | |
Video Capture | |
►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 | |
Video Decryptor (DRM) API | Decrypts and re-encrypts video data with supported formats for the hardware in a video stream |
Video Encoder | |
►Video Mixer | |
Mixer Attributes | Defines mixer attribute bit masks for constructing attribute masks |
Mixer Features | Declares and manages objects for specifying mixer features |
Video Output | |
Video Surface | |
►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 |
▼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 . Its functions and data structures are declared by the this header file, which applications must include to use the Screen Capture API |
▼Software Communication Interfaces | The NVIDIA® Software Communication Interfaces (NvSci) libraries serve two primary purposes: |
Inter-Process Communication | |
►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 |
NvSciBuf blanket statements. | Generic statements applicable for NvSciBuf interfaces |
►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 |
NvSciStream APIs | Methods to setup and stream sequences of data packets |
NvSciStream Blanket Statements | Generic statements applicable for NvSciStream interfaces |
NvSciStream Data Types | Contains a list of NvSciStream datatypes |
Synchronization APIs | |
SCI Error Handling | Contains error code enumeration and helper macros |
▼Trusted Execution Environment | A Trusted Execution Environment (TEE) provides trusted applications an execution environment with defined security boundaries, a set of security enabling capabilities, and means to communicate with client applications running in the rich execution environment |
►TEE Internal API | Describes TEE internal API. This section defines a set of C APIs for the development of trusted applications (TAs) running inside a trusted execution environment (TEE). The APIs defined in this section provide TA developers the following functionality: |
►TEE Cryptographic Constants | Describes TEE cryptographic constants |
►Commands | |
Cryptographic Commands | |
Oem Keystore Service Constants | Describes the Oem Keystore Service Constants used by clients |
Cryptographic Commands | |
TEE Cryptographic Datatypes | Describes TEE cryptographic datatypes |
TEE Cryptographic Operations | Describes TEE cryptographic operations |
TEE Internal Cancellation | Describes TEE internal cancellation |
TEE Internal Client API | Describes the TEE internal client API |
TEE Internal Constants | Describes TEE internal constants |
TEE Internal Datatypes | Describes TEE internal datatypes |
TEE Internal Memory Management | Describes TEE internal memory management |
TEE Internal Panic | Describes TEE internal panic |
TEE Internal Property Access | Describes TEE internal property access |
TEE Internal TA Interface | Describes TEE internal TA interface |
TEE Trusted Storage | Describes TEE trusted storage. These APIs are stubbed on QNX PDK |
TEE Trusted Storage Constants | Describes TEE trusted storage constants. These constants are only supported on Linux PDK |
TEE Trusted Storage Datatypes | Describes TEE trusted storage datatypes. These datatypes are only supported on Linux PDK |