- Improved the handling of images with sub-sampled chrominance components during compression:
- In the core system: Buffering used to maintain concurrency for multi-threaded wavelet transform processing is now sized so as to create similar effective latencies in all image components, which avoids issues when the Cplex-EST complexity-constraint algorithm is used in a high memory configuration or for low-latency compression.
- In the demo-apps: Corrected an oversight in the implementation of "kdu_v_compress" which resulted in component lines being pushed into the compression machinery at an equal rate even when they have different vertical sub-sampling factors -- none of the other compression demo-apps suffered from this problem.
- Faster HTJ2K processing for 64-bit AMD processors:
- Introduced new accelerated implementation stubs for the HT block encoding and decoding passes for AVX2-based platforms with slow PEXT/PDEP instructions -- notably modern AMD processors. These functions should allow AMD processors to reach processing throughputs not all that far behind that of Intel processors, but we have yet to perform a comparison.
- Important bug fixes:
- Fixed a bug accidentally introduced into version 8.0.4 as part of the changes required for Qfactor control during compression. The bug interfered with transcoding functionality in Kakadu, as opposed to compression, decompression or rendering.
- Fixed a bug introduced in version 8.0.3 that resulted in overwritten files not being first truncated, as produced by most of the Kakadu demo-apps, leaving potentially confusing file lengths even though valid content was written.