Apart from some minor bug fixes, this version primarily enhances the throughput and features of the Kakadu demo applications, as follows:
- New platform-specific low-level I/O calls are now used by all the compression demo-apps, at least to write their codestreams and/or file containers to disk. On some platforms (especially the MAC), this can make things run a lot faster when the compression itself is already fast (as it is when using high throughput JPEG 2000). Note: this enhancement comes not only to Kakadu's demo-apps, but any application that uses Kakadu to write a JP2-family file (JP2, JPH, JPX, MJ2 or JPB at the moment), any video application that uses the `kdu_simple_video_target' object to write sequences of output codestreams, and any application that chooses to replace instances of `kdu_simple_file_target' with the new `kdu_platform_file_target'.
- The "kdu_v_compress" demo app has been expanded to allow reading from sequences of VIX, YUV or TIFF files, and its file reading logic has been made more efficient by using platform-specific I/O (as above) and including SIMD optimized implementation of data manipulation operations such as little-big endian conversion. Additionally, "kdu_v_compress" can now write sequences of raw compressed codestreams in the lightweight MJC format to "stdout", which is particularly useful for piping the coded results to other applications.
- The platform I/O facilities highlighted above are also used now by "kdu_v_expand", "kdu_buffered_expand" and "kdu_vex_fast" to write decompressed results to disk, wherever this is requested, which can significantly accelerate such operations.
- As to bugs, the most significant corrections are:
- An error in the implementation of the `Qweights' attribute, that was not used much in the past, but will likely be used a lot once we integrate the J2K Qfactor expression that has recently been developed to emulate the behaviour of JPEG's Qfactor -- this is coming soon in the next minor Kakadu version release.
- Failure to automatically check and/or instantiate certain parameter configurations required in the presence of a signalled Part-15 (HTJ2K) compatible profile (Part-15 has the CPF marker segment that allows signalling of compatibility with a profile defined for Part-1 codestreams).