NVIDIA nvImageCodecΒΆ

The nvImageCodec is a library of accelerated codecs with unified interface. It is designed as a framework for extension modules which delivers codec plugins.

This nvImageCodec release includes the following key features:

  • Unified API for decoding and encoding images

  • Batch processing, with variable shape and heterogeneous formats images

  • Codec prioritization with automatic fallback

  • Builtin parsers for image format detection: jpeg, jpeg2000, tiff, bmp, png, pnm, webp

  • Python bindings

  • Zero-copy interfaces to CV-CUDA, PyTorch and cuPy

  • End-end accelerated sample applications for common image transcoding

Currently there are following native codec extensions:

  • nvjpeg_ext

    • Hardware jpeg decoder

    • CUDA jpeg decoder

    • CUDA lossless jpeg decoder

    • CUDA jpeg encoder

  • nvjpeg2k_ext

    • CUDA jpeg 2000 decoder (including High Throughput jpeg2000)

    • CUDA jpeg 2000 encoder

  • nvbmp_ext

    • CPU bmp reader

    • CPU bmp writer

  • nvpnm_ext

    • CPU pnm (ppm, pbm, pgm) writer

Additionally as a fallback there are following 3rd party codec extensions:

  • libturbo-jpeg_ext

    • CPU jpeg decoder

  • libtiff_ext

    • CPU tiff decoder

  • opencv_ext

    • CPU jpeg decoder

    • CPU jpeg2k_decoder

    • CPU png decoder

    • CPU bmp decoder

    • CPU pnm decoder

    • CPU tiff decoder

    • CPU webp decoder