home *** CD-ROM | disk | FTP | other *** search
- CHANGELOG for Independent JPEG Group's JPEG software
-
- Version 4 10-Dec-92
- --------------------
-
- Revised user interface: switches now use names instead of single letters.
- (Old switch letters are acceptable abbreviations of new switch names, EXCEPT
- for djpeg's old -g, -D, -1 switches.) cjpeg has several new switches.
-
- Provision for smoothing the input image added to cjpeg. This helps a lot with
- converting dithered GIFs to JPEG.
-
- Decoder upsampling now uses interpolation instead of pixel replication; this
- improves rendering of sharp colored edges.
-
- The decompressor will now try to continue after detecting an error in the
- compressed data, instead of just aborting. If the input file has restart
- markers, full synchronization will usually be regained at the next undamaged
- restart marker. (But you're still out of luck if any of the header markers
- are corrupt.)
-
- Substantial improvements in speed; DCT accuracy improved too.
-
- Numerous minor changes to improve portability. egetopt.c, which was by far
- the worst portability problem, is gone altogether.
-
- A few bugfixes, sigh (mostly affecting DOS implementations only).
- Bugfix: on DOS machines, cjpeg -o would fail on grayscale input files.
- Bugfix: one-pass quantization to more than 64 color levels would fail on
- 16-bit-int machines. This could only happen with quantized grayscale output.
-
- A couple of changes affect code that calls the JPEG subroutine library:
-
- 1. The parameter struct tag names are now capitalized (Compress_info_struct,
- Compress_methods_struct, Decompress_info_struct, Decompress_methods_struct,
- and External_methods_struct). This makes it easier to live with brain-damaged
- compilers with short identifier lengths. (All identifiers used in the JPEG
- code are now unique within the first 16 characters.)
-
- 2. If you are not calling jselerror(), you need to initialize three new fields
- in the emethods structure, typically as follows:
- e_methods.num_warnings = 0; /* no warnings emitted yet */
- e_methods.first_warning_level = 0; /* display first corrupt-data warning */
- e_methods.more_warning_level = 3; /* but suppress additional ones */
- These fields control handling of corrupt-data warnings.
-
-
- Version 3 17-Mar-92
- --------------------
-
- Memory manager is finally capable of swapping to temp files. There are
- separate versions of jmemsys.c for no temp files (same behavior as older
- versions), simple temp files with or without tmpfile(), and a DOS-specific
- version (including special code for EMS and XMS). This is probably much more
- system-dependent than any of the older code; some bugs may surface here.
-
- Hooks added for user interface to install progress monitoring routine
- (percent-done bar, etc). See comments with dummy progress_monitor
- routines in jcdeflts.c, jddeflts.c.
-
- Two-pass color quantization (finally!). This is now the default method when
- quantizing; say '-1' to djpeg for quick-and-ugly 1-pass method. There is
- a test file for checking 2-pass quantization and GIF output.
-
- Fixed bug in jcopy_block_row that broke cjpeg -o option and djpeg -b option
- on MSDOS machines.
-
- Miscellaneous small speedups; notably, DCT computation rearranged so that
- GCC "inline" feature is no longer needed for good code quality.
-
- File config.c renamed ckconfig.c to avoid name conflict with /etc/config
- on Unix systems.
-
- Added example.c to document usage of JPEG subroutines better.
-
- Memory manager now knows how to release all storage during error exit ---
- avoids memory leak when using JPEG as subroutines. This implies a couple
- small changes to the subroutine interface: the old free_defaults subroutines
- are no longer needed, but if you have a replacement error_exit method then it
- must call the new free_all method. Also, jselvirtmem renamed to jselmemmgr.
-
- Code for reading Targa files with 32-bit pixels was incorrect.
-
- Colorspace conversion slightly faster and more accurate; because of
- this, old "test" files will no longer match bit-for-bit.
-
-
- Version 2 13-Dec-91
- --------------------
-
- Documentation improved a little --- there are man pages now.
- Installation instructions moved from README to a separate file SETUP.
-
- New program config.c is provided to help you get the configuration options
- right. This should make installation a lot more foolproof.
-
- Sense of djpeg -D switch reversed: dithering is now ON by default.
-
- RLE image file support added (thanks to Mike Lijewski).
-
- Targa image file support added (thanks to Lee Crocker).
-
- PPM input now accepts all PPM and PGM files.
-
- Bug fix: on machines where 'int' is 16 bits, high-Q-setting JPEG files
- were not decoded correctly.
-
- Numerous changes to improve portability. There should be few or no compiler
- warnings now.
-
- Makefiles cleaned up; defaults now appropriate for production use rather than
- debugging.
-
- Subroutine interface cleaned up. If you wrote code based on version 1's
- jcmain/jdmain, you'll need to change it, but it should get a little shorter
- and simpler.
-
-
- Version 1 7-Oct-91
- --------------------
-
- Initial public release.
-