Releases: team-charls/charls
Releases · team-charls/charls
CharLS v2.4.2
CharLS v2.4.1
Maintenance release.
Fixed
- Fixed #221, jpegls_errc::destination_buffer_too_small incorrectly thrown for 8 bit 2*2 image with stride = 4 during decoding.
CharLS v2.4.0
Summary
Maintenance release.
Added
- Support for Windows on ARM64 in the MSBuild projects and CMake files.
- Support to read and write application data markers. #180
- Added method charls_validate_spiff_header to validate SPIFF headers.
Changed
- Improved compatibility of public headers with C++20.
- Switch order of APP8 and SOF55 markers during encoding to allign with user application data markers.
Fixed
- Fixed #167, Multi component image with interleave mode none is not correctly decoded when a custom stride argument is used.
CharLS v2.3.4
Summary
Maintenance release.
Changed
- Replaced legacy test images
CharLS v2.3.3
Summary
Maintenance release.
Fixed
- Fixed #167, Decoding\Encoding fails on IBM s390x CPU (Big Endian architecture)
Changed
- CTest is now used in the CI build pipeline to test the output of the Linux and macOS builds.
CharLS v2.2.1
Summary
Maintenance release.
Fixed
- Backport of fix for #167, Decoding\Encoding fails on IBM s390x CPU (Big Endian architecture).
CharLS v2.3.2
Summary
Maintenance release.
Fixed
- Fixed #160, warning: cast from ‘unsigned char*’ to ‘uint16_t*’ increases required alignment of target type
- Fixed #161, warning: useless cast to type ‘size_t’ {aka ‘unsigned int’} [-Wuseless-cast]
Changed
- Updates to the CMakeLists.txt for Unix builds (except macOS) to hide more symbols from the shared library.
- C++14 is now the minimum version instead of explicitly required. This allows consuming applications more flexibility.
Typically CMake will select the latest C++ standard version that the used C++ compiler supports.
CharLS v2.3.1
Summary
Maintenance release.
Fixed
- Fixed #155, charls::jpegls_decoder::decode: 2 overloads have similar conversions in v2.3.0
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.
CharLS v2.2.0
Summary
Feature and maintenance release.
Added
- Added a pkg-config charls.pc file to help in detecting the CharLS library (see #76)
- Added standard CMake variable BUILD_SHARED_LIBS as an option to make this option visible in the CMake GUI (see #66)
- The PowerPC Little Endian (ppc64le) platform has been added as supported architecture
Fixed
- Fixed #21, Building with UBSAN, will report runtime error: left shift
of 4031 by 63 places cannot be represented in type 'long int' - Fixed #25, CharLS fails to read LSE marker segment after first SOS segment
- Fixed #26, CharLS should only use the valid bits from the passed input buffer
- Fixed #36, CharLS should remain stable from bad input (several issues found by fuzzy testing)
- Fixed #60, Visual Studio 2015 C++ compiler cannot compile certain constexpr constructions
- Fixed #62, Missing includes in jpegls_error.cpp when using libc++ (and not libstdc++)
- Fixed #70, The C and C++ sample don't swap the pixels from a .bmp file horizontal
- Fixed #79, Wrong JPEG-LS encoding when stride is non-default (stride != 0),
component count > 1 and interleave_mode is none
Changed
- The API has been extended with additional annotations to assist the static analyzers of the MSVC and the GCC/clang compilers
- The size check for a Start Of Scan (SOS) segment is now exact for improved compatibility with fuzzy testing
- The minimum support version of CMake is now 3.13 (was 3.9). 3.13 is needed for usage of the add_link_options statement
- The Windows static library and DLL are now compiled with the Control Flow Guard (/guard:cf) option enabled for enhanced security
- The .NET adapter has been upgraded to .NET 5 and moved to its own repository
This has been done to make it possible to have different release cycles.
Removed
- The legacy methods JpegLsEncodeStream, JpegLsDecodeStream and JpegLsReadHeaderStream have been removed as exported methods. These methods were not part of the public API and only used by by the charlstest application