home *** CD-ROM | disk | FTP | other *** search
/ Encyclopedia of Graphics File Formats Companion / GFF_CD.ISO / software / unix / jpeg / jpegv4a.tar / CHANGELOG < prev    next >
Text File  |  1993-02-18  |  6KB  |  147 lines

  1. CHANGELOG for Independent JPEG Group's JPEG software
  2.  
  3.  
  4. Version 4A 18-Feb-93
  5. --------------------
  6.  
  7. Substantial speedup for grayscale output from color JPEG file (suppress
  8. processing of chrominance components).  Lesser speedups in Huffman decoding
  9. and in compression quantization.
  10.  
  11. Can switch stdin/stdout to binary mode with either fdopen() or setmode();
  12. this allows use of one-file command line style on a wider range of systems.
  13. Also added -outfile switch so that makefile test scripts don't have to depend
  14. on the command line style.
  15.  
  16. New makefile.icc for Code Builder; makefile.sas is updated for SAS C 6.x.
  17.  
  18. Hook added to allow surrounding application to read and write COM (comment)
  19. blocks.
  20.  
  21. Bugfixes (DOS only): jmemdos.c code for accessing expanded memory only worked
  22. if struct fields are packed on byte boundaries.  This is not true by default
  23. for Microsoft C.  Furthermore, Microsoft C needs an _fheapmin() call to clean
  24. up the far heap correctly.
  25.  
  26.  
  27. Version 4  10-Dec-92
  28. --------------------
  29.  
  30. Revised user interface: switches now use names instead of single letters.
  31. (Old switch letters are acceptable abbreviations of new switch names, EXCEPT
  32. for djpeg's old -g, -D, -1 switches.)  cjpeg has several new switches.
  33.  
  34. Provision for smoothing the input image added to cjpeg.  This helps a lot with
  35. converting dithered GIFs to JPEG.
  36.  
  37. Decoder upsampling now uses interpolation instead of pixel replication; this
  38. improves rendering of sharp colored edges.
  39.  
  40. The decompressor will now try to continue after detecting an error in the
  41. compressed data, instead of just aborting.  If the input file has restart
  42. markers, full synchronization will usually be regained at the next undamaged
  43. restart marker.  (But you're still out of luck if any of the header markers
  44. are corrupt.)
  45.  
  46. Substantial improvements in speed; DCT accuracy improved too.
  47.  
  48. Numerous minor changes to improve portability.  egetopt.c, which was by far
  49. the worst portability problem, is gone altogether.
  50.  
  51. A few bugfixes, sigh (mostly affecting DOS implementations only).
  52. Bugfix: on DOS machines, cjpeg -o would fail on grayscale input files.
  53. Bugfix: one-pass quantization to more than 64 color levels would fail on
  54. 16-bit-int machines.  This could only happen with quantized grayscale output.
  55.  
  56. A couple of changes affect code that calls the JPEG subroutine library:
  57.  
  58. 1. The parameter struct tag names are now capitalized (Compress_info_struct,
  59. Compress_methods_struct, Decompress_info_struct, Decompress_methods_struct,
  60. and External_methods_struct).  This makes it easier to live with brain-damaged
  61. compilers with short identifier lengths.  (All identifiers used in the JPEG
  62. code are now unique within the first 16 characters.)
  63.  
  64. 2. If you are not calling jselerror(), you need to initialize three new fields
  65. in the emethods structure, typically as follows:
  66.     e_methods.num_warnings = 0; /* no warnings emitted yet */
  67.     e_methods.first_warning_level = 0; /* display first corrupt-data warning */
  68.     e_methods.more_warning_level = 3; /* but suppress additional ones */
  69. These fields control handling of corrupt-data warnings.
  70.  
  71.  
  72. Version 3  17-Mar-92
  73. --------------------
  74.  
  75. Memory manager is finally capable of swapping to temp files.  There are
  76. separate versions of jmemsys.c for no temp files (same behavior as older
  77. versions), simple temp files with or without tmpfile(), and a DOS-specific
  78. version (including special code for EMS and XMS).  This is probably much more
  79. system-dependent than any of the older code; some bugs may surface here.
  80.  
  81. Hooks added for user interface to install progress monitoring routine
  82. (percent-done bar, etc).  See comments with dummy progress_monitor
  83. routines in jcdeflts.c, jddeflts.c.
  84.  
  85. Two-pass color quantization (finally!).  This is now the default method when
  86. quantizing; say '-1' to djpeg for quick-and-ugly 1-pass method.  There is
  87. a test file for checking 2-pass quantization and GIF output.
  88.  
  89. Fixed bug in jcopy_block_row that broke cjpeg -o option and djpeg -b option
  90. on MSDOS machines.
  91.  
  92. Miscellaneous small speedups; notably, DCT computation rearranged so that
  93. GCC "inline" feature is no longer needed for good code quality.
  94.  
  95. File config.c renamed ckconfig.c to avoid name conflict with /etc/config
  96. on Unix systems.
  97.  
  98. Added example.c to document usage of JPEG subroutines better.
  99.  
  100. Memory manager now knows how to release all storage during error exit ---
  101. avoids memory leak when using JPEG as subroutines.  This implies a couple
  102. small changes to the subroutine interface: the old free_defaults subroutines
  103. are no longer needed, but if you have a replacement error_exit method then it
  104. must call the new free_all method.  Also, jselvirtmem renamed to jselmemmgr.
  105.  
  106. Code for reading Targa files with 32-bit pixels was incorrect.
  107.  
  108. Colorspace conversion slightly faster and more accurate; because of
  109. this, old "test" files will no longer match bit-for-bit.
  110.  
  111.  
  112. Version 2  13-Dec-91
  113. --------------------
  114.  
  115. Documentation improved a little --- there are man pages now.
  116. Installation instructions moved from README to a separate file SETUP.
  117.  
  118. New program config.c is provided to help you get the configuration options
  119. right.  This should make installation a lot more foolproof.
  120.  
  121. Sense of djpeg -D switch reversed: dithering is now ON by default.
  122.  
  123. RLE image file support added (thanks to Mike Lijewski).
  124.  
  125. Targa image file support added (thanks to Lee Crocker).
  126.  
  127. PPM input now accepts all PPM and PGM files.
  128.  
  129. Bug fix: on machines where 'int' is 16 bits, high-Q-setting JPEG files
  130. were not decoded correctly.
  131.  
  132. Numerous changes to improve portability.  There should be few or no compiler
  133. warnings now.
  134.  
  135. Makefiles cleaned up; defaults now appropriate for production use rather than
  136. debugging.
  137.  
  138. Subroutine interface cleaned up.  If you wrote code based on version 1's
  139. jcmain/jdmain, you'll need to change it, but it should get a little shorter
  140. and simpler.
  141.  
  142.  
  143. Version 1   7-Oct-91
  144. --------------------
  145.  
  146. Initial public release.
  147.