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