19f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectCHANGE LOG for Independent JPEG Group's JPEG software
29f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
39f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
49f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVersion 6b  27-Mar-1998
59f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project-----------------------
69f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
79f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectjpegtran has new features for lossless image transformations (rotation
89f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectand flipping) as well as "lossless" reduction to grayscale.
99f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectjpegtran now copies comments by default; it has a -copy switch to enable
119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectcopying all APPn blocks as well, or to suppress comments.  (Formerly it
129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectalways suppressed comments and APPn blocks.)  jpegtran now also preserves
139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectJFIF version and resolution information.
149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNew decompressor library feature: COM and APPn markers found in the input
169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfile can be saved in memory for later use by the application.  (Before,
179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectyou had to code this up yourself with a custom marker processor.)
189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThere is an unused field "void * client_data" now in compress and decompress
209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectparameter structs; this may be useful in some applications.
219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectJFIF version number information is now saved by the decoder and accepted by
239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectthe encoder.  jpegtran uses this to copy the source file's version number,
249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectto ensure "jpegtran -copy all" won't create bogus files that contain JFXX
259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectextensions but claim to be version 1.01.  Applications that generate their
269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectown JFXX extension markers also (finally) have a supported way to cause the
279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectencoder to emit JFIF version number 1.02.
289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdjpeg's trace mode reports JFIF 1.02 thumbnail images as such, rather
309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectthan as unknown APP0 markers.
319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectIn -verbose mode, djpeg and rdjpgcom will try to print the contents of
339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectAPP12 markers as text.  Some digital cameras store useful text information
349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectin APP12 markers.
359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectHandling of truncated data streams is more robust: blocks beyond the one in
379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectwhich the error occurs will be output as uniform gray, or left unchanged
389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectif decoding a progressive JPEG.  The appearance no longer depends on the
399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectHuffman tables being used.
409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectHuffman tables are checked for validity much more carefully than before.
429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectTo avoid the Unisys LZW patent, djpeg's GIF output capability has been
449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectchanged to produce "uncompressed GIFs", and cjpeg's GIF input capability
459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecthas been removed altogether.  We're not happy about it either, but there
469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectseems to be no good alternative.
479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThe configure script now supports building libjpeg as a shared library
499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecton many flavors of Unix (all the ones that GNU libtool knows how to
509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectbuild shared libraries for).  Use "./configure --enable-shared" to
519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecttry this out.
529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNew jconfig file and makefiles for Microsoft Visual C++ and Developer Studio.
549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectAlso, a jconfig file and a build script for Metrowerks CodeWarrior
559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecton Apple Macintosh.  makefile.dj has been updated for DJGPP v2, and there
569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectare miscellaneous other minor improvements in the makefiles.
579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectjmemmac.c now knows how to create temporary files following Mac System 7
599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectconventions.
609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdjpeg's -map switch is now able to read raw-format PPM files reliably.
629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectcjpeg -progressive -restart no longer generates any unnecessary DRI markers.
649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectMultiple calls to jpeg_simple_progression for a single JPEG object
669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectno longer leak memory.
679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVersion 6a  7-Feb-96
709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project--------------------
719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectLibrary initialization sequence modified to detect version mismatches
739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectand struct field packing mismatches between library and calling application.
749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThis change requires applications to be recompiled, but does not require
759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectany application source code change.
769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectAll routine declarations changed to the style "GLOBAL(type) name ...",
789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectthat is, GLOBAL, LOCAL, METHODDEF, EXTERN are now macros taking the
799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectroutine's return type as an argument.  This makes it possible to add
809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectMicrosoft-style linkage keywords to all the routines by changing just
819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectthese macros.  Note that any application code that was using these macros
829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectwill have to be changed.
839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectDCT coefficient quantization tables are now stored in normal array order
859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectrather than zigzag order.  Application code that calls jpeg_add_quant_table,
869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projector otherwise manipulates quantization tables directly, will need to be
879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectchanged.  If you need to make such code work with either older or newer
889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectversions of the library, a test like "#if JPEG_LIB_VERSION >= 61" is
899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectrecommended.
909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdjpeg's trace capability now dumps DQT tables in natural order, not zigzag
929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectorder.  This allows the trace output to be made into a "-qtables" file
939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmore easily.
949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNew system-dependent memory manager module for use on Apple Macintosh.
969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectFix bug in cjpeg's -smooth option: last one or two scanlines would be
989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectduplicates of the prior line unless the image height mod 16 was 1 or 2.
999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectRepair minor problems in VMS, BCC, MC6 makefiles.
1019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNew configure script based on latest GNU Autoconf.
1039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectCorrect the list of include files needed by MetroWerks C for ccommand().
1059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNumerous small documentation updates.
1079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVersion 6  2-Aug-95
1109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project-------------------
1119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectProgressive JPEG support: library can read and write full progressive JPEG
1139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfiles.  A "buffered image" mode supports incremental decoding for on-the-fly
1149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdisplay of progressive images.  Simply recompiling an existing IJG-v5-based
1159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdecoder with v6 should allow it to read progressive files, though of course
1169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectwithout any special progressive display.
1179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1189f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNew "jpegtran" application performs lossless transcoding between different
1199f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectJPEG formats; primarily, it can be used to convert baseline to progressive
1209f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectJPEG and vice versa.  In support of jpegtran, the library now allows lossless
1219f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectreading and writing of JPEG files as DCT coefficient arrays.  This ability
1229f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmay be of use in other applications.
1239f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1249f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNotes for programmers:
1259f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project* We changed jpeg_start_decompress() to be able to suspend; this makes all
1269f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdecoding modes available to suspending-input applications.  However,
1279f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectexisting applications that use suspending input will need to be changed
1289f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectto check the return value from jpeg_start_decompress().  You don't need to
1299f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectdo anything if you don't use a suspending data source.
1309f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project* We changed the interface to the virtual array routines: access_virt_array
1319f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectroutines now take a count of the number of rows to access this time.  The
1329f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectlast parameter to request_virt_array routines is now interpreted as the
1339f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectmaximum number of rows that may be accessed at once, but not necessarily
1349f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectthe height of every access.
1359f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1369f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1379f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVersion 5b  15-Mar-95
1389f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project---------------------
1399f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1409f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectCorrect bugs with grayscale images having v_samp_factor > 1.
1419f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1429f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectjpeg_write_raw_data() now supports output suspension.
1439f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1449f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectCorrect bugs in "configure" script for case of compiling in
1459f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projecta directory other than the one containing the source files.
1469f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1479f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectRepair bug in jquant1.c: sometimes didn't use as many colors as it could.
1489f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1499f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectBorland C makefile and jconfig file work under either MS-DOS or OS/2.
1509f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1519f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectMiscellaneous improvements to documentation.
1529f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1539f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1549f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVersion 5a  7-Dec-94
1559f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project--------------------
1569f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1579f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectChanged color conversion roundoff behavior so that grayscale values are
1589f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectrepresented exactly.  (This causes test image files to change.)
1599f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1609f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectMake ordered dither use 16x16 instead of 4x4 pattern for a small quality
1619f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectimprovement.
1629f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1639f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNew configure script based on latest GNU Autoconf.
1649f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectFix configure script to handle CFLAGS correctly.
1659f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectRename *.auto files to *.cfg, so that configure script still works if
1669f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectfile names have been truncated for DOS.
1679f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1689f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectFix bug in rdbmp.c: didn't allow for extra data between header and image.
1699f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1709f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectModify rdppm.c/wrppm.c to handle 2-byte raw PPM/PGM formats for 12-bit data.
1719f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1729f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectFix several bugs in rdrle.c.
1739f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1749f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNEED_SHORT_EXTERNAL_NAMES option was broken.
1759f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1769f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectRevise jerror.h/jerror.c for more flexibility in message table.
1779f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1789f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectRepair oversight in jmemname.c NO_MKTEMP case: file could be there
1799f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectbut unreadable.
1809f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1819f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1829f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVersion 5  24-Sep-94
1839f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project--------------------
1849f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1859f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectVersion 5 represents a nearly complete redesign and rewrite of the IJG
1869f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectsoftware.  Major user-visible changes include:
1879f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * Automatic configuration simplifies installation for most Unix systems.
1889f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * A range of speed vs. image quality tradeoffs are supported.
1899f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    This includes resizing of an image during decompression: scaling down
1909f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    by a factor of 1/2, 1/4, or 1/8 is handled very efficiently.
1919f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * New programs rdjpgcom and wrjpgcom allow insertion and extraction
1929f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    of text comments in a JPEG file.
1939f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
1949f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThe application programmer's interface to the library has changed completely.
1959f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectNotable improvements include:
1969f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * We have eliminated the use of callback routines for handling the
1979f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    uncompressed image data.  The application now sees the library as a
1989f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    set of routines that it calls to read or write image data on a
1999f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    scanline-by-scanline basis.
2009f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * The application image data is represented in a conventional interleaved-
2019f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    pixel format, rather than as a separate array for each color channel.
2029f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    This can save a copying step in many programs.
2039f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * The handling of compressed data has been cleaned up: the application can
2049f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    supply routines to source or sink the compressed data.  It is possible to
2059f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    suspend processing on source/sink buffer overrun, although this is not
2069f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    supported in all operating modes.
2079f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * All static state has been eliminated from the library, so that multiple
2089f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    instances of compression or decompression can be active concurrently.
2099f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * JPEG abbreviated datastream formats are supported, ie, quantization and
2109f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    Huffman tables can be stored separately from the image data.
2119f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project  * And not only that, but the documentation of the library has improved
2129f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project    considerably!
2139f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
2149f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project
2159f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source ProjectThe last widely used release before the version 5 rewrite was version 4A of
2169f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Project18-Feb-93.  Change logs before that point have been discarded, since they
2179f5d49a1588e438ae7ceabd0c94172117e3303aaThe Android Open Source Projectare not of much interest after the rewrite.
218