1*dfc6aa5cSAndroid Build Coastguard Workerlibjpeg-turbo note: This file has been modified by The libjpeg-turbo Project 2*dfc6aa5cSAndroid Build Coastguard Workerto include only information relevant to libjpeg-turbo. It is included only for 3*dfc6aa5cSAndroid Build Coastguard Workerreference. Please see ChangeLog.md for information specific to libjpeg-turbo. 4*dfc6aa5cSAndroid Build Coastguard Worker 5*dfc6aa5cSAndroid Build Coastguard Worker 6*dfc6aa5cSAndroid Build Coastguard WorkerCHANGE LOG for Independent JPEG Group's JPEG software 7*dfc6aa5cSAndroid Build Coastguard Worker 8*dfc6aa5cSAndroid Build Coastguard Worker 9*dfc6aa5cSAndroid Build Coastguard WorkerVersion 9d 12-Jan-2020 10*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 11*dfc6aa5cSAndroid Build Coastguard Worker 12*dfc6aa5cSAndroid Build Coastguard WorkerRestore GIF read and write support from libjpeg version 6a. 13*dfc6aa5cSAndroid Build Coastguard WorkerThank to Wolfgang Werner (W.W.) Heinz for suggestion. 14*dfc6aa5cSAndroid Build Coastguard Worker 15*dfc6aa5cSAndroid Build Coastguard WorkerAdd jpegtran -drop option; add options to the crop extension and wipe 16*dfc6aa5cSAndroid Build Coastguard Workerto fill the extra area with content from the source image region, 17*dfc6aa5cSAndroid Build Coastguard Workerinstead of gray out. 18*dfc6aa5cSAndroid Build Coastguard Worker 19*dfc6aa5cSAndroid Build Coastguard Worker 20*dfc6aa5cSAndroid Build Coastguard WorkerVersion 9c 14-Jan-2018 21*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 22*dfc6aa5cSAndroid Build Coastguard Worker 23*dfc6aa5cSAndroid Build Coastguard Workerjpegtran: add an option to the -wipe switch to fill the region 24*dfc6aa5cSAndroid Build Coastguard Workerwith the average of adjacent blocks, instead of gray out. 25*dfc6aa5cSAndroid Build Coastguard WorkerThank to Caitlyn Feddock and Maddie Ziegler for inspiration. 26*dfc6aa5cSAndroid Build Coastguard Worker 27*dfc6aa5cSAndroid Build Coastguard Worker 28*dfc6aa5cSAndroid Build Coastguard WorkerVersion 9b 17-Jan-2016 29*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 30*dfc6aa5cSAndroid Build Coastguard Worker 31*dfc6aa5cSAndroid Build Coastguard WorkerDocument 'f' specifier for jpegtran -crop specification. 32*dfc6aa5cSAndroid Build Coastguard WorkerThank to Michele Martone for suggestion. 33*dfc6aa5cSAndroid Build Coastguard Worker 34*dfc6aa5cSAndroid Build Coastguard Worker 35*dfc6aa5cSAndroid Build Coastguard WorkerVersion 9a 19-Jan-2014 36*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 37*dfc6aa5cSAndroid Build Coastguard Worker 38*dfc6aa5cSAndroid Build Coastguard WorkerAdd jpegtran -wipe option and extension for -crop. 39*dfc6aa5cSAndroid Build Coastguard WorkerThank to Andrew Senior, David Clunie, and Josef Schmid for suggestion. 40*dfc6aa5cSAndroid Build Coastguard Worker 41*dfc6aa5cSAndroid Build Coastguard Worker 42*dfc6aa5cSAndroid Build Coastguard WorkerVersion 9 13-Jan-2013 43*dfc6aa5cSAndroid Build Coastguard Worker---------------------- 44*dfc6aa5cSAndroid Build Coastguard Worker 45*dfc6aa5cSAndroid Build Coastguard WorkerAdd remark for jpeg_mem_dest() in jdatadst.c. 46*dfc6aa5cSAndroid Build Coastguard WorkerThank to Elie-Gregoire Khoury for the hint. 47*dfc6aa5cSAndroid Build Coastguard Worker 48*dfc6aa5cSAndroid Build Coastguard WorkerCorrect argument type in format string, avoid compiler warnings. 49*dfc6aa5cSAndroid Build Coastguard WorkerThank to Vincent Torri for hint. 50*dfc6aa5cSAndroid Build Coastguard Worker 51*dfc6aa5cSAndroid Build Coastguard Worker 52*dfc6aa5cSAndroid Build Coastguard WorkerVersion 8d 15-Jan-2012 53*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 54*dfc6aa5cSAndroid Build Coastguard Worker 55*dfc6aa5cSAndroid Build Coastguard WorkerAdd cjpeg -rgb option to create RGB JPEG files. 56*dfc6aa5cSAndroid Build Coastguard WorkerUsing this switch suppresses the conversion from RGB 57*dfc6aa5cSAndroid Build Coastguard Workercolorspace input to the default YCbCr JPEG colorspace. 58*dfc6aa5cSAndroid Build Coastguard WorkerThank to Michael Koch for the initial suggestion. 59*dfc6aa5cSAndroid Build Coastguard Worker 60*dfc6aa5cSAndroid Build Coastguard WorkerAdd option to disable the region adjustment in the transupp crop code. 61*dfc6aa5cSAndroid Build Coastguard WorkerThank to Jeffrey Friedl for the suggestion. 62*dfc6aa5cSAndroid Build Coastguard Worker 63*dfc6aa5cSAndroid Build Coastguard Worker 64*dfc6aa5cSAndroid Build Coastguard WorkerVersion 8b 16-May-2010 65*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 66*dfc6aa5cSAndroid Build Coastguard Worker 67*dfc6aa5cSAndroid Build Coastguard WorkerRepair problem in new memory source manager with corrupt JPEG data. 68*dfc6aa5cSAndroid Build Coastguard WorkerThank to Ted Campbell and Samuel Chun for the report. 69*dfc6aa5cSAndroid Build Coastguard Worker 70*dfc6aa5cSAndroid Build Coastguard Worker 71*dfc6aa5cSAndroid Build Coastguard WorkerVersion 8a 28-Feb-2010 72*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 73*dfc6aa5cSAndroid Build Coastguard Worker 74*dfc6aa5cSAndroid Build Coastguard WorkerWriting tables-only datastreams via jpeg_write_tables works again. 75*dfc6aa5cSAndroid Build Coastguard Worker 76*dfc6aa5cSAndroid Build Coastguard WorkerSupport 32-bit BMPs (RGB image with Alpha channel) for read in cjpeg. 77*dfc6aa5cSAndroid Build Coastguard WorkerThank to Brett Blackham for the suggestion. 78*dfc6aa5cSAndroid Build Coastguard Worker 79*dfc6aa5cSAndroid Build Coastguard Worker 80*dfc6aa5cSAndroid Build Coastguard WorkerVersion 8 10-Jan-2010 81*dfc6aa5cSAndroid Build Coastguard Worker---------------------- 82*dfc6aa5cSAndroid Build Coastguard Worker 83*dfc6aa5cSAndroid Build Coastguard WorkerAdd sanity check in BMP reader module to avoid cjpeg crash for empty input 84*dfc6aa5cSAndroid Build Coastguard Workerimage (thank to Isaev Ildar of ISP RAS, Moscow, RU for reporting this error). 85*dfc6aa5cSAndroid Build Coastguard Worker 86*dfc6aa5cSAndroid Build Coastguard WorkerAdd data source and destination managers for read from and write to 87*dfc6aa5cSAndroid Build Coastguard Workermemory buffers. New API functions jpeg_mem_src and jpeg_mem_dest. 88*dfc6aa5cSAndroid Build Coastguard WorkerThank to Roberto Boni from Italy for the suggestion. 89*dfc6aa5cSAndroid Build Coastguard Worker 90*dfc6aa5cSAndroid Build Coastguard Worker 91*dfc6aa5cSAndroid Build Coastguard WorkerVersion 7 27-Jun-2009 92*dfc6aa5cSAndroid Build Coastguard Worker---------------------- 93*dfc6aa5cSAndroid Build Coastguard Worker 94*dfc6aa5cSAndroid Build Coastguard WorkerNew scaled DCTs implemented. 95*dfc6aa5cSAndroid Build Coastguard Workerdjpeg now supports scalings N/8 with all N from 1 to 16. 96*dfc6aa5cSAndroid Build Coastguard Worker 97*dfc6aa5cSAndroid Build Coastguard Workercjpeg -quality option has been extended for support of separate quality 98*dfc6aa5cSAndroid Build Coastguard Workersettings for luminance and chrominance (or in general, for every provided 99*dfc6aa5cSAndroid Build Coastguard Workerquantization table slot). 100*dfc6aa5cSAndroid Build Coastguard WorkerNew API function jpeg_default_qtables() and q_scale_factor array in library. 101*dfc6aa5cSAndroid Build Coastguard Worker 102*dfc6aa5cSAndroid Build Coastguard WorkerSupport arithmetic entropy encoding and decoding. 103*dfc6aa5cSAndroid Build Coastguard WorkerAdded files jaricom.c, jcarith.c, jdarith.c. 104*dfc6aa5cSAndroid Build Coastguard Worker 105*dfc6aa5cSAndroid Build Coastguard Workerjpegtran has a new "lossless" cropping feature. 106*dfc6aa5cSAndroid Build Coastguard Worker 107*dfc6aa5cSAndroid Build Coastguard WorkerImplement -perfect option in jpegtran, new API function 108*dfc6aa5cSAndroid Build Coastguard Workerjtransform_perfect_transform() in transupp. (DP 204_perfect.dpatch) 109*dfc6aa5cSAndroid Build Coastguard Worker 110*dfc6aa5cSAndroid Build Coastguard WorkerBetter error messages for jpegtran fopen failure. 111*dfc6aa5cSAndroid Build Coastguard Worker(DP 203_jpegtran_errmsg.dpatch) 112*dfc6aa5cSAndroid Build Coastguard Worker 113*dfc6aa5cSAndroid Build Coastguard WorkerFix byte order issue with 16bit PPM/PGM files in rdppm.c/wrppm.c: 114*dfc6aa5cSAndroid Build Coastguard Workeraccording to Netpbm, the de facto standard implementation of the PNM formats, 115*dfc6aa5cSAndroid Build Coastguard Workerthe most significant byte is first. (DP 203_rdppm.dpatch) 116*dfc6aa5cSAndroid Build Coastguard Worker 117*dfc6aa5cSAndroid Build Coastguard WorkerAdd -raw option to rdjpgcom not to mangle the output. 118*dfc6aa5cSAndroid Build Coastguard Worker(DP 205_rdjpgcom_raw.dpatch) 119*dfc6aa5cSAndroid Build Coastguard Worker 120*dfc6aa5cSAndroid Build Coastguard WorkerMake rdjpgcom locale aware. (DP 201_rdjpgcom_locale.dpatch) 121*dfc6aa5cSAndroid Build Coastguard Worker 122*dfc6aa5cSAndroid Build Coastguard WorkerAdd extern "C" to jpeglib.h. 123*dfc6aa5cSAndroid Build Coastguard WorkerThis avoids the need to put extern "C" { ... } around #include "jpeglib.h" 124*dfc6aa5cSAndroid Build Coastguard Workerin your C++ application. Defining the symbol DONT_USE_EXTERN_C in the 125*dfc6aa5cSAndroid Build Coastguard Workerconfiguration prevents this. (DP 202_jpeglib.h_c++.dpatch) 126*dfc6aa5cSAndroid Build Coastguard Worker 127*dfc6aa5cSAndroid Build Coastguard Worker 128*dfc6aa5cSAndroid Build Coastguard WorkerVersion 6b 27-Mar-1998 129*dfc6aa5cSAndroid Build Coastguard Worker----------------------- 130*dfc6aa5cSAndroid Build Coastguard Worker 131*dfc6aa5cSAndroid Build Coastguard Workerjpegtran has new features for lossless image transformations (rotation 132*dfc6aa5cSAndroid Build Coastguard Workerand flipping) as well as "lossless" reduction to grayscale. 133*dfc6aa5cSAndroid Build Coastguard Worker 134*dfc6aa5cSAndroid Build Coastguard Workerjpegtran now copies comments by default; it has a -copy switch to enable 135*dfc6aa5cSAndroid Build Coastguard Workercopying all APPn blocks as well, or to suppress comments. (Formerly it 136*dfc6aa5cSAndroid Build Coastguard Workeralways suppressed comments and APPn blocks.) jpegtran now also preserves 137*dfc6aa5cSAndroid Build Coastguard WorkerJFIF version and resolution information. 138*dfc6aa5cSAndroid Build Coastguard Worker 139*dfc6aa5cSAndroid Build Coastguard WorkerNew decompressor library feature: COM and APPn markers found in the input 140*dfc6aa5cSAndroid Build Coastguard Workerfile can be saved in memory for later use by the application. (Before, 141*dfc6aa5cSAndroid Build Coastguard Workeryou had to code this up yourself with a custom marker processor.) 142*dfc6aa5cSAndroid Build Coastguard Worker 143*dfc6aa5cSAndroid Build Coastguard WorkerThere is an unused field "void * client_data" now in compress and decompress 144*dfc6aa5cSAndroid Build Coastguard Workerparameter structs; this may be useful in some applications. 145*dfc6aa5cSAndroid Build Coastguard Worker 146*dfc6aa5cSAndroid Build Coastguard WorkerJFIF version number information is now saved by the decoder and accepted by 147*dfc6aa5cSAndroid Build Coastguard Workerthe encoder. jpegtran uses this to copy the source file's version number, 148*dfc6aa5cSAndroid Build Coastguard Workerto ensure "jpegtran -copy all" won't create bogus files that contain JFXX 149*dfc6aa5cSAndroid Build Coastguard Workerextensions but claim to be version 1.01. Applications that generate their 150*dfc6aa5cSAndroid Build Coastguard Workerown JFXX extension markers also (finally) have a supported way to cause the 151*dfc6aa5cSAndroid Build Coastguard Workerencoder to emit JFIF version number 1.02. 152*dfc6aa5cSAndroid Build Coastguard Worker 153*dfc6aa5cSAndroid Build Coastguard Workerdjpeg's trace mode reports JFIF 1.02 thumbnail images as such, rather 154*dfc6aa5cSAndroid Build Coastguard Workerthan as unknown APP0 markers. 155*dfc6aa5cSAndroid Build Coastguard Worker 156*dfc6aa5cSAndroid Build Coastguard WorkerIn -verbose mode, djpeg and rdjpgcom will try to print the contents of 157*dfc6aa5cSAndroid Build Coastguard WorkerAPP12 markers as text. Some digital cameras store useful text information 158*dfc6aa5cSAndroid Build Coastguard Workerin APP12 markers. 159*dfc6aa5cSAndroid Build Coastguard Worker 160*dfc6aa5cSAndroid Build Coastguard WorkerHandling of truncated data streams is more robust: blocks beyond the one in 161*dfc6aa5cSAndroid Build Coastguard Workerwhich the error occurs will be output as uniform gray, or left unchanged 162*dfc6aa5cSAndroid Build Coastguard Workerif decoding a progressive JPEG. The appearance no longer depends on the 163*dfc6aa5cSAndroid Build Coastguard WorkerHuffman tables being used. 164*dfc6aa5cSAndroid Build Coastguard Worker 165*dfc6aa5cSAndroid Build Coastguard WorkerHuffman tables are checked for validity much more carefully than before. 166*dfc6aa5cSAndroid Build Coastguard Worker 167*dfc6aa5cSAndroid Build Coastguard WorkerThe configure script now supports building libjpeg as a shared library 168*dfc6aa5cSAndroid Build Coastguard Workeron many flavors of Unix (all the ones that GNU libtool knows how to 169*dfc6aa5cSAndroid Build Coastguard Workerbuild shared libraries for). Use "./configure --enable-shared" to 170*dfc6aa5cSAndroid Build Coastguard Workertry this out. 171*dfc6aa5cSAndroid Build Coastguard Worker 172*dfc6aa5cSAndroid Build Coastguard WorkerNew jconfig file and makefiles for Microsoft Visual C++ and Developer Studio. 173*dfc6aa5cSAndroid Build Coastguard WorkerAlso, a jconfig file and a build script for Metrowerks CodeWarrior 174*dfc6aa5cSAndroid Build Coastguard Workeron Apple Macintosh. makefile.dj has been updated for DJGPP v2, and there 175*dfc6aa5cSAndroid Build Coastguard Workerare miscellaneous other minor improvements in the makefiles. 176*dfc6aa5cSAndroid Build Coastguard Worker 177*dfc6aa5cSAndroid Build Coastguard Workerjmemmac.c now knows how to create temporary files following Mac System 7 178*dfc6aa5cSAndroid Build Coastguard Workerconventions. 179*dfc6aa5cSAndroid Build Coastguard Worker 180*dfc6aa5cSAndroid Build Coastguard Workerdjpeg's -map switch is now able to read raw-format PPM files reliably. 181*dfc6aa5cSAndroid Build Coastguard Worker 182*dfc6aa5cSAndroid Build Coastguard Workercjpeg -progressive -restart no longer generates any unnecessary DRI markers. 183*dfc6aa5cSAndroid Build Coastguard Worker 184*dfc6aa5cSAndroid Build Coastguard WorkerMultiple calls to jpeg_simple_progression for a single JPEG object 185*dfc6aa5cSAndroid Build Coastguard Workerno longer leak memory. 186*dfc6aa5cSAndroid Build Coastguard Worker 187*dfc6aa5cSAndroid Build Coastguard Worker 188*dfc6aa5cSAndroid Build Coastguard WorkerVersion 6a 7-Feb-96 189*dfc6aa5cSAndroid Build Coastguard Worker-------------------- 190*dfc6aa5cSAndroid Build Coastguard Worker 191*dfc6aa5cSAndroid Build Coastguard WorkerLibrary initialization sequence modified to detect version mismatches 192*dfc6aa5cSAndroid Build Coastguard Workerand struct field packing mismatches between library and calling application. 193*dfc6aa5cSAndroid Build Coastguard WorkerThis change requires applications to be recompiled, but does not require 194*dfc6aa5cSAndroid Build Coastguard Workerany application source code change. 195*dfc6aa5cSAndroid Build Coastguard Worker 196*dfc6aa5cSAndroid Build Coastguard WorkerAll routine declarations changed to the style "GLOBAL(type) name ...", 197*dfc6aa5cSAndroid Build Coastguard Workerthat is, GLOBAL, LOCAL, METHODDEF, EXTERN are now macros taking the 198*dfc6aa5cSAndroid Build Coastguard Workerroutine's return type as an argument. This makes it possible to add 199*dfc6aa5cSAndroid Build Coastguard WorkerMicrosoft-style linkage keywords to all the routines by changing just 200*dfc6aa5cSAndroid Build Coastguard Workerthese macros. Note that any application code that was using these macros 201*dfc6aa5cSAndroid Build Coastguard Workerwill have to be changed. 202*dfc6aa5cSAndroid Build Coastguard Worker 203*dfc6aa5cSAndroid Build Coastguard WorkerDCT coefficient quantization tables are now stored in normal array order 204*dfc6aa5cSAndroid Build Coastguard Workerrather than zigzag order. Application code that calls jpeg_add_quant_table, 205*dfc6aa5cSAndroid Build Coastguard Workeror otherwise manipulates quantization tables directly, will need to be 206*dfc6aa5cSAndroid Build Coastguard Workerchanged. If you need to make such code work with either older or newer 207*dfc6aa5cSAndroid Build Coastguard Workerversions of the library, a test like "#if JPEG_LIB_VERSION >= 61" is 208*dfc6aa5cSAndroid Build Coastguard Workerrecommended. 209*dfc6aa5cSAndroid Build Coastguard Worker 210*dfc6aa5cSAndroid Build Coastguard Workerdjpeg's trace capability now dumps DQT tables in natural order, not zigzag 211*dfc6aa5cSAndroid Build Coastguard Workerorder. This allows the trace output to be made into a "-qtables" file 212*dfc6aa5cSAndroid Build Coastguard Workermore easily. 213*dfc6aa5cSAndroid Build Coastguard Worker 214*dfc6aa5cSAndroid Build Coastguard WorkerNew system-dependent memory manager module for use on Apple Macintosh. 215*dfc6aa5cSAndroid Build Coastguard Worker 216*dfc6aa5cSAndroid Build Coastguard WorkerFix bug in cjpeg's -smooth option: last one or two scanlines would be 217*dfc6aa5cSAndroid Build Coastguard Workerduplicates of the prior line unless the image height mod 16 was 1 or 2. 218*dfc6aa5cSAndroid Build Coastguard Worker 219*dfc6aa5cSAndroid Build Coastguard WorkerRepair minor problems in VMS, BCC, MC6 makefiles. 220*dfc6aa5cSAndroid Build Coastguard Worker 221*dfc6aa5cSAndroid Build Coastguard WorkerNew configure script based on latest GNU Autoconf. 222*dfc6aa5cSAndroid Build Coastguard Worker 223*dfc6aa5cSAndroid Build Coastguard WorkerCorrect the list of include files needed by MetroWerks C for ccommand(). 224*dfc6aa5cSAndroid Build Coastguard Worker 225*dfc6aa5cSAndroid Build Coastguard WorkerNumerous small documentation updates. 226*dfc6aa5cSAndroid Build Coastguard Worker 227*dfc6aa5cSAndroid Build Coastguard Worker 228*dfc6aa5cSAndroid Build Coastguard WorkerVersion 6 2-Aug-95 229*dfc6aa5cSAndroid Build Coastguard Worker------------------- 230*dfc6aa5cSAndroid Build Coastguard Worker 231*dfc6aa5cSAndroid Build Coastguard WorkerProgressive JPEG support: library can read and write full progressive JPEG 232*dfc6aa5cSAndroid Build Coastguard Workerfiles. A "buffered image" mode supports incremental decoding for on-the-fly 233*dfc6aa5cSAndroid Build Coastguard Workerdisplay of progressive images. Simply recompiling an existing IJG-v5-based 234*dfc6aa5cSAndroid Build Coastguard Workerdecoder with v6 should allow it to read progressive files, though of course 235*dfc6aa5cSAndroid Build Coastguard Workerwithout any special progressive display. 236*dfc6aa5cSAndroid Build Coastguard Worker 237*dfc6aa5cSAndroid Build Coastguard WorkerNew "jpegtran" application performs lossless transcoding between different 238*dfc6aa5cSAndroid Build Coastguard WorkerJPEG formats; primarily, it can be used to convert baseline to progressive 239*dfc6aa5cSAndroid Build Coastguard WorkerJPEG and vice versa. In support of jpegtran, the library now allows lossless 240*dfc6aa5cSAndroid Build Coastguard Workerreading and writing of JPEG files as DCT coefficient arrays. This ability 241*dfc6aa5cSAndroid Build Coastguard Workermay be of use in other applications. 242*dfc6aa5cSAndroid Build Coastguard Worker 243*dfc6aa5cSAndroid Build Coastguard WorkerNotes for programmers: 244*dfc6aa5cSAndroid Build Coastguard Worker* We changed jpeg_start_decompress() to be able to suspend; this makes all 245*dfc6aa5cSAndroid Build Coastguard Workerdecoding modes available to suspending-input applications. However, 246*dfc6aa5cSAndroid Build Coastguard Workerexisting applications that use suspending input will need to be changed 247*dfc6aa5cSAndroid Build Coastguard Workerto check the return value from jpeg_start_decompress(). You don't need to 248*dfc6aa5cSAndroid Build Coastguard Workerdo anything if you don't use a suspending data source. 249*dfc6aa5cSAndroid Build Coastguard Worker* We changed the interface to the virtual array routines: access_virt_array 250*dfc6aa5cSAndroid Build Coastguard Workerroutines now take a count of the number of rows to access this time. The 251*dfc6aa5cSAndroid Build Coastguard Workerlast parameter to request_virt_array routines is now interpreted as the 252*dfc6aa5cSAndroid Build Coastguard Workermaximum number of rows that may be accessed at once, but not necessarily 253*dfc6aa5cSAndroid Build Coastguard Workerthe height of every access. 254*dfc6aa5cSAndroid Build Coastguard Worker 255*dfc6aa5cSAndroid Build Coastguard Worker 256*dfc6aa5cSAndroid Build Coastguard WorkerVersion 5b 15-Mar-95 257*dfc6aa5cSAndroid Build Coastguard Worker--------------------- 258*dfc6aa5cSAndroid Build Coastguard Worker 259*dfc6aa5cSAndroid Build Coastguard WorkerCorrect bugs with grayscale images having v_samp_factor > 1. 260*dfc6aa5cSAndroid Build Coastguard Worker 261*dfc6aa5cSAndroid Build Coastguard Workerjpeg_write_raw_data() now supports output suspension. 262*dfc6aa5cSAndroid Build Coastguard Worker 263*dfc6aa5cSAndroid Build Coastguard WorkerCorrect bugs in "configure" script for case of compiling in 264*dfc6aa5cSAndroid Build Coastguard Workera directory other than the one containing the source files. 265*dfc6aa5cSAndroid Build Coastguard Worker 266*dfc6aa5cSAndroid Build Coastguard WorkerRepair bug in jquant1.c: sometimes didn't use as many colors as it could. 267*dfc6aa5cSAndroid Build Coastguard Worker 268*dfc6aa5cSAndroid Build Coastguard WorkerBorland C makefile and jconfig file work under either MS-DOS or OS/2. 269*dfc6aa5cSAndroid Build Coastguard Worker 270*dfc6aa5cSAndroid Build Coastguard WorkerMiscellaneous improvements to documentation. 271*dfc6aa5cSAndroid Build Coastguard Worker 272*dfc6aa5cSAndroid Build Coastguard Worker 273*dfc6aa5cSAndroid Build Coastguard WorkerVersion 5a 7-Dec-94 274*dfc6aa5cSAndroid Build Coastguard Worker-------------------- 275*dfc6aa5cSAndroid Build Coastguard Worker 276*dfc6aa5cSAndroid Build Coastguard WorkerChanged color conversion roundoff behavior so that grayscale values are 277*dfc6aa5cSAndroid Build Coastguard Workerrepresented exactly. (This causes test image files to change.) 278*dfc6aa5cSAndroid Build Coastguard Worker 279*dfc6aa5cSAndroid Build Coastguard WorkerMake ordered dither use 16x16 instead of 4x4 pattern for a small quality 280*dfc6aa5cSAndroid Build Coastguard Workerimprovement. 281*dfc6aa5cSAndroid Build Coastguard Worker 282*dfc6aa5cSAndroid Build Coastguard WorkerNew configure script based on latest GNU Autoconf. 283*dfc6aa5cSAndroid Build Coastguard WorkerFix configure script to handle CFLAGS correctly. 284*dfc6aa5cSAndroid Build Coastguard WorkerRename *.auto files to *.cfg, so that configure script still works if 285*dfc6aa5cSAndroid Build Coastguard Workerfile names have been truncated for DOS. 286*dfc6aa5cSAndroid Build Coastguard Worker 287*dfc6aa5cSAndroid Build Coastguard WorkerFix bug in rdbmp.c: didn't allow for extra data between header and image. 288*dfc6aa5cSAndroid Build Coastguard Worker 289*dfc6aa5cSAndroid Build Coastguard WorkerModify rdppm.c/wrppm.c to handle 2-byte raw PPM/PGM formats for 12-bit data. 290*dfc6aa5cSAndroid Build Coastguard Worker 291*dfc6aa5cSAndroid Build Coastguard WorkerFix several bugs in rdrle.c. 292*dfc6aa5cSAndroid Build Coastguard Worker 293*dfc6aa5cSAndroid Build Coastguard WorkerNEED_SHORT_EXTERNAL_NAMES option was broken. 294*dfc6aa5cSAndroid Build Coastguard Worker 295*dfc6aa5cSAndroid Build Coastguard WorkerRevise jerror.h/jerror.c for more flexibility in message table. 296*dfc6aa5cSAndroid Build Coastguard Worker 297*dfc6aa5cSAndroid Build Coastguard WorkerRepair oversight in jmemname.c NO_MKTEMP case: file could be there 298*dfc6aa5cSAndroid Build Coastguard Workerbut unreadable. 299*dfc6aa5cSAndroid Build Coastguard Worker 300*dfc6aa5cSAndroid Build Coastguard Worker 301*dfc6aa5cSAndroid Build Coastguard WorkerVersion 5 24-Sep-94 302*dfc6aa5cSAndroid Build Coastguard Worker-------------------- 303*dfc6aa5cSAndroid Build Coastguard Worker 304*dfc6aa5cSAndroid Build Coastguard WorkerVersion 5 represents a nearly complete redesign and rewrite of the IJG 305*dfc6aa5cSAndroid Build Coastguard Workersoftware. Major user-visible changes include: 306*dfc6aa5cSAndroid Build Coastguard Worker * Automatic configuration simplifies installation for most Unix systems. 307*dfc6aa5cSAndroid Build Coastguard Worker * A range of speed vs. image quality tradeoffs are supported. 308*dfc6aa5cSAndroid Build Coastguard Worker This includes resizing of an image during decompression: scaling down 309*dfc6aa5cSAndroid Build Coastguard Worker by a factor of 1/2, 1/4, or 1/8 is handled very efficiently. 310*dfc6aa5cSAndroid Build Coastguard Worker * New programs rdjpgcom and wrjpgcom allow insertion and extraction 311*dfc6aa5cSAndroid Build Coastguard Worker of text comments in a JPEG file. 312*dfc6aa5cSAndroid Build Coastguard Worker 313*dfc6aa5cSAndroid Build Coastguard WorkerThe application programmer's interface to the library has changed completely. 314*dfc6aa5cSAndroid Build Coastguard WorkerNotable improvements include: 315*dfc6aa5cSAndroid Build Coastguard Worker * We have eliminated the use of callback routines for handling the 316*dfc6aa5cSAndroid Build Coastguard Worker uncompressed image data. The application now sees the library as a 317*dfc6aa5cSAndroid Build Coastguard Worker set of routines that it calls to read or write image data on a 318*dfc6aa5cSAndroid Build Coastguard Worker scanline-by-scanline basis. 319*dfc6aa5cSAndroid Build Coastguard Worker * The application image data is represented in a conventional interleaved- 320*dfc6aa5cSAndroid Build Coastguard Worker pixel format, rather than as a separate array for each color channel. 321*dfc6aa5cSAndroid Build Coastguard Worker This can save a copying step in many programs. 322*dfc6aa5cSAndroid Build Coastguard Worker * The handling of compressed data has been cleaned up: the application can 323*dfc6aa5cSAndroid Build Coastguard Worker supply routines to source or sink the compressed data. It is possible to 324*dfc6aa5cSAndroid Build Coastguard Worker suspend processing on source/sink buffer overrun, although this is not 325*dfc6aa5cSAndroid Build Coastguard Worker supported in all operating modes. 326*dfc6aa5cSAndroid Build Coastguard Worker * All static state has been eliminated from the library, so that multiple 327*dfc6aa5cSAndroid Build Coastguard Worker instances of compression or decompression can be active concurrently. 328*dfc6aa5cSAndroid Build Coastguard Worker * JPEG abbreviated datastream formats are supported, ie, quantization and 329*dfc6aa5cSAndroid Build Coastguard Worker Huffman tables can be stored separately from the image data. 330*dfc6aa5cSAndroid Build Coastguard Worker * And not only that, but the documentation of the library has improved 331*dfc6aa5cSAndroid Build Coastguard Worker considerably! 332*dfc6aa5cSAndroid Build Coastguard Worker 333*dfc6aa5cSAndroid Build Coastguard Worker 334*dfc6aa5cSAndroid Build Coastguard WorkerThe last widely used release before the version 5 rewrite was version 4A of 335*dfc6aa5cSAndroid Build Coastguard Worker18-Feb-93. Change logs before that point have been discarded, since they 336*dfc6aa5cSAndroid Build Coastguard Workerare not of much interest after the rewrite. 337