CHANGE LOG for Independent JPEG Group's JPEG software


Version 5alpha2  4-May-94
-------------------------

Two-pass color quantization is working, although it ought to be revisited
to tune the algorithm for operation in RGB color space.  The change to RGB
means that the library can also quantize to an externally-supplied colormap;
but I have not gotten around to implementing a djpeg switch for this.

Output resizing via the IDCT works: see djpeg's "-scale" switch.  The system
design allows for more general rescaling at the upsample step, but I have no
intention of implementing that anytime soon (any volunteers?).

Other speed/quality tradeoff options remain to be implemented: alternate
DCTs and merged color conversion/upsample/quantize are high on the list.

Documentation is in fairly decent shape, although libjpeg.doc is still missing
a few sections.  All of the documentation will need updates as more features
are added to v5.


Version 5alpha1  6-Apr-94
-------------------------

This alpha-test release includes rewritten configuration/installation stuff.
In particular there's now a "configure" script that should do everything
needed for Unix installations.  Please read install.doc.

GIF and Targa file I/O are working again.  Utah RLE is not there, and
won't be unless someone volunteers to update those files.

Huffman optimization and one-pass color quantization are working again.

Two-pass quantization isn't fixed yet; ditto input smoothing and progress
monitoring.  Block smoothing is missing (and may remain so indefinitely...).
Multiple-scan JPEG files are not supported for either encoding or decoding.

None of the promised new v5 features (output resizing, speed/quality
tradeoffs) are implemented yet.

The documentation needs work; in particular, usage.doc/cjpeg.1/djpeg.1
have not been updated.  I have plans for an extensive "libjpeg.doc" file
describing use of the library, but haven't written anything yet.


Changes from version 4
----------------------

Version 5 represents a nearly complete redesign and rewrite of the IJG
software.  Major user-visible changes include:
  * Automatic configuration simplifies installation for most Unix systems.
  * A range of speed vs. image quality tradeoffs are [will be] supported.
    This includes resizing of an image during decompression: scaling down
    by a factor of 1/2, 1/4, or 1/8 is handled very efficiently.

The application programmer's interface to the library has changed completely.
Notable improvements include:
  * We have eliminated the use of callback routines for handling the
    uncompressed image data.  The application now sees the library as a
    set of routines that it calls to read or write image data on a
    scanline-by-scanline basis.
  * The application image data is represented in a conventional interleaved-
    pixel format, rather than as a separate array for each color channel.
    This can save a copying step in many programs.
  * The handling of compressed data has been cleaned up: the application can
    supply routines to source or sink the compressed data.  It is possible to
    suspend processing on source/sink buffer overrun, although this is not
    supported in all operating modes.
  * All static state has been eliminated from the library, so that multiple
    instances of compression or decompression can be active concurrently.
  * JPEG abbreviated datastream formats are supported, ie, quantization and
    Huffman tables can be stored separately from the image data.


The last widely used release before the version 5 rewrite was version 4A of
18-Feb-93.  Change logs before that point have been discarded, since they
are not of much interest after the rewrite.
