Changeset 283 for trunk/libjpeg/README


Ignore:
Timestamp:
Jan 4, 2010, 8:20:18 PM (12 years ago)
Author:
rbri
Message:

JPEG plugin: libjpeg updated to version 7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libjpeg/README

    r15 r283  
    22==========================================
    33
    4 README for release 6b of 27-Mar-1998
    5 ====================================
    6 
    7 This distribution contains the sixth public release of the Independent JPEG
     4README for release 7 of 27-Jun-2009
     5===================================
     6
     7This distribution contains the seventh public release of the Independent JPEG
    88Group's free JPEG software.  You are welcome to redistribute this software and
    99to use it for any purpose, subject to the conditions under LEGAL ISSUES, below.
    1010
    11 Serious users of this software (particularly those incorporating it into
    12 larger programs) should contact IJG at jpeg-info@uunet.uu.net to be added to
    13 our electronic mailing list.  Mailing list members are notified of updates
    14 and have a chance to participate in technical discussions, etc.
    15 
    16 This software is the work of Tom Lane, Philip Gladstone, Jim Boucher,
    17 Lee Crocker, Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi,
    18 Guido Vollbeding, Ge' Weijers, and other members of the Independent JPEG
    19 Group.
     11This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone,
     12Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson,
     13Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers,
     14and other members of the Independent JPEG Group.
    2015
    2116IJG is not affiliated with the official ISO JPEG standards committee.
     
    3126REFERENCES          Where to learn more about JPEG.
    3227ARCHIVE LOCATIONS   Where to find newer versions of this software.
    33 RELATED SOFTWARE    Other stuff you should get.
     28ACKNOWLEDGMENTS     Special thanks.
    3429FILE FORMAT WARS    Software *not* to get.
    3530TO DO               Plans for future IJG releases.
     
    3833
    3934User documentation:
    40   install.doc       How to configure and install the IJG software.
    41   usage.doc         Usage instructions for cjpeg, djpeg, jpegtran,
     35  install.txt       How to configure and install the IJG software.
     36  usage.txt         Usage instructions for cjpeg, djpeg, jpegtran,
    4237                    rdjpgcom, and wrjpgcom.
    43   *.1               Unix-style man pages for programs (same info as usage.doc).
    44   wizard.doc        Advanced usage instructions for JPEG wizards only.
     38  *.1               Unix-style man pages for programs (same info as usage.txt).
     39  wizard.txt        Advanced usage instructions for JPEG wizards only.
    4540  change.log        Version-to-version change highlights.
    4641Programmer and internal documentation:
    47   libjpeg.doc       How to use the JPEG library in your own programs.
     42  libjpeg.txt       How to use the JPEG library in your own programs.
    4843  example.c         Sample code for calling the JPEG library.
    49   structure.doc     Overview of the JPEG library's internal structure.
    50   filelist.doc      Road map of IJG files.
    51   coderules.doc     Coding style rules --- please read if you contribute code.
    52 
    53 Please read at least the files install.doc and usage.doc.  Useful information
     44  structure.txt     Overview of the JPEG library's internal structure.
     45  filelist.txt      Road map of IJG files.
     46  coderules.txt     Coding style rules --- please read if you contribute code.
     47
     48Please read at least the files install.txt and usage.txt.  Some information
    5449can also be found in the JPEG FAQ (Frequently Asked Questions) article.  See
    5550ARCHIVE LOCATIONS below to find out where to obtain the FAQ article.
     
    6358========
    6459
    65 This package contains C software to implement JPEG image compression and
    66 decompression.  JPEG (pronounced "jay-peg") is a standardized compression
    67 method for full-color and gray-scale images.  JPEG is intended for compressing
    68 "real-world" scenes; line drawings, cartoons and other non-realistic images
    69 are not its strong suit.  JPEG is lossy, meaning that the output image is not
    70 exactly identical to the input image.  Hence you must not use JPEG if you
    71 have to have identical output bits.  However, on typical photographic images,
    72 very good compression levels can be obtained with no visible change, and
    73 remarkably high compression levels are possible if you can tolerate a
    74 low-quality image.  For more details, see the references, or just experiment
    75 with various compression settings.
     60This package contains C software to implement JPEG image encoding, decoding,
     61and transcoding.  JPEG (pronounced "jay-peg") is a standardized compression
     62method for full-color and gray-scale images.
    7663
    7764This software implements JPEG baseline, extended-sequential, and progressive
    7865compression processes.  Provision is made for supporting all variants of these
    7966processes, although some uncommon parameter settings aren't implemented yet.
    80 For legal reasons, we are not distributing code for the arithmetic-coding
    81 variants of JPEG; see LEGAL ISSUES.  We have made no provision for supporting
    82 the hierarchical or lossless processes defined in the standard.
     67We have made no provision for supporting the hierarchical or lossless
     68processes defined in the standard.
    8369
    8470We provide a set of library routines for reading and writing JPEG image files,
     
    9278decoding, but they are essential for output to colormapped file formats or
    9379colormapped displays.  These extra functions can be compiled out of the
    94 library if not required for a particular application.  We have also included
    95 "jpegtran", a utility for lossless transcoding between different JPEG
    96 processes, and "rdjpgcom" and "wrjpgcom", two simple applications for
    97 inserting and extracting textual comments in JFIF files.
     80library if not required for a particular application.
     81
     82We have also included "jpegtran", a utility for lossless transcoding between
     83different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
     84applications for inserting and extracting textual comments in JFIF files.
    9885
    9986The emphasis in designing this software has been on achieving portability and
     
    128115its user, assume the entire risk as to its quality and accuracy.
    129116
    130 This software is copyright (C) 1991-1998, Thomas G. Lane.
     117This software is copyright (C) 1991-2009, Thomas G. Lane, Guido Vollbeding.
    131118All Rights Reserved except as specified below.
    132119
     
    171158It is copyright by the Free Software Foundation but is freely distributable.
    172159The same holds for its supporting scripts (config.guess, config.sub,
    173 ltconfig, ltmain.sh).  Another support script, install-sh, is copyright
    174 by M.I.T. but is also freely distributable.
    175 
    176 It appears that the arithmetic coding option of the JPEG spec is covered by
    177 patents owned by IBM, AT&T, and Mitsubishi.  Hence arithmetic coding cannot
    178 legally be used without obtaining one or more licenses.  For this reason,
    179 support for arithmetic coding has been removed from the free JPEG software.
    180 (Since arithmetic coding provides only a marginal gain over the unpatented
    181 Huffman mode, it is unlikely that very many implementations will support it.)
    182 So far as we are aware, there are no patent restrictions on the remaining
    183 code.
     160ltmain.sh).  Another support script, install-sh, is copyright by X Consortium
     161but is also freely distributable.
    184162
    185163The IJG distribution formerly included code to read and write GIF files.
     
    199177==========
    200178
    201 We highly recommend reading one or more of these references before trying to
     179We recommend reading one or more of these references before trying to
    202180understand the innards of the JPEG software.
    203181
     
    208186applications of JPEG, and related topics.)  If you don't have the CACM issue
    209187handy, a PostScript file containing a revised version of Wallace's article is
    210 available at ftp://ftp.uu.net/graphics/jpeg/wallace.ps.gz.  The file (actually
     188available at http://www.ijg.org/files/wallace.ps.gz.  The file (actually
    211189a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
    212190omits the sample images that appeared in CACM, but it includes corrections
     
    223201at a full implementation, you've got one here...
    224202
    225 The best full description of JPEG is the textbook "JPEG Still Image Data
    226 Compression Standard" by William B. Pennebaker and Joan L. Mitchell, published
    227 by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.  Price US$59.95, 638 pp.
    228 The book includes the complete text of the ISO JPEG standards (DIS 10918-1
    229 and draft DIS 10918-2).  This is by far the most complete exposition of JPEG
    230 in existence, and we highly recommend it.
    231 
    232 The JPEG standard itself is not available electronically; you must order a
    233 paper copy through ISO or ITU.  (Unless you feel a need to own a certified
    234 official copy, we recommend buying the Pennebaker and Mitchell book instead;
    235 it's much cheaper and includes a great deal of useful explanatory material.)
    236 In the USA, copies of the standard may be ordered from ANSI Sales at (212)
    237 642-4900, or from Global Engineering Documents at (800) 854-7179.  (ANSI
    238 doesn't take credit card orders, but Global does.)  It's not cheap: as of
    239 1992, ANSI was charging $95 for Part 1 and $47 for Part 2, plus 7%
    240 shipping/handling.  The standard is divided into two parts, Part 1 being the
    241 actual specification, while Part 2 covers compliance testing methods.  Part 1
    242 is titled "Digital Compression and Coding of Continuous-tone Still Images,
     203The best currently available description of JPEG is the textbook "JPEG Still
     204Image Data Compression Standard" by William B. Pennebaker and Joan L.
     205Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
     206Price US$59.95, 638 pp.  The book includes the complete text of the ISO JPEG
     207standards (DIS 10918-1 and draft DIS 10918-2).
     208Although this is by far the most detailed and comprehensive exposition of
     209JPEG publicly available, we point out that it is still missing an explanation
     210of the most essential properties and algorithms of the underlying DCT
     211technology.
     212If you think that you know about DCT-based JPEG after reading this book,
     213then you are in delusion.  The real fundamentals and corresponding potential
     214of DCT-based JPEG are not publicly known so far, and that is the reason for
     215all the mistaken developments taking place in the image coding domain.
     216
     217The original JPEG standard is divided into two parts, Part 1 being the actual
     218specification, while Part 2 covers compliance testing methods.  Part 1 is
     219titled "Digital Compression and Coding of Continuous-tone Still Images,
    243220Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
    24422110918-1, ITU-T T.81.  Part 2 is titled "Digital Compression and Coding of
    245222Continuous-tone Still Images, Part 2: Compliance testing" and has document
    246223numbers ISO/IEC IS 10918-2, ITU-T T.83.
    247 
    248 Some extensions to the original JPEG standard are defined in JPEG Part 3,
    249 a newer ISO standard numbered ISO/IEC IS 10918-3 and ITU-T T.84.  IJG
    250 currently does not support any Part 3 extensions.
    251224
    252225The JPEG standard does not specify all details of an interchangeable file
     
    258231        Milpitas, CA 95035
    259232        phone (408) 944-6300,  fax (408) 944-6314
    260 A PostScript version of this document is available by FTP at
    261 ftp://ftp.uu.net/graphics/jpeg/jfif.ps.gz.  There is also a plain text
    262 version at ftp://ftp.uu.net/graphics/jpeg/jfif.txt.gz, but it is missing
    263 the figures.
     233A PostScript version of this document is available at
     234http://www.ijg.org/files/jfif.ps.gz.  There is also a plain text version at
     235http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures.
    264236
    265237The TIFF 6.0 file format specification can be obtained by FTP from
     
    268240IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6).
    269241Instead, we recommend the JPEG design proposed by TIFF Technical Note #2
    270 (Compression tag 7).  Copies of this Note can be obtained from ftp.sgi.com or
    271 from ftp://ftp.uu.net/graphics/jpeg/.  It is expected that the next revision
     242(Compression tag 7).  Copies of this Note can be obtained from
     243http://www.ijg.org/files/.  It is expected that the next revision
    272244of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
    273245Although IJG's own code does not support TIFF/JPEG, the free libtiff library
    274 uses our library to implement TIFF/JPEG per the Note.  libtiff is available
    275 from ftp://ftp.sgi.com/graphics/tiff/.
     246uses our library to implement TIFF/JPEG per the Note.
    276247
    277248
     
    279250=================
    280251
    281 The "official" archive site for this software is ftp.uu.net (Internet
    282 address 192.48.96.9).  The most recent released version can always be found
    283 there in directory graphics/jpeg.  This particular version will be archived
    284 as ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz.  If you don't have
    285 direct Internet access, UUNET's archives are also available via UUCP; contact
    286 help@uunet.uu.net for information on retrieving files that way.
    287 
    288 Numerous Internet sites maintain copies of the UUNET files.  However, only
    289 ftp.uu.net is guaranteed to have the latest official version.
    290 
    291 You can also obtain this software in DOS-compatible "zip" archive format from
    292 the SimTel archives (ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/), or
    293 on CompuServe in the Graphics Support forum (GO CIS:GRAPHSUP), library 12
    294 "JPEG Tools".  Again, these versions may sometimes lag behind the ftp.uu.net
    295 release.
    296 
    297 The JPEG FAQ (Frequently Asked Questions) article is a useful source of
    298 general information about JPEG.  It is updated constantly and therefore is
    299 not included in this distribution.  The FAQ is posted every two weeks to
    300 Usenet newsgroups comp.graphics.misc, news.answers, and other groups.
     252The "official" archive site for this software is www.ijg.org.
     253The most recent released version can always be found there in
     254directory "files".  This particular version will be archived as
     255http://www.ijg.org/files/jpegsrc.v7.tar.gz, and in Windows-compatible
     256"zip" archive format as http://www.ijg.org/files/jpegsr7.zip.
     257
     258The JPEG FAQ (Frequently Asked Questions) article is a source of some
     259general information about JPEG.
    301260It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/
    302261and other news.answers archive sites, including the official news.answers
     
    308267
    309268
    310 RELATED SOFTWARE
    311 ================
    312 
    313 Numerous viewing and image manipulation programs now support JPEG.  (Quite a
    314 few of them use this library to do so.)  The JPEG FAQ described above lists
    315 some of the more popular free and shareware viewers, and tells where to
    316 obtain them on Internet.
    317 
    318 If you are on a Unix machine, we highly recommend Jef Poskanzer's free
    319 PBMPLUS software, which provides many useful operations on PPM-format image
    320 files.  In particular, it can convert PPM images to and from a wide range of
    321 other formats, thus making cjpeg/djpeg considerably more useful.  The latest
    322 version is distributed by the NetPBM group, and is available from numerous
    323 sites, notably ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/.
    324 Unfortunately PBMPLUS/NETPBM is not nearly as portable as the IJG software is;
    325 you are likely to have difficulty making it work on any non-Unix machine.
    326 
    327 A different free JPEG implementation, written by the PVRG group at Stanford,
    328 is available from ftp://havefun.stanford.edu/pub/jpeg/.  This program
    329 is designed for research and experimentation rather than production use;
    330 it is slower, harder to use, and less portable than the IJG code, but it
    331 is easier to read and modify.  Also, the PVRG code supports lossless JPEG,
    332 which we do not.  (On the other hand, it doesn't do progressive JPEG.)
     269ACKNOWLEDGMENTS
     270===============
     271
     272Thank to Juergen Bruder of the Georg-Cantor-Organization at the
     273Martin-Luther-University Halle for providing me with a copy of the common
     274DCT algorithm article, only to find out that I had come to the same result
     275in a more direct and comprehensible way with a more generative approach.
     276
     277Thank to Istvan Sebestyen and Joan L. Mitchell for inviting me to the
     278ITU JPEG (Study Group 16) meeting in Geneva, Switzerland.
     279
     280Thank to Thomas Wiegand and Gary Sullivan for inviting me to the
     281Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland.
     282
     283Thank to John Korejwa and Massimo Ballerini for inviting me to
     284fruitful consultations in Boston, MA and Milan, Italy.
     285
     286Thank to Hendrik Elstner, Roland Fassauer, and Simone Zuck for
     287corresponding business development.
     288
     289Thank to Nico Zschach and Dirk Stelling of the technical support team
     290at the Digital Images company in Halle for providing me with extra
     291equipment for configuration tests.
     292
     293Thank to Richard F. Lyon (then of Foveon Inc.) for fruitful
     294communication about JPEG configuration in Sigma Photo Pro software.
     295
     296Last but not least special thank to Thomas G. Lane for the original
     297design and development of this singular software package.
    333298
    334299
     
    336301================
    337302
    338 Some JPEG programs produce files that are not compatible with our library.
    339 The root of the problem is that the ISO JPEG committee failed to specify a
    340 concrete file format.  Some vendors "filled in the blanks" on their own,
    341 creating proprietary formats that no one else could read.  (For example, none
    342 of the early commercial JPEG implementations for the Macintosh were able to
    343 exchange compressed files.)
    344 
    345 The file format we have adopted is called JFIF (see REFERENCES).  This format
    346 has been agreed to by a number of major commercial JPEG vendors, and it has
    347 become the de facto standard.  JFIF is a minimal or "low end" representation.
    348 We recommend the use of TIFF/JPEG (TIFF revision 6.0 as modified by TIFF
    349 Technical Note #2) for "high end" applications that need to record a lot of
    350 additional data about an image.  TIFF/JPEG is fairly new and not yet widely
    351 supported, unfortunately.
    352 
    353 The upcoming JPEG Part 3 standard defines a file format called SPIFF.
    354 SPIFF is interoperable with JFIF, in the sense that most JFIF decoders should
    355 be able to read the most common variant of SPIFF.  SPIFF has some technical
    356 advantages over JFIF, but its major claim to fame is simply that it is an
    357 official standard rather than an informal one.  At this point it is unclear
    358 whether SPIFF will supersede JFIF or whether JFIF will remain the de-facto
    359 standard.  IJG intends to support SPIFF once the standard is frozen, but we
    360 have not decided whether it should become our default output format or not.
    361 (In any case, our decoder will remain capable of reading JFIF indefinitely.)
    362 
    363 Various proprietary file formats incorporating JPEG compression also exist.
    364 We have little or no sympathy for the existence of these formats.  Indeed,
     303The ISO JPEG standards committee actually promotes different formats like
     304JPEG-2000 or JPEG-XR which are incompatible with original DCT-based JPEG
     305and which are based on faulty technologies.  IJG therefore does not and
     306will not support such momentary mistakes (see REFERENCES).
     307We have little or no sympathy for the promotion of these formats.  Indeed,
    365308one of the original reasons for developing this free software was to help
    366 force convergence on common, open format standards for JPEG files.  Don't
    367 use a proprietary file format!
     309force convergence on common, interoperable format standards for JPEG files.
     310Don't use an incompatible file format!
     311(In any case, our decoder will remain capable of reading existing JPEG
     312image files indefinitely.)
    368313
    369314
     
    371316=====
    372317
    373 The major thrust for v7 will probably be improvement of visual quality.
    374 The current method for scaling the quantization tables is known not to be
    375 very good at low Q values.  We also intend to investigate block boundary
    376 smoothing, "poor man's variable quantization", and other means of improving
    377 quality-vs-file-size performance without sacrificing compatibility.
    378 
    379 In future versions, we are considering supporting some of the upcoming JPEG
    380 Part 3 extensions --- principally, variable quantization and the SPIFF file
    381 format.
    382 
    383 As always, speeding things up is of great interest.
    384 
    385 Please send bug reports, offers of help, etc. to jpeg-info@uunet.uu.net.
     318v7 is basically just a necessary interim release, paving the way for a
     319major breakthrough in image coding technology with the next v8 package
     320which is scheduled for release in the year 2010.
     321
     322Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org.
Note: See TracChangeset for help on using the changeset viewer.