Skip to content

nvImageCodec Release v0.4.0-beta.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@jantonguirao jantonguirao released this 15 Nov 08:43
· 1 commit to release_v0.4 since this release

This software is in beta version, which means it is still undergoing testing and development before its official release. It may contain bugs, errors, or incomplete features that could affect its performance and functionality. By using this software, you agree to accept the risks and limitations associated with beta software. We appreciate your feedback and suggestions to help us improve this software, but we do not guarantee that we will implement them or that the software will meet your expectations. Please use this software at your own discretion and responsibility.

Key Features and Enhancements

  • Enabled decoding grayscale tiff images to planar RGB and BGR with LibTIFF.
  • Added nvTIFF decoder extension.
  • Changed the nvimgcodecExecutorDesc_t API to have separate schedule, run and wait functions.
  • Simplified the API for extensions (decoder and encoder) so that the parallelization and synchronization happens in a layer above
  • Added an optional API getMiniBatchSize for batched decoders, to be used by the top level layer to decide the best batch size for each batched decoder implementation.
  • Added an experimental load_hint_policy flag to nvimgcodecBackendParams_t, allowing to control the dynamic load distribution for different backends.
  • Reduced the number of threads and synchronization points used by the generic decoder and encoder classes.
  • Decoders to reuse temporary memory buffers from iteration to iteration.
  • Renamed nvimgcodecJpeg2kImageInfo_t to nvimgcodecTileGeometryInfo_t.
  • Added experimental Python 3.13 support.
  • Added experimental Python 3.13t (no GIL) support.
  • Upgraded LibTIFF to v4.7.0.
  • Added a skip_pre_sync option to nvimgcodecExecutionParams_t to skip the synchronization between user stream and per-thread streams before the decoding starts.
  • Added OpenCV encoder for all formats that were already supported by OpenCV decoder:
    • 8 bit unsigned encoding is supported in following codecs: JPEG, JPEG 2000, PNG, BMP, PNM, TIFF, WebP.
    • 16 bit unsigned encoding is supported in following codecs: JPEG 2000, PNG, PNM, TIFF.
  • In Python, CPU-only decoder instances now write the output to host memory instead of GPU memory.

Fixed Issues

  • Fixed LaunchConvertNormKernel conversion from interleaved RGB to grayscale.
  • Bitdepth is now correctly set to 16 bits in case of TIFF Palette, before it was set to key bitdepth.
  • Fixed error during decoding images with larger sample type with LibTIFF.
  • Fixed a memory leak in Encoder's Python API (#13)
  • Fixed potential segfault error when extension creation failed.
  • Fixed default extension discovery path on Windows.
  • Fixed Python array import to raise error when there are unacceptable number of dimensions or channels (#15).
  • Fixed loading symlinked extensions.
  • PNM parser now correctly recognizes 16 bit unsigned data.