Version 5.2

Version 5.2

This is mostly a tidy-up version, cleaning up a few loose ends left over from the last major upgrade.  However, there are a few significant new features, as follows:

1) The "kdu_hyperdoc" tool now builds a richer set of Java native interface bindings and now also builds a corresponding set of C# and Visual Basic language bindings.  There are now two Java example apps and two corresponding C# example apps.  Moreover, "kdu_hyperdoc" can be instructed (via the new "-bind") argument to limit its bindings to specific classes, global functions or even class member functions, for minimally sized interfaces.

2) There is new set of MMX/SSE/SSE2 implementations which use processor intrinsics.  These can be compiled from both GCC and .NET and can target both 32-bit and 64-bit builds on both platforms.  The older hand optimized versions of the SIMD processor speedups for X86 platforms and other platforms (Sparc and PowerPC) still exist and are used where appropriate by the compilation logic.  However, the presence of the new more-generic implementations allows more speedups across all platforms.  This also overcomes a previous limitation where there were no speedups available for Win64 builds under .NET, even though speedups were available for 64-bit Linux builds.  The "Compilation_Instructions.txt" file has been updated to provide a more accessible and complete description of the various build environments and compilation options.

3) Support for TIFF file reading and writing by the demo apps, "kdu_compress" and "kdu_expand" has been enhanced to include the following: 1) Reading of just about any TIFF format, including tiled and planar organizations, arbitrary bit-depths (including floating point samples); 2) Reading and appropriate usage of colour space and alpha component information embedded in TIFF files (including CMYK spaces); 3) More comprehensive support for writing of TIFF colour spaces (including CMYK) and alpha channels.

4) The `kdu_region_decompressor' and `kdu_region_compositor' objects, which are used for most rendering applications, have been upgraded to properly handle pre-multiplied opacity (associated alpha), where previously only the more generic opacity (unassociated alpha) was handled.  This means that practically any reasonable JPX composition or animation will be correctly rendered.

Go Top