| CHANGELOG for Independent JPEG Group's JPEG software |
| |
| |
| Version 4A 18-Feb-93 |
| -------------------- |
| |
| Substantial speedup for grayscale output from color JPEG file (suppress |
| processing of chrominance components). Lesser speedups in Huffman decoding |
| and in compression quantization. |
| |
| Can switch stdin/stdout to binary mode with either fdopen() or setmode(); |
| this allows use of one-file command line style on a wider range of systems. |
| Also added -outfile switch so that makefile test scripts don't have to depend |
| on the command line style. |
| |
| New makefile.icc for Code Builder; makefile.sas is updated for SAS C 6.x. |
| |
| Hook added to allow surrounding application to read and write COM (comment) |
| blocks. |
| |
| Bugfixes (DOS only): jmemdos.c code for accessing expanded memory only worked |
| if struct fields are packed on byte boundaries. This is not true by default |
| for Microsoft C. Furthermore, Microsoft C needs an _fheapmin() call to clean |
| up the far heap correctly. |
| |
| |
| 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. |