Releases: aous72/OpenJPH
0.18.2
0.18.1
This addresses the illegal instruction issue when -flto flag is used (link time optimization) as details in this thread
https://bugzilla.redhat.com/show_bug.cgi?id=2307795
What's Changed
Full Changelog: 0.18.0...0.18.1
0.18.0
This release adds support for 32bit lossless compression of integer and floating-point data, where floating-point data can benefit from the non-linear (NLT) segment marker, which represent negative values in a more compression-friendly format.
This required the addition of 64 bit processing path for lossless compression, which is automatically employed if needed.
This version also addresses issue #157, which causes illegal instruction fault on machines that do not support AVX or more recent instruction sets, when the code in compiled with clang and in the Release mode only.
What's Changed
Full Changelog: 0.17.0...0.18.0
0.17.0
Adding support for NLT marker segment of type 3.
The code is not very complete, but it is in a useful state for publishing.
To make use of the NLT marker segment for type 3, partial support for the .pfm file format has been added.
For .pfm files, lossy compression is not supported -- it is possible to add support at some future point.
Reversible coding of .pfm files is supported, where the NLT marker is automatically inserted.
The current implementation supports no less than 27 bit for encoding and 26 bits decoding; you can get more precision if you disable colour transform (1 bit) and use no more than 5 levels of decomposition (1 bit). If more than that is required, a complete new path must be developed that uses 64-bit integers instead of 32-bit integers; this requires changes to all arithmetic and also changes to the block encoder and decoder.
Therefore floating point values stored in a .pfm file, which are 32-bit, need to be truncated.
Using the '-bit_depth' option, ojph_compress can perform this truncation.
'ojph_compress' should work correctly with codestreams generated with ojph_compress, converting truncated values back to normal floating point values.
All other features should be working.
Importantly, the code also fixes an important bug in the block decoder in commit 9f8011c
What's Changed
Full Changelog: 0.16.0...0.17.0
0.16.0
This is an important addition by Tomasz @tszumski. It passed all existing tests, and accomplishes the following:
- It adds AVX2 support for block encoding and decoding.
- It also fixes what I think is a bug in AVX512 block encoding.
According to Tomasz tests, we get
Encoder: performance gain ~37% vs C-code, (~7.5% performance drop vs AVX512-code)
Decoder: performance gain ~7%
What's Changed
New Contributors
Full Changelog: 0.15.0...0.16.0
0.15.0
This addresses a few small issues #146, #147, and #148.
The most important changes are:
- Added "-fexceptions" flag to subprojects/js/CMakeLists.txt, which I forgot to do.
- Added a function "set_message_level()" to ojph_message.h, which controls the severity level at which info/warn/error messages are printed. By adjusting the message level, users can tailor the verbosity of the output to their specific needs.
0.14.2
0.14.1
A small modification to CMakeLists.txt in response to PR #145.
What's Changed
- Fix includedir/libdir in pkg-config file when CMAKE_INSTALL_INCLUDEDIR/CMAKE_INSTALL_LIBDIR are absolute paths by @abustany in #145
New Contributors
Full Changelog: 0.14.0...0.14.1