nvImageCodec Release v0.2.0
Pre-releasenvImageCodec v0.2.0 Release Notes
nvImageCodec Beta release (v0.2.0), an open-source library of accelerated codecs featuring a unified interface.
This release serves as a versatile framework for extension modules delivering powerful codec plugins.
Key Features and Enhancements
This nvImageCodec release includes the following key features and enhancements:
- Changed the name of the library from nvImageCodecs to nvImageCodec
- Added CUDA 12.3 support
- Added support for arm64-sbsa
- Improved decode performance (e.g. nvJpeg2000 tiled)
- Improved testing
- Improved documentation
- Added simple sample C API usage
- Added Python sample Jupyter notebooks to documentation
- C API improvements
- Adjusted cvcuda types adapter
- Improved error handling and reporting
- Custom Executor can now be defined per Decoder/Encoder
- Added possibility to pre-allocate resources
- Added support for nvjpeg extra_flags option
- Python API improvements
- Added support for Python 3.12 and deprecated Python 3.7
- Added support for DL-pack
- Added support of array_interface
- Added cpu() and cuda() convert methods to Python Image to enable transfers between Host and Device memory
- Added as_images function
- Added allow_any_depth to decode parameters
- Added possibility to specify number of CPU threads to use in decoder/encoder
- Added precision attribute to Image
- Added enter and exit to Decoder and Encoder so they can be easily used with python “with” statement
- Python decode function now can convert to interleaved RGB and 8 bits by default
Install nvImageCodec library
NOTE: nvImageCodec builds for CUDA 12 dynamically link the CUDA toolkit. To use nvImageCodec, install the latest CUDA toolkit.
CUDA 11.0 and CUDA 12.0 builds use CUDA toolkit enhanced compatibility.
They are built with the latest CUDA 11.x/12.x toolkit respectively but they can run on the latest,
stable CUDA 11.0/CUDA 12.0 capable drivers (450.80 or later and 525.60 or later respectively).
However, using the most recent driver may enable additional functionality.
More details can be found in enhanced CUDA compatibility guide.
You can download and install the appropriate built binary packages from https://developer.nvidia.com/nvimgcodec-downloads
or
install nvImageCodec Python from PyPI as described below.
nvImageCodec Python for CUDA 12.x
pip install nvidia-nvimgcodec-cu12
nvImageCodec Python for CUDA 11.x
pip install nvidia-nvimgcodec-cu11
Optional installation of nvJPEG library
If you do not have CUDA Toolkit installed, or you would like to install nvJPEG library independently, you can use the instruction described below.
Install the nvidia-pyindex module
pip install nvidia-pyindex
Install nvJPEG for CUDA 12.x
pip install nvidia-nvjpeg-cu12
Install nvJPEG for CUDA 11.x
pip install nvidia-nvjpeg-cu11
License
nvImageCodec operates under the Apache 2.0 license.