xii
APPENDIX
Y ou can also obtain this software in DOS-compatible “zip” archive format from the
SimT el archives (ftp://ftp.simtel.net/pub/simtelnet/msdos/graphi cs/), or on CompuServ e
in the Graphics Support forum (GO CIS:GRAPHSUP), library 12 “JPEG T ools”. Again,
these versions may sometimes lag behind the ftp.uu.net release.
The JPEG F AQ (Frequently Asked Questions) article is a useful source of general
information about JPEG. It is updated constantly and therefore is not included in this
distribution. The F A Q is posted ev ery two weeks to Usenet newsgroups
comp.graphics.misc, news.answers, and other groups. It is av a ilable on the W orld Wide
W eb at http://www .faqs.org/faqs/jpeg-faq/ and other news.answers archiv e sites,
including the of ficial ne w s.answers archiv e at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/
usenet/news.answers/jpe g-faq/.
If you don’t hav e W eb or FTP access, send e-mail to mail-server@rtfm.mit.edu with
body
send usenet/ne ws.answers/jpeg-f aq/part1
send usenet/ne ws.answers/jpeg-f aq/part2
RELA TED SOFTW ARE
Numerous viewing and image manipulation programs no w support JPEG. (Quite a few
of them use this library to do so.) The JPEG F AQ described abov e lists some of the more
popular free and shareware view ers, and tells where to obtain them on Internet.
If you are on a Unix machine, we highly recommend Jef Poskanzer’s free PBMPLUS
software, which provides many useful operations on PPM-format image files. In
particular, it can con vert PPM images to and from a wide range of other formats, thus
making cjpeg/djpeg considerably more useful. The latest v ersion is distributed b y the
NetPBM group, and is av ailable from numerous sites, notably ftp://wuarchi ve.wustl.edu/
graphics/graphics/packa ges/NetPBM/.
Unfortunately PBMPLUS/NETPBM is not nearly as portable as the IJG software is; you
are likely to hav e diff iculty making it work on any non-Unix machine.
A different free JPEG implementation, written b y the PVRG group at Stanford, is
av ailable from ftp://havefun.stanford.edu/pub/jpeg/. This program is designed for
research and experimentation rather than production use; it is slower , harder to use, and
less portable than the IJG code, b ut it is easier to read and modify . Also, the PVRG code
supports lossless JPEG, which we do not. (On the other hand, it doesn’t do progressi ve
JPEG.)
FILE FORMA T W ARS
Some JPEG programs produce files that are not compatible with our library . The root of
the problem is that the IS O JPEG committee failed to s pecify a concrete f ile format.
Some vendors “fill ed in the blanks” on their own, creating proprietary formats that no
one else could read. (For example, none of the early commercial JPEG implementations
for the Macintosh were able to exchange compressed files.)
The file format we hav e adopted is called JFIF (see REFERENCES). This format has
been agreed to by a number of major commercial JPEG vendors, and it has become the
de facto standard. JFIF is a mi nimal or “low end” representation. W e recommend the use
of TIFF/JPEG (TIFF revision 6.0 as modif ied by TIFF T echnical Note #2) for “high
end” applications that need to record a lot of additional data about an image. TIFF/JPEG
is fairly new and not yet widely supported, unfortunately .
The upcoming JPEG Part 3 standard defines a f ile format called SPIFF . SP IFF is
interoperable with JFIF , in the sense that most JFIF decoders should be able to read the
most common vari ant of SPIFF . SPIFF has some technical advantages ov er JFIF , but its
major claim to fame is simpl y that it is an off icial standard rather than an informal one.
At this point it is unclear whether SPIFF will supersede JFIF or whether JFIF will
remain the de-facto standard. IJG intends to support SPIFF once the standard is frozen,
but we ha ve not decided whether it should become our default output format or not. (In
any case, our de coder will remain capable of reading JFIF i ndefinitely .)
V arious proprietary file formats incorporating JPEG compression also e xist. W e have
little or no sympathy for the e xistence of these formats . Indeed, one of the original
reasons for developing this free softwa re was to help force conv ergence on common,
open format standards for JPEG files. Don’t use a proprietary fi le format!
TO D O
The major thrust for v7 will probably be improvement of visual quality . The current
method for scaling the quantization tables is known not t o be very good at low Q v alues.
W e also intend to inv estigate block boundary smoothing, “poor man’ s variable
quantization”, and other means of improving quality-vs-file-size performance without
sacrificing compa tibility .
In future versions, we are considering supporting some of the upcoming JPEG Part 3
extensions --- principally , variable quantization and the SPIFF file format.
As always, speeding things up is of great interest.
Please send bug reports, of fers of help, etc. to jpeg-info@uunet.uu.net.
■ About PNG Reference Library
libpng versions 1.2.6, August 15, 2004, through 1.2.29, May 8, 2008, are Copyright (c)
2004, 2006-2008 Glenn Randers-Pehrson, and are distributed according to the same
disclaimer and license as libpng-1.2.5 with the following indi vidual added to the list of
Contributing Authors
Cosmin T ruta
libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are Copyright (c)
2000-2002 Glenn Randers-Pehrson, and are distributed according to the same disclaimer
and license as libpng-1.0.6 with the following indi vidua ls added to the list of
Contributing Authors
Simon-Pierre Cadieux
Eric S. Raymond
Gilles V o llant
and with the follo wing additions to the disclaime r:
There is no warranty against interference with your enjoyment of the library or
against infringement. There is no warranty that our efforts or the library will fulfil l
any of your particular purposes or needs. This library is provided with all faults,
and the entire risk of satisfactory quality, pe rformance, accuracy , and effort is with
the user .
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are Copyright (c)
1998, 1999 Glenn Randers-Pehrson, and are distributed according to the same
disclaimer and license as libpng-0.96, with the following individ uals added to the list of
Contributing Authors:
To m L a n e
Glenn Randers-Pehrson
W illem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are Copyright (c) 1996, 1997
Andreas Dilger Distributed according to the same disclaimer and license as libpng-0.88,
with the following indi viduals added to the list of Contrib uting Authors:
John Bowler
Ke vin Bracey
Sam Bushel l
Magnus Holmgren
Greg Roelofs
To m Ta n n e r
libpng versions 0.5, May 1995, through 0.88, January 1996, are Copyright (c) 1995,
1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, “Contribut ing Authors” is defined as the
following set of indi viduals:
Andreas Dil ger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim W egner
The PNG Reference Library is supplied “ AS IS”. The Contributing Authors and Group
42, Inc. disclaim all warranties, expressed or implied, including, with out limitation, the
warranties of merchanta bility and of fitness for an y purpose. The Contrib uting Authors
and Group 42, Inc. assume no liability for direct, indirect, incidental, special, exemplary ,
or consequential damages, which may result from the use of the PNG Reference Library,
ev en if advised of the possibility of such dama ge.
Permission is hereby granted to use, copy , modify , and distribute this source code, or
portions hereof, for any purpose, without fee, subject to the following restrict ions:
1. The origin of this source code must not be misrepresented.
2. Altered vers ions must be plainly marked as such and must not be misrepresented
as being the original source.
3. This Copyright noti ce may not be removed or altered from any source or altered
source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, without fee, and
encourage the use of this source code as a component to supporting the PNG file format
in commercial products. If you use this source code in a product, acknowledgment is not
required but would be appreciated.
■ About zlib Library
Copyright notice:
(C) 1995-2004 Jean-loup Gailly and Mark Adler
This software is provided ‘as-is’, without any e xpress or implied warranty . In no event
will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including
commercial applications, and to alter it and redistribute it freely , subject to the following
restrictions:
1. The origin of this software must not be misrepresented; you must not claim that
you wrote the original software. If you use this software in a product, an
acknowledgment in the product documentation would be appreciated b ut is not
required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be remov ed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
If you use the zlib library in a product, we would appreciate *not* receiving lengthy
legal documents to sign. The sources are provided for free but without w arranty of any
kind. The library has been entirely written by Jean-loup Gailly and Mark Adler; it does
not include third-party code.
If you redistribute modif ied sources, we would appreciate that you include in the file
ChangeLog history information documenting your changes. Please read the F AQ for
more information on the distribution of modif ied source versions.