Getting Started

This section guides you step-by-step how to decode and encode images on the GPU using the nvImageCodec APIs. Before getting started, please review the pre-requisites. Once reviewed, head over to the samples’ section which showcases various nvImageCodec samples.

Note

Throughout this document, the terms “CPU” and “Host” are used synonymously. Similarly, the terms “GPU” and “Device” are synonymous.

Thread Safety

Not all nvImageCodec types are thread safe. For user-provided allocators (fields in nvimgcodecExecutionParams_t structure), the user needs to ensure thread safety.

Pre-requisites

Following are the required dependencies to compile nvImageCodec samples.

  • Ubuntu >= 20.04

  • NVIDIA driver >= 520.56.06

  • CUDA Toolit >= 11.8

  • Supported systems:
    • Linux (Ubuntu >= 20.04, RHEL >= 7, and other PEP599 manylinux 2014 compatible platforms)

    • WSL2 with Ubuntu >= 20.04

C++ Samples’ Dependencies:

  • CMake >= 3.18

  • gcc >= 9.4

Python Samples’ Dependencies:

  • Torch

  • Torchvision

  • cuPy

  • cuCIM

  • CV-CUDA

Samples

The next section documents the samples showing various use cases across two different types APIs available to consume nvImageCodec functionality:

Refer to the Installation docs for the sample installation guide using *.deb or *.tar installers. Refer to the sample README for instructions to compile samples from the source.