Final 350 project
Dependencies: uzair Camera_LS_Y201 F7_Ethernet LCD_DISCO_F746NG NetworkAPI SDFileSystem mbed
includes/change.log@0:791a779d6220, 2017-07-31 (annotated)
- Committer:
- shoaib_ahmed
- Date:
- Mon Jul 31 09:16:35 2017 +0000
- Revision:
- 0:791a779d6220
final project;
Who changed what in which revision?
User | Revision | Line number | New 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. |