1991-12-12 19:00:00 -05:00
|
|
|
CHANGELOG for Independent JPEG Group's JPEG software
|
|
|
|
|
1992-12-09 19:00:00 -05:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
1992-03-16 19:00:00 -05:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
1991-12-12 19:00:00 -05:00
|
|
|
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.
|