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, JPEG 2000, 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 JPEG)
CUDA JPEG 2000 encoder
nvtiff_ext
CUDA TIFF decoder
nvbmp_ext
CPU BMP decoder
CPU BMP encoder
nvpnm_ext
CPU PNM (PPM, PBM, PGM) encoder
Additionally as a fallback there are following 3rd party codec extensions:
libjpeg_turbo_ext
CPU JPEG decoder
libtiff_ext
CPU TIFF decoder
opencv_ext
CPU JPEG decoder and encoder
CPU JPEG 2000 decoder and encoder
CPU PNG decoder and encoder
CPU BMP decoder and encoder
CPU PNM decoder and encoder
CPU TIFF decoder and encoder
CPU WebP decoder and encoder