Final 350 project

Dependencies:   uzair Camera_LS_Y201 F7_Ethernet LCD_DISCO_F746NG NetworkAPI SDFileSystem mbed

Committer:
shoaib_ahmed
Date:
Mon Jul 31 09:16:35 2017 +0000
Revision:
0:791a779d6220
final project;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shoaib_ahmed 0:791a779d6220 1 CHANGE LOG for Independent JPEG Group's JPEG software
shoaib_ahmed 0:791a779d6220 2
shoaib_ahmed 0:791a779d6220 3
shoaib_ahmed 0:791a779d6220 4 Version 9b 17-Jan-2016
shoaib_ahmed 0:791a779d6220 5 -----------------------
shoaib_ahmed 0:791a779d6220 6
shoaib_ahmed 0:791a779d6220 7 Improvements and optimizations in DCT and color calculations.
shoaib_ahmed 0:791a779d6220 8 Normalize range limit array composition and access pattern.
shoaib_ahmed 0:791a779d6220 9 Thank to Sia Furler and Maddie Ziegler for inspiration.
shoaib_ahmed 0:791a779d6220 10
shoaib_ahmed 0:791a779d6220 11 Use merged upsample with scaled DCT sizes larger than 8.
shoaib_ahmed 0:791a779d6220 12 Thank to Taylor Hatala for inspiration.
shoaib_ahmed 0:791a779d6220 13
shoaib_ahmed 0:791a779d6220 14 Check for excessive comment lengths in argument parsing in wrjpgcom.c.
shoaib_ahmed 0:791a779d6220 15 Thank to Julian Cohen for hint.
shoaib_ahmed 0:791a779d6220 16
shoaib_ahmed 0:791a779d6220 17 Add makefile.b32 for use with Borland C++ 32-bit (bcc32).
shoaib_ahmed 0:791a779d6220 18 Thank to Joe Slater for contribution.
shoaib_ahmed 0:791a779d6220 19
shoaib_ahmed 0:791a779d6220 20 Document 'f' specifier for jpegtran -crop specification.
shoaib_ahmed 0:791a779d6220 21 Thank to Michele Martone for suggestion.
shoaib_ahmed 0:791a779d6220 22
shoaib_ahmed 0:791a779d6220 23 Use defined value from header instead of hardwired number in rdswitch.c.
shoaib_ahmed 0:791a779d6220 24 Thank to Robert Sprowson for hint.
shoaib_ahmed 0:791a779d6220 25
shoaib_ahmed 0:791a779d6220 26
shoaib_ahmed 0:791a779d6220 27 Version 9a 19-Jan-2014
shoaib_ahmed 0:791a779d6220 28 -----------------------
shoaib_ahmed 0:791a779d6220 29
shoaib_ahmed 0:791a779d6220 30 Add support for wide gamut color spaces (JFIF version 2).
shoaib_ahmed 0:791a779d6220 31 Improve clarity and accuracy in color conversion modules.
shoaib_ahmed 0:791a779d6220 32 Note: Requires rebuild of test images.
shoaib_ahmed 0:791a779d6220 33
shoaib_ahmed 0:791a779d6220 34 Extend the bit depth support to all values from 8 to 12
shoaib_ahmed 0:791a779d6220 35 (BITS_IN_JSAMPLE configuration option in jmorecfg.h).
shoaib_ahmed 0:791a779d6220 36 jpegtran now supports N bits sample data precision with all N from 8 to 12
shoaib_ahmed 0:791a779d6220 37 in a single instance. Thank to Roland Fassauer for inspiration.
shoaib_ahmed 0:791a779d6220 38
shoaib_ahmed 0:791a779d6220 39 Try to resolve issues with new boolean type definition.
shoaib_ahmed 0:791a779d6220 40 Thank also to v4hn for suggestion.
shoaib_ahmed 0:791a779d6220 41
shoaib_ahmed 0:791a779d6220 42 Enable option to use default Huffman tables for lossless compression
shoaib_ahmed 0:791a779d6220 43 (for hardware solution), and in this case improve lossless RGB compression
shoaib_ahmed 0:791a779d6220 44 with reversible color transform. Thank to Benny Alexandar for hint.
shoaib_ahmed 0:791a779d6220 45
shoaib_ahmed 0:791a779d6220 46 Extend the entropy decoding structure, so that extraneous bytes between
shoaib_ahmed 0:791a779d6220 47 compressed scan data and following marker can be reported correctly.
shoaib_ahmed 0:791a779d6220 48 Thank to Nigel Tao for hint.
shoaib_ahmed 0:791a779d6220 49
shoaib_ahmed 0:791a779d6220 50 Add jpegtran -wipe option and extension for -crop.
shoaib_ahmed 0:791a779d6220 51 Thank to Andrew Senior, David Clunie, and Josef Schmid for suggestion.
shoaib_ahmed 0:791a779d6220 52
shoaib_ahmed 0:791a779d6220 53
shoaib_ahmed 0:791a779d6220 54 Version 9 13-Jan-2013
shoaib_ahmed 0:791a779d6220 55 ----------------------
shoaib_ahmed 0:791a779d6220 56
shoaib_ahmed 0:791a779d6220 57 Add cjpeg -rgb1 option to create an RGB JPEG file, and insert
shoaib_ahmed 0:791a779d6220 58 a simple reversible color transform into the processing which
shoaib_ahmed 0:791a779d6220 59 significantly improves the compression.
shoaib_ahmed 0:791a779d6220 60 The recommended command for lossless coding of RGB images is now
shoaib_ahmed 0:791a779d6220 61 cjpeg -rgb1 -block 1 -arithmetic.
shoaib_ahmed 0:791a779d6220 62 As said, this option improves the compression significantly, but
shoaib_ahmed 0:791a779d6220 63 the files are not compatible with JPEG decoders prior to IJG v9
shoaib_ahmed 0:791a779d6220 64 due to the included color transform.
shoaib_ahmed 0:791a779d6220 65 The used color transform and marker signaling is compatible with
shoaib_ahmed 0:791a779d6220 66 other JPEG standards (e.g., JPEG-LS part 2).
shoaib_ahmed 0:791a779d6220 67
shoaib_ahmed 0:791a779d6220 68 Remove the automatic de-ANSI-fication support (Automake 1.12).
shoaib_ahmed 0:791a779d6220 69 Thank also to Nitin A Kamble for suggestion.
shoaib_ahmed 0:791a779d6220 70
shoaib_ahmed 0:791a779d6220 71 Add remark for jpeg_mem_dest() in jdatadst.c.
shoaib_ahmed 0:791a779d6220 72 Thank to Elie-Gregoire Khoury for the hint.
shoaib_ahmed 0:791a779d6220 73
shoaib_ahmed 0:791a779d6220 74 Support files with invalid component identifiers (created
shoaib_ahmed 0:791a779d6220 75 by Adobe PDF). Thank to Robin Watts for the suggestion.
shoaib_ahmed 0:791a779d6220 76
shoaib_ahmed 0:791a779d6220 77 Adapt full buffer case in jcmainct.c for use with scaled DCT.
shoaib_ahmed 0:791a779d6220 78 Thank to Sergii Biloshytskyi for the suggestion.
shoaib_ahmed 0:791a779d6220 79
shoaib_ahmed 0:791a779d6220 80 Add type identifier for declaration of noreturn functions.
shoaib_ahmed 0:791a779d6220 81 Thank to Brett L. Moore for the suggestion.
shoaib_ahmed 0:791a779d6220 82
shoaib_ahmed 0:791a779d6220 83 Correct argument type in format string, avoid compiler warnings.
shoaib_ahmed 0:791a779d6220 84 Thank to Vincent Torri for hint.
shoaib_ahmed 0:791a779d6220 85
shoaib_ahmed 0:791a779d6220 86 Add missing #include directives in configuration checks, avoid
shoaib_ahmed 0:791a779d6220 87 configuration errors. Thank to John Spencer for the hint.
shoaib_ahmed 0:791a779d6220 88
shoaib_ahmed 0:791a779d6220 89
shoaib_ahmed 0:791a779d6220 90 Version 8d 15-Jan-2012
shoaib_ahmed 0:791a779d6220 91 -----------------------
shoaib_ahmed 0:791a779d6220 92
shoaib_ahmed 0:791a779d6220 93 Add cjpeg -rgb option to create RGB JPEG files.
shoaib_ahmed 0:791a779d6220 94 Using this switch suppresses the conversion from RGB
shoaib_ahmed 0:791a779d6220 95 colorspace input to the default YCbCr JPEG colorspace.
shoaib_ahmed 0:791a779d6220 96 This feature allows true lossless JPEG coding of RGB color images.
shoaib_ahmed 0:791a779d6220 97 The recommended command for this purpose is currently
shoaib_ahmed 0:791a779d6220 98 cjpeg -rgb -block 1 -arithmetic.
shoaib_ahmed 0:791a779d6220 99 SmartScale capable decoder (introduced with IJG JPEG 8) required.
shoaib_ahmed 0:791a779d6220 100 Thank to Michael Koch for the initial suggestion.
shoaib_ahmed 0:791a779d6220 101
shoaib_ahmed 0:791a779d6220 102 Add option to disable the region adjustment in the transupp crop code.
shoaib_ahmed 0:791a779d6220 103 Thank to Jeffrey Friedl for the suggestion.
shoaib_ahmed 0:791a779d6220 104
shoaib_ahmed 0:791a779d6220 105 Thank to Richard Jones and Edd Dawson for various minor corrections.
shoaib_ahmed 0:791a779d6220 106
shoaib_ahmed 0:791a779d6220 107 Thank to Akim Demaille for configure.ac cleanup.
shoaib_ahmed 0:791a779d6220 108
shoaib_ahmed 0:791a779d6220 109
shoaib_ahmed 0:791a779d6220 110 Version 8c 16-Jan-2011
shoaib_ahmed 0:791a779d6220 111 -----------------------
shoaib_ahmed 0:791a779d6220 112
shoaib_ahmed 0:791a779d6220 113 Add option to compression library and cjpeg (-block N) to use
shoaib_ahmed 0:791a779d6220 114 different DCT block size.
shoaib_ahmed 0:791a779d6220 115 All N from 1 to 16 are possible. Default is 8 (baseline format).
shoaib_ahmed 0:791a779d6220 116 Larger values produce higher compression,
shoaib_ahmed 0:791a779d6220 117 smaller values produce higher quality.
shoaib_ahmed 0:791a779d6220 118 SmartScale capable decoder (introduced with IJG JPEG 8) required.
shoaib_ahmed 0:791a779d6220 119
shoaib_ahmed 0:791a779d6220 120
shoaib_ahmed 0:791a779d6220 121 Version 8b 16-May-2010
shoaib_ahmed 0:791a779d6220 122 -----------------------
shoaib_ahmed 0:791a779d6220 123
shoaib_ahmed 0:791a779d6220 124 Repair problem in new memory source manager with corrupt JPEG data.
shoaib_ahmed 0:791a779d6220 125 Thank to Ted Campbell and Samuel Chun for the report.
shoaib_ahmed 0:791a779d6220 126
shoaib_ahmed 0:791a779d6220 127 Repair problem in Makefile.am test target.
shoaib_ahmed 0:791a779d6220 128 Thank to anonymous user for the report.
shoaib_ahmed 0:791a779d6220 129
shoaib_ahmed 0:791a779d6220 130 Support MinGW installation with automatic configure.
shoaib_ahmed 0:791a779d6220 131 Thank to Volker Grabsch for the suggestion.
shoaib_ahmed 0:791a779d6220 132
shoaib_ahmed 0:791a779d6220 133
shoaib_ahmed 0:791a779d6220 134 Version 8a 28-Feb-2010
shoaib_ahmed 0:791a779d6220 135 -----------------------
shoaib_ahmed 0:791a779d6220 136
shoaib_ahmed 0:791a779d6220 137 Writing tables-only datastreams via jpeg_write_tables works again.
shoaib_ahmed 0:791a779d6220 138
shoaib_ahmed 0:791a779d6220 139 Support 32-bit BMPs (RGB image with Alpha channel) for read in cjpeg.
shoaib_ahmed 0:791a779d6220 140 Thank to Brett Blackham for the suggestion.
shoaib_ahmed 0:791a779d6220 141
shoaib_ahmed 0:791a779d6220 142 Improve accuracy in floating point IDCT calculation.
shoaib_ahmed 0:791a779d6220 143 Thank to Robert Hooke for the hint.
shoaib_ahmed 0:791a779d6220 144
shoaib_ahmed 0:791a779d6220 145
shoaib_ahmed 0:791a779d6220 146 Version 8 10-Jan-2010
shoaib_ahmed 0:791a779d6220 147 ----------------------
shoaib_ahmed 0:791a779d6220 148
shoaib_ahmed 0:791a779d6220 149 jpegtran now supports the same -scale option as djpeg for "lossless" resize.
shoaib_ahmed 0:791a779d6220 150 An implementation of the JPEG SmartScale extension is required for this
shoaib_ahmed 0:791a779d6220 151 feature. A (draft) specification of the JPEG SmartScale extension is
shoaib_ahmed 0:791a779d6220 152 available as a contributed document at ITU and ISO. Revision 2 or later
shoaib_ahmed 0:791a779d6220 153 of the document is required (latest document version is Revision 3).
shoaib_ahmed 0:791a779d6220 154 The SmartScale extension will enable more features beside lossless resize
shoaib_ahmed 0:791a779d6220 155 in future implementations, as described in the document (new compression
shoaib_ahmed 0:791a779d6220 156 options).
shoaib_ahmed 0:791a779d6220 157
shoaib_ahmed 0:791a779d6220 158 Add sanity check in BMP reader module to avoid cjpeg crash for empty input
shoaib_ahmed 0:791a779d6220 159 image (thank to Isaev Ildar of ISP RAS, Moscow, RU for reporting this error).
shoaib_ahmed 0:791a779d6220 160
shoaib_ahmed 0:791a779d6220 161 Add data source and destination managers for read from and write to
shoaib_ahmed 0:791a779d6220 162 memory buffers. New API functions jpeg_mem_src and jpeg_mem_dest.
shoaib_ahmed 0:791a779d6220 163 Thank to Roberto Boni from Italy for the suggestion.
shoaib_ahmed 0:791a779d6220 164
shoaib_ahmed 0:791a779d6220 165
shoaib_ahmed 0:791a779d6220 166 Version 7 27-Jun-2009
shoaib_ahmed 0:791a779d6220 167 ----------------------
shoaib_ahmed 0:791a779d6220 168
shoaib_ahmed 0:791a779d6220 169 New scaled DCTs implemented.
shoaib_ahmed 0:791a779d6220 170 djpeg now supports scalings N/8 with all N from 1 to 16.
shoaib_ahmed 0:791a779d6220 171 cjpeg now supports scalings 8/N with all N from 1 to 16.
shoaib_ahmed 0:791a779d6220 172 Scaled DCTs with size larger than 8 are now also used for resolving the
shoaib_ahmed 0:791a779d6220 173 common 2x2 chroma subsampling case without additional spatial resampling.
shoaib_ahmed 0:791a779d6220 174 Separate spatial resampling for those kind of files is now only necessary
shoaib_ahmed 0:791a779d6220 175 for N>8 scaling cases.
shoaib_ahmed 0:791a779d6220 176 Furthermore, separate scaled DCT functions are provided for direct resolving
shoaib_ahmed 0:791a779d6220 177 of the common asymmetric subsampling cases (2x1 and 1x2) without additional
shoaib_ahmed 0:791a779d6220 178 spatial resampling.
shoaib_ahmed 0:791a779d6220 179
shoaib_ahmed 0:791a779d6220 180 cjpeg -quality option has been extended for support of separate quality
shoaib_ahmed 0:791a779d6220 181 settings for luminance and chrominance (or in general, for every provided
shoaib_ahmed 0:791a779d6220 182 quantization table slot).
shoaib_ahmed 0:791a779d6220 183 New API function jpeg_default_qtables() and q_scale_factor array in library.
shoaib_ahmed 0:791a779d6220 184
shoaib_ahmed 0:791a779d6220 185 Added -nosmooth option to cjpeg, complementary to djpeg.
shoaib_ahmed 0:791a779d6220 186 New variable "do_fancy_downsampling" in library, complement to fancy
shoaib_ahmed 0:791a779d6220 187 upsampling. Fancy upsampling now uses direct DCT scaling with sizes
shoaib_ahmed 0:791a779d6220 188 larger than 8. The old method is not reversible and has been removed.
shoaib_ahmed 0:791a779d6220 189
shoaib_ahmed 0:791a779d6220 190 Support arithmetic entropy encoding and decoding.
shoaib_ahmed 0:791a779d6220 191 Added files jaricom.c, jcarith.c, jdarith.c.
shoaib_ahmed 0:791a779d6220 192
shoaib_ahmed 0:791a779d6220 193 Straighten the file structure:
shoaib_ahmed 0:791a779d6220 194 Removed files jidctred.c, jcphuff.c, jchuff.h, jdphuff.c, jdhuff.h.
shoaib_ahmed 0:791a779d6220 195
shoaib_ahmed 0:791a779d6220 196 jpegtran has a new "lossless" cropping feature.
shoaib_ahmed 0:791a779d6220 197
shoaib_ahmed 0:791a779d6220 198 Implement -perfect option in jpegtran, new API function
shoaib_ahmed 0:791a779d6220 199 jtransform_perfect_transform() in transupp. (DP 204_perfect.dpatch)
shoaib_ahmed 0:791a779d6220 200
shoaib_ahmed 0:791a779d6220 201 Better error messages for jpegtran fopen failure.
shoaib_ahmed 0:791a779d6220 202 (DP 203_jpegtran_errmsg.dpatch)
shoaib_ahmed 0:791a779d6220 203
shoaib_ahmed 0:791a779d6220 204 Fix byte order issue with 16bit PPM/PGM files in rdppm.c/wrppm.c:
shoaib_ahmed 0:791a779d6220 205 according to Netpbm, the de facto standard implementation of the PNM formats,
shoaib_ahmed 0:791a779d6220 206 the most significant byte is first. (DP 203_rdppm.dpatch)
shoaib_ahmed 0:791a779d6220 207
shoaib_ahmed 0:791a779d6220 208 Add -raw option to rdjpgcom not to mangle the output.
shoaib_ahmed 0:791a779d6220 209 (DP 205_rdjpgcom_raw.dpatch)
shoaib_ahmed 0:791a779d6220 210
shoaib_ahmed 0:791a779d6220 211 Make rdjpgcom locale aware. (DP 201_rdjpgcom_locale.dpatch)
shoaib_ahmed 0:791a779d6220 212
shoaib_ahmed 0:791a779d6220 213 Add extern "C" to jpeglib.h.
shoaib_ahmed 0:791a779d6220 214 This avoids the need to put extern "C" { ... } around #include "jpeglib.h"
shoaib_ahmed 0:791a779d6220 215 in your C++ application. Defining the symbol DONT_USE_EXTERN_C in the
shoaib_ahmed 0:791a779d6220 216 configuration prevents this. (DP 202_jpeglib.h_c++.dpatch)
shoaib_ahmed 0:791a779d6220 217
shoaib_ahmed 0:791a779d6220 218
shoaib_ahmed 0:791a779d6220 219 Version 6b 27-Mar-1998
shoaib_ahmed 0:791a779d6220 220 -----------------------
shoaib_ahmed 0:791a779d6220 221
shoaib_ahmed 0:791a779d6220 222 jpegtran has new features for lossless image transformations (rotation
shoaib_ahmed 0:791a779d6220 223 and flipping) as well as "lossless" reduction to grayscale.
shoaib_ahmed 0:791a779d6220 224
shoaib_ahmed 0:791a779d6220 225 jpegtran now copies comments by default; it has a -copy switch to enable
shoaib_ahmed 0:791a779d6220 226 copying all APPn blocks as well, or to suppress comments. (Formerly it
shoaib_ahmed 0:791a779d6220 227 always suppressed comments and APPn blocks.) jpegtran now also preserves
shoaib_ahmed 0:791a779d6220 228 JFIF version and resolution information.
shoaib_ahmed 0:791a779d6220 229
shoaib_ahmed 0:791a779d6220 230 New decompressor library feature: COM and APPn markers found in the input
shoaib_ahmed 0:791a779d6220 231 file can be saved in memory for later use by the application. (Before,
shoaib_ahmed 0:791a779d6220 232 you had to code this up yourself with a custom marker processor.)
shoaib_ahmed 0:791a779d6220 233
shoaib_ahmed 0:791a779d6220 234 There is an unused field "void * client_data" now in compress and decompress
shoaib_ahmed 0:791a779d6220 235 parameter structs; this may be useful in some applications.
shoaib_ahmed 0:791a779d6220 236
shoaib_ahmed 0:791a779d6220 237 JFIF version number information is now saved by the decoder and accepted by
shoaib_ahmed 0:791a779d6220 238 the encoder. jpegtran uses this to copy the source file's version number,
shoaib_ahmed 0:791a779d6220 239 to ensure "jpegtran -copy all" won't create bogus files that contain JFXX
shoaib_ahmed 0:791a779d6220 240 extensions but claim to be version 1.01. Applications that generate their
shoaib_ahmed 0:791a779d6220 241 own JFXX extension markers also (finally) have a supported way to cause the
shoaib_ahmed 0:791a779d6220 242 encoder to emit JFIF version number 1.02.
shoaib_ahmed 0:791a779d6220 243
shoaib_ahmed 0:791a779d6220 244 djpeg's trace mode reports JFIF 1.02 thumbnail images as such, rather
shoaib_ahmed 0:791a779d6220 245 than as unknown APP0 markers.
shoaib_ahmed 0:791a779d6220 246
shoaib_ahmed 0:791a779d6220 247 In -verbose mode, djpeg and rdjpgcom will try to print the contents of
shoaib_ahmed 0:791a779d6220 248 APP12 markers as text. Some digital cameras store useful text information
shoaib_ahmed 0:791a779d6220 249 in APP12 markers.
shoaib_ahmed 0:791a779d6220 250
shoaib_ahmed 0:791a779d6220 251 Handling of truncated data streams is more robust: blocks beyond the one in
shoaib_ahmed 0:791a779d6220 252 which the error occurs will be output as uniform gray, or left unchanged
shoaib_ahmed 0:791a779d6220 253 if decoding a progressive JPEG. The appearance no longer depends on the
shoaib_ahmed 0:791a779d6220 254 Huffman tables being used.
shoaib_ahmed 0:791a779d6220 255
shoaib_ahmed 0:791a779d6220 256 Huffman tables are checked for validity much more carefully than before.
shoaib_ahmed 0:791a779d6220 257
shoaib_ahmed 0:791a779d6220 258 To avoid the Unisys LZW patent, djpeg's GIF output capability has been
shoaib_ahmed 0:791a779d6220 259 changed to produce "uncompressed GIFs", and cjpeg's GIF input capability
shoaib_ahmed 0:791a779d6220 260 has been removed altogether. We're not happy about it either, but there
shoaib_ahmed 0:791a779d6220 261 seems to be no good alternative.
shoaib_ahmed 0:791a779d6220 262
shoaib_ahmed 0:791a779d6220 263 The configure script now supports building libjpeg as a shared library
shoaib_ahmed 0:791a779d6220 264 on many flavors of Unix (all the ones that GNU libtool knows how to
shoaib_ahmed 0:791a779d6220 265 build shared libraries for). Use "./configure --enable-shared" to
shoaib_ahmed 0:791a779d6220 266 try this out.
shoaib_ahmed 0:791a779d6220 267
shoaib_ahmed 0:791a779d6220 268 New jconfig file and makefiles for Microsoft Visual C++ and Developer Studio.
shoaib_ahmed 0:791a779d6220 269 Also, a jconfig file and a build script for Metrowerks CodeWarrior
shoaib_ahmed 0:791a779d6220 270 on Apple Macintosh. makefile.dj has been updated for DJGPP v2, and there
shoaib_ahmed 0:791a779d6220 271 are miscellaneous other minor improvements in the makefiles.
shoaib_ahmed 0:791a779d6220 272
shoaib_ahmed 0:791a779d6220 273 jmemmac.c now knows how to create temporary files following Mac System 7
shoaib_ahmed 0:791a779d6220 274 conventions.
shoaib_ahmed 0:791a779d6220 275
shoaib_ahmed 0:791a779d6220 276 djpeg's -map switch is now able to read raw-format PPM files reliably.
shoaib_ahmed 0:791a779d6220 277
shoaib_ahmed 0:791a779d6220 278 cjpeg -progressive -restart no longer generates any unnecessary DRI markers.
shoaib_ahmed 0:791a779d6220 279
shoaib_ahmed 0:791a779d6220 280 Multiple calls to jpeg_simple_progression for a single JPEG object
shoaib_ahmed 0:791a779d6220 281 no longer leak memory.
shoaib_ahmed 0:791a779d6220 282
shoaib_ahmed 0:791a779d6220 283
shoaib_ahmed 0:791a779d6220 284 Version 6a 7-Feb-96
shoaib_ahmed 0:791a779d6220 285 --------------------
shoaib_ahmed 0:791a779d6220 286
shoaib_ahmed 0:791a779d6220 287 Library initialization sequence modified to detect version mismatches
shoaib_ahmed 0:791a779d6220 288 and struct field packing mismatches between library and calling application.
shoaib_ahmed 0:791a779d6220 289 This change requires applications to be recompiled, but does not require
shoaib_ahmed 0:791a779d6220 290 any application source code change.
shoaib_ahmed 0:791a779d6220 291
shoaib_ahmed 0:791a779d6220 292 All routine declarations changed to the style "GLOBAL(type) name ...",
shoaib_ahmed 0:791a779d6220 293 that is, GLOBAL, LOCAL, METHODDEF, EXTERN are now macros taking the
shoaib_ahmed 0:791a779d6220 294 routine's return type as an argument. This makes it possible to add
shoaib_ahmed 0:791a779d6220 295 Microsoft-style linkage keywords to all the routines by changing just
shoaib_ahmed 0:791a779d6220 296 these macros. Note that any application code that was using these macros
shoaib_ahmed 0:791a779d6220 297 will have to be changed.
shoaib_ahmed 0:791a779d6220 298
shoaib_ahmed 0:791a779d6220 299 DCT coefficient quantization tables are now stored in normal array order
shoaib_ahmed 0:791a779d6220 300 rather than zigzag order. Application code that calls jpeg_add_quant_table,
shoaib_ahmed 0:791a779d6220 301 or otherwise manipulates quantization tables directly, will need to be
shoaib_ahmed 0:791a779d6220 302 changed. If you need to make such code work with either older or newer
shoaib_ahmed 0:791a779d6220 303 versions of the library, a test like "#if JPEG_LIB_VERSION >= 61" is
shoaib_ahmed 0:791a779d6220 304 recommended.
shoaib_ahmed 0:791a779d6220 305
shoaib_ahmed 0:791a779d6220 306 djpeg's trace capability now dumps DQT tables in natural order, not zigzag
shoaib_ahmed 0:791a779d6220 307 order. This allows the trace output to be made into a "-qtables" file
shoaib_ahmed 0:791a779d6220 308 more easily.
shoaib_ahmed 0:791a779d6220 309
shoaib_ahmed 0:791a779d6220 310 New system-dependent memory manager module for use on Apple Macintosh.
shoaib_ahmed 0:791a779d6220 311
shoaib_ahmed 0:791a779d6220 312 Fix bug in cjpeg's -smooth option: last one or two scanlines would be
shoaib_ahmed 0:791a779d6220 313 duplicates of the prior line unless the image height mod 16 was 1 or 2.
shoaib_ahmed 0:791a779d6220 314
shoaib_ahmed 0:791a779d6220 315 Repair minor problems in VMS, BCC, MC6 makefiles.
shoaib_ahmed 0:791a779d6220 316
shoaib_ahmed 0:791a779d6220 317 New configure script based on latest GNU Autoconf.
shoaib_ahmed 0:791a779d6220 318
shoaib_ahmed 0:791a779d6220 319 Correct the list of include files needed by MetroWerks C for ccommand().
shoaib_ahmed 0:791a779d6220 320
shoaib_ahmed 0:791a779d6220 321 Numerous small documentation updates.
shoaib_ahmed 0:791a779d6220 322
shoaib_ahmed 0:791a779d6220 323
shoaib_ahmed 0:791a779d6220 324 Version 6 2-Aug-95
shoaib_ahmed 0:791a779d6220 325 -------------------
shoaib_ahmed 0:791a779d6220 326
shoaib_ahmed 0:791a779d6220 327 Progressive JPEG support: library can read and write full progressive JPEG
shoaib_ahmed 0:791a779d6220 328 files. A "buffered image" mode supports incremental decoding for on-the-fly
shoaib_ahmed 0:791a779d6220 329 display of progressive images. Simply recompiling an existing IJG-v5-based
shoaib_ahmed 0:791a779d6220 330 decoder with v6 should allow it to read progressive files, though of course
shoaib_ahmed 0:791a779d6220 331 without any special progressive display.
shoaib_ahmed 0:791a779d6220 332
shoaib_ahmed 0:791a779d6220 333 New "jpegtran" application performs lossless transcoding between different
shoaib_ahmed 0:791a779d6220 334 JPEG formats; primarily, it can be used to convert baseline to progressive
shoaib_ahmed 0:791a779d6220 335 JPEG and vice versa. In support of jpegtran, the library now allows lossless
shoaib_ahmed 0:791a779d6220 336 reading and writing of JPEG files as DCT coefficient arrays. This ability
shoaib_ahmed 0:791a779d6220 337 may be of use in other applications.
shoaib_ahmed 0:791a779d6220 338
shoaib_ahmed 0:791a779d6220 339 Notes for programmers:
shoaib_ahmed 0:791a779d6220 340 * We changed jpeg_start_decompress() to be able to suspend; this makes all
shoaib_ahmed 0:791a779d6220 341 decoding modes available to suspending-input applications. However,
shoaib_ahmed 0:791a779d6220 342 existing applications that use suspending input will need to be changed
shoaib_ahmed 0:791a779d6220 343 to check the return value from jpeg_start_decompress(). You don't need to
shoaib_ahmed 0:791a779d6220 344 do anything if you don't use a suspending data source.
shoaib_ahmed 0:791a779d6220 345 * We changed the interface to the virtual array routines: access_virt_array
shoaib_ahmed 0:791a779d6220 346 routines now take a count of the number of rows to access this time. The
shoaib_ahmed 0:791a779d6220 347 last parameter to request_virt_array routines is now interpreted as the
shoaib_ahmed 0:791a779d6220 348 maximum number of rows that may be accessed at once, but not necessarily
shoaib_ahmed 0:791a779d6220 349 the height of every access.
shoaib_ahmed 0:791a779d6220 350
shoaib_ahmed 0:791a779d6220 351
shoaib_ahmed 0:791a779d6220 352 Version 5b 15-Mar-95
shoaib_ahmed 0:791a779d6220 353 ---------------------
shoaib_ahmed 0:791a779d6220 354
shoaib_ahmed 0:791a779d6220 355 Correct bugs with grayscale images having v_samp_factor > 1.
shoaib_ahmed 0:791a779d6220 356
shoaib_ahmed 0:791a779d6220 357 jpeg_write_raw_data() now supports output suspension.
shoaib_ahmed 0:791a779d6220 358
shoaib_ahmed 0:791a779d6220 359 Correct bugs in "configure" script for case of compiling in
shoaib_ahmed 0:791a779d6220 360 a directory other than the one containing the source files.
shoaib_ahmed 0:791a779d6220 361
shoaib_ahmed 0:791a779d6220 362 Repair bug in jquant1.c: sometimes didn't use as many colors as it could.
shoaib_ahmed 0:791a779d6220 363
shoaib_ahmed 0:791a779d6220 364 Borland C makefile and jconfig file work under either MS-DOS or OS/2.
shoaib_ahmed 0:791a779d6220 365
shoaib_ahmed 0:791a779d6220 366 Miscellaneous improvements to documentation.
shoaib_ahmed 0:791a779d6220 367
shoaib_ahmed 0:791a779d6220 368
shoaib_ahmed 0:791a779d6220 369 Version 5a 7-Dec-94
shoaib_ahmed 0:791a779d6220 370 --------------------
shoaib_ahmed 0:791a779d6220 371
shoaib_ahmed 0:791a779d6220 372 Changed color conversion roundoff behavior so that grayscale values are
shoaib_ahmed 0:791a779d6220 373 represented exactly. (This causes test image files to change.)
shoaib_ahmed 0:791a779d6220 374
shoaib_ahmed 0:791a779d6220 375 Make ordered dither use 16x16 instead of 4x4 pattern for a small quality
shoaib_ahmed 0:791a779d6220 376 improvement.
shoaib_ahmed 0:791a779d6220 377
shoaib_ahmed 0:791a779d6220 378 New configure script based on latest GNU Autoconf.
shoaib_ahmed 0:791a779d6220 379 Fix configure script to handle CFLAGS correctly.
shoaib_ahmed 0:791a779d6220 380 Rename *.auto files to *.cfg, so that configure script still works if
shoaib_ahmed 0:791a779d6220 381 file names have been truncated for DOS.
shoaib_ahmed 0:791a779d6220 382
shoaib_ahmed 0:791a779d6220 383 Fix bug in rdbmp.c: didn't allow for extra data between header and image.
shoaib_ahmed 0:791a779d6220 384
shoaib_ahmed 0:791a779d6220 385 Modify rdppm.c/wrppm.c to handle 2-byte raw PPM/PGM formats for 12-bit data.
shoaib_ahmed 0:791a779d6220 386
shoaib_ahmed 0:791a779d6220 387 Fix several bugs in rdrle.c.
shoaib_ahmed 0:791a779d6220 388
shoaib_ahmed 0:791a779d6220 389 NEED_SHORT_EXTERNAL_NAMES option was broken.
shoaib_ahmed 0:791a779d6220 390
shoaib_ahmed 0:791a779d6220 391 Revise jerror.h/jerror.c for more flexibility in message table.
shoaib_ahmed 0:791a779d6220 392
shoaib_ahmed 0:791a779d6220 393 Repair oversight in jmemname.c NO_MKTEMP case: file could be there
shoaib_ahmed 0:791a779d6220 394 but unreadable.
shoaib_ahmed 0:791a779d6220 395
shoaib_ahmed 0:791a779d6220 396
shoaib_ahmed 0:791a779d6220 397 Version 5 24-Sep-94
shoaib_ahmed 0:791a779d6220 398 --------------------
shoaib_ahmed 0:791a779d6220 399
shoaib_ahmed 0:791a779d6220 400 Version 5 represents a nearly complete redesign and rewrite of the IJG
shoaib_ahmed 0:791a779d6220 401 software. Major user-visible changes include:
shoaib_ahmed 0:791a779d6220 402 * Automatic configuration simplifies installation for most Unix systems.
shoaib_ahmed 0:791a779d6220 403 * A range of speed vs. image quality tradeoffs are supported.
shoaib_ahmed 0:791a779d6220 404 This includes resizing of an image during decompression: scaling down
shoaib_ahmed 0:791a779d6220 405 by a factor of 1/2, 1/4, or 1/8 is handled very efficiently.
shoaib_ahmed 0:791a779d6220 406 * New programs rdjpgcom and wrjpgcom allow insertion and extraction
shoaib_ahmed 0:791a779d6220 407 of text comments in a JPEG file.
shoaib_ahmed 0:791a779d6220 408
shoaib_ahmed 0:791a779d6220 409 The application programmer's interface to the library has changed completely.
shoaib_ahmed 0:791a779d6220 410 Notable improvements include:
shoaib_ahmed 0:791a779d6220 411 * We have eliminated the use of callback routines for handling the
shoaib_ahmed 0:791a779d6220 412 uncompressed image data. The application now sees the library as a
shoaib_ahmed 0:791a779d6220 413 set of routines that it calls to read or write image data on a
shoaib_ahmed 0:791a779d6220 414 scanline-by-scanline basis.
shoaib_ahmed 0:791a779d6220 415 * The application image data is represented in a conventional interleaved-
shoaib_ahmed 0:791a779d6220 416 pixel format, rather than as a separate array for each color channel.
shoaib_ahmed 0:791a779d6220 417 This can save a copying step in many programs.
shoaib_ahmed 0:791a779d6220 418 * The handling of compressed data has been cleaned up: the application can
shoaib_ahmed 0:791a779d6220 419 supply routines to source or sink the compressed data. It is possible to
shoaib_ahmed 0:791a779d6220 420 suspend processing on source/sink buffer overrun, although this is not
shoaib_ahmed 0:791a779d6220 421 supported in all operating modes.
shoaib_ahmed 0:791a779d6220 422 * All static state has been eliminated from the library, so that multiple
shoaib_ahmed 0:791a779d6220 423 instances of compression or decompression can be active concurrently.
shoaib_ahmed 0:791a779d6220 424 * JPEG abbreviated datastream formats are supported, ie, quantization and
shoaib_ahmed 0:791a779d6220 425 Huffman tables can be stored separately from the image data.
shoaib_ahmed 0:791a779d6220 426 * And not only that, but the documentation of the library has improved
shoaib_ahmed 0:791a779d6220 427 considerably!
shoaib_ahmed 0:791a779d6220 428
shoaib_ahmed 0:791a779d6220 429
shoaib_ahmed 0:791a779d6220 430 The last widely used release before the version 5 rewrite was version 4A of
shoaib_ahmed 0:791a779d6220 431 18-Feb-93. Change logs before that point have been discarded, since they
shoaib_ahmed 0:791a779d6220 432 are not of much interest after the rewrite.