CharLS v2.3.0
Summary
Feature and maintenance release.
Added
- The encoder API has been extended with a rewind method that can be used to re-use a configured encoder to encode multiple images in a loop.
- Added support to decode JPEG-LS images that use restart markers #92.
- Added support to write and read comment (COM) segments #113.
- Added support to encode/decode oversized images (width or height larger then 65535).
- Extended the validation of the encoded JPEG-LS byte stream during decoding.
- Added support to encode JPEG-LS images with:
- The option to ensure the output stream has an even size.
- The option to write the CharLS version number as a comment (COM segment) to the output stream.
- The option to write the coding parameters to the output stream if the bits per pixel are larger then 12 (enabled by default).
- Usage of compiler specific attributes on the public API as replacement for
[[nodiscard]]
(which is a C++17 feature).
Fixed
- Fixed #84, Default preset coding parameters not computed for unset values.
- Fixed #102, CMake find_package(charls 2.2.0 REQUIRED) not working.
Changed
- CMakeSettings.json has been replaced with CMakePresets.json.
- Non default coding parameters are explicitly stored in the output stream during encoding.
- GCC shared library release builds are now using LTO (Link Time Optimization).
- Some functions use compiler intrinsics for slightly better performance.