Changes from version 2.2.2 to version 2.2.3
-------------------------------------------
* Extremely minor changes to avoid mixed use of formatted and
unformatted calls to "ostream" objects. These appear to
excite a bug in GCC version 3.0. The only file affected is
"params.cpp" in "coresys/parameters".
Changes from version 2.2.1 to version 2.2.2
-------------------------------------------
Note: none of these have any impact whatsoever on executable code
or DLL's.
* Renamed the "core" directory as "coresys". A trivial change
and my appologies for those whom this might adversely affect.
However, the use of the name "core" was causing some people
difficulties, since it is identical to the name of a Unix core
dump file.
* Made the Linux MMX-optimized functions "extern C" instead of
"extern", so as to avoid problems caused by different name
mangling conventions between various versions of gcc.
* Eliminated multi-line comments from assembler files so as to
avoid problems created by earlier versions of the gnu assembler.
Changes from version 2.2 to version 2.2.1
-----------------------------------------
* Replaced the C++ I/O routines used for image and compressed data
transfers with ANSI C I/O functions. This was motivated by the
fact that the new-style ANSI C++ I/O package is unbelievably slow,
at least as implemented in Microsoft's Visual C++ compiler.
The change has no impact whatsoever on the Kakadu core system;
it affects only the implementation of a few application level
objects -- the core system abstracts all such I/O considerations
through interface classes which are implemented by applications.
Everything now runs a little faster than it did in version 2.1 and
quite a bit faster than it did in the first release of version 2.2.
* Made provision for compiling under versions of GCC prior to version 3.0.
To use this, you should define GCC_VERSION_LESS_THAN_3.
Changes from version 2.1 to version 2.2
---------------------------------------
* Extensive support for ROI (Region of Interest) specification
at encode time (see "kakadu.pdf" for more on this).
* Migrated from the old-style C++ iostream package to the new standard
iostream package -- minimal use of "using namespace std" and never used
in common header files, so this should enhance namespace protection
and portability.
* Added AT&T style versions of the small amount of Pentium assembly code
to enable compilation of a high speed version under GCC as well as
MSVC.
* Some minor bug fixes.
Changes from version 2.0.2 to version 2.1
-----------------------------------------
* Extensive support for working with the JP2 file format. The "kdu_show"
application demonstrates the capabilities required of a conformant
JP2 reader: palette mapping; interpolation of components to a common
resolution; application of registration offsets in the CRG marker
segment; and colour conversion to an appropriate rendering space (sRGB
here). The "kdu_region_decompressor" object provides extensive support
for general purpose interactive rendering applications, performing all
of the above tasks in a platform independent manner.
* It is now possible to directly control rate-distortion slope thresholds
used in the construction of quality layers. This capability may also
be used to significantly increase compression speed, if a suitable
threshold is known, since the encoder then incrementally predicts
the point at which there is no point in coding further coding passes.
* A number of improvements to the "kdu_show" application, including
the ability to arbitrarily zoom into images.
* A number of minor bug fixes, including one important bug reported by
Aaron Deever of Kodak, and a bug which occasionally manifested itself
in the incremental rate prediction heuristic (reported by Jim Andrew
of CISRA).
* Improved documentation.
Changes from version 2.0.1 to version 2.02
------------------------------------------
* A PDF document (documentation.pdf) has been prepared to guide the new
user into some of the more important aspects of the Kakadu system. The
first draft is included here.
* A very simple compression example and a very simple decompression example
have been added to assist developers in familiarizing themselves with
the Kakadu system -- the existing demo apps provide perhaps too much
functionality to be quickly understood.
* A full BIBO (Bounded Input Bounded Output) numerical analysis of
the DWT and other processing steps is used to establish the best
utilization of limited precision sample data representations.
The new version should not be able to fall prey to numerical
overflow or underflow difficulties under any circumstances (this
could just have been possible with the last version). It also
provides slightly higher accuracy.
* The automatic heuristic for generating quality layer rate
targets has been substantially improved.
* A number of minor bugs/limitations were corrected, although these
had not manifested themselves in any real examples.
Changes from version 2.0 to version 2.01
----------------------------------------
* One line change in each of "kdu_expand.cpp" and "kdu_compress.cpp" to
correct a minor rare bug in these demo applications.
* Minor changes in "kdu_show.cpp" to correct a rare bug and improve the
user interface in regard to image rotation.
* Four lines added to each of "encoder.cpp" and "decoder.cpp" to fix
a minor memory leak.
1