media/libjpeg/README

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/media/libjpeg/README	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,282 @@
     1.4 +libjpeg-turbo note:  This file has been modified by The libjpeg-turbo Project
     1.5 +to include only information relevant to libjpeg-turbo, to wordsmith certain
     1.6 +sections, and to remove impolitic language that existed in the libjpeg v8
     1.7 +README.  It is included only for reference.  Please see README-turbo.txt for
     1.8 +information specific to libjpeg-turbo.
     1.9 +
    1.10 +
    1.11 +The Independent JPEG Group's JPEG software
    1.12 +==========================================
    1.13 +
    1.14 +This distribution contains a release of the Independent JPEG Group's free JPEG
    1.15 +software.  You are welcome to redistribute this software and to use it for any
    1.16 +purpose, subject to the conditions under LEGAL ISSUES, below.
    1.17 +
    1.18 +This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone,
    1.19 +Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson,
    1.20 +Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers,
    1.21 +and other members of the Independent JPEG Group.
    1.22 +
    1.23 +IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee
    1.24 +(also known as JPEG, together with ITU-T SG16).
    1.25 +
    1.26 +
    1.27 +DOCUMENTATION ROADMAP
    1.28 +=====================
    1.29 +
    1.30 +This file contains the following sections:
    1.31 +
    1.32 +OVERVIEW            General description of JPEG and the IJG software.
    1.33 +LEGAL ISSUES        Copyright, lack of warranty, terms of distribution.
    1.34 +REFERENCES          Where to learn more about JPEG.
    1.35 +ARCHIVE LOCATIONS   Where to find newer versions of this software.
    1.36 +FILE FORMAT WARS    Software *not* to get.
    1.37 +TO DO               Plans for future IJG releases.
    1.38 +
    1.39 +Other documentation files in the distribution are:
    1.40 +
    1.41 +User documentation:
    1.42 +  install.txt       How to configure and install the IJG software.
    1.43 +  usage.txt         Usage instructions for cjpeg, djpeg, jpegtran,
    1.44 +                    rdjpgcom, and wrjpgcom.
    1.45 +  *.1               Unix-style man pages for programs (same info as usage.txt).
    1.46 +  wizard.txt        Advanced usage instructions for JPEG wizards only.
    1.47 +  change.log        Version-to-version change highlights.
    1.48 +Programmer and internal documentation:
    1.49 +  libjpeg.txt       How to use the JPEG library in your own programs.
    1.50 +  example.c         Sample code for calling the JPEG library.
    1.51 +  structure.txt     Overview of the JPEG library's internal structure.
    1.52 +  coderules.txt     Coding style rules --- please read if you contribute code.
    1.53 +
    1.54 +Please read at least the files install.txt and usage.txt.  Some information
    1.55 +can also be found in the JPEG FAQ (Frequently Asked Questions) article.  See
    1.56 +ARCHIVE LOCATIONS below to find out where to obtain the FAQ article.
    1.57 +
    1.58 +If you want to understand how the JPEG code works, we suggest reading one or
    1.59 +more of the REFERENCES, then looking at the documentation files (in roughly
    1.60 +the order listed) before diving into the code.
    1.61 +
    1.62 +
    1.63 +OVERVIEW
    1.64 +========
    1.65 +
    1.66 +This package contains C software to implement JPEG image encoding, decoding,
    1.67 +and transcoding.  JPEG (pronounced "jay-peg") is a standardized compression
    1.68 +method for full-color and gray-scale images.  JPEG's strong suit is compressing
    1.69 +photographic images or other types of images that have smooth color and
    1.70 +brightness transitions between neighboring pixels.  Images with sharp lines or
    1.71 +other abrupt features may not compress well with JPEG, and a higher JPEG
    1.72 +quality may have to be used to avoid visible compression artifacts with such
    1.73 +images.
    1.74 +
    1.75 +JPEG is lossy, meaning that the output pixels are not necessarily identical to
    1.76 +the input pixels.  However, on photographic content and other "smooth" images,
    1.77 +very good compression ratios can be obtained with no visible compression
    1.78 +artifacts, and extremely high compression ratios are possible if you are
    1.79 +willing to sacrifice image quality (by reducing the "quality" setting in the
    1.80 +compressor.)
    1.81 +
    1.82 +This software implements JPEG baseline, extended-sequential, and progressive
    1.83 +compression processes.  Provision is made for supporting all variants of these
    1.84 +processes, although some uncommon parameter settings aren't implemented yet.
    1.85 +We have made no provision for supporting the hierarchical or lossless
    1.86 +processes defined in the standard.
    1.87 +
    1.88 +We provide a set of library routines for reading and writing JPEG image files,
    1.89 +plus two sample applications "cjpeg" and "djpeg", which use the library to
    1.90 +perform conversion between JPEG and some other popular image file formats.
    1.91 +The library is intended to be reused in other applications.
    1.92 +
    1.93 +In order to support file conversion and viewing software, we have included
    1.94 +considerable functionality beyond the bare JPEG coding/decoding capability;
    1.95 +for example, the color quantization modules are not strictly part of JPEG
    1.96 +decoding, but they are essential for output to colormapped file formats or
    1.97 +colormapped displays.  These extra functions can be compiled out of the
    1.98 +library if not required for a particular application.
    1.99 +
   1.100 +We have also included "jpegtran", a utility for lossless transcoding between
   1.101 +different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
   1.102 +applications for inserting and extracting textual comments in JFIF files.
   1.103 +
   1.104 +The emphasis in designing this software has been on achieving portability and
   1.105 +flexibility, while also making it fast enough to be useful.  In particular,
   1.106 +the software is not intended to be read as a tutorial on JPEG.  (See the
   1.107 +REFERENCES section for introductory material.)  Rather, it is intended to
   1.108 +be reliable, portable, industrial-strength code.  We do not claim to have
   1.109 +achieved that goal in every aspect of the software, but we strive for it.
   1.110 +
   1.111 +We welcome the use of this software as a component of commercial products.
   1.112 +No royalty is required, but we do ask for an acknowledgement in product
   1.113 +documentation, as described under LEGAL ISSUES.
   1.114 +
   1.115 +
   1.116 +LEGAL ISSUES
   1.117 +============
   1.118 +
   1.119 +In plain English:
   1.120 +
   1.121 +1. We don't promise that this software works.  (But if you find any bugs,
   1.122 +   please let us know!)
   1.123 +2. You can use this software for whatever you want.  You don't have to pay us.
   1.124 +3. You may not pretend that you wrote this software.  If you use it in a
   1.125 +   program, you must acknowledge somewhere in your documentation that
   1.126 +   you've used the IJG code.
   1.127 +
   1.128 +In legalese:
   1.129 +
   1.130 +The authors make NO WARRANTY or representation, either express or implied,
   1.131 +with respect to this software, its quality, accuracy, merchantability, or
   1.132 +fitness for a particular purpose.  This software is provided "AS IS", and you,
   1.133 +its user, assume the entire risk as to its quality and accuracy.
   1.134 +
   1.135 +This software is copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
   1.136 +All Rights Reserved except as specified below.
   1.137 +
   1.138 +Permission is hereby granted to use, copy, modify, and distribute this
   1.139 +software (or portions thereof) for any purpose, without fee, subject to these
   1.140 +conditions:
   1.141 +(1) If any part of the source code for this software is distributed, then this
   1.142 +README file must be included, with this copyright and no-warranty notice
   1.143 +unaltered; and any additions, deletions, or changes to the original files
   1.144 +must be clearly indicated in accompanying documentation.
   1.145 +(2) If only executable code is distributed, then the accompanying
   1.146 +documentation must state that "this software is based in part on the work of
   1.147 +the Independent JPEG Group".
   1.148 +(3) Permission for use of this software is granted only if the user accepts
   1.149 +full responsibility for any undesirable consequences; the authors accept
   1.150 +NO LIABILITY for damages of any kind.
   1.151 +
   1.152 +These conditions apply to any software derived from or based on the IJG code,
   1.153 +not just to the unmodified library.  If you use our work, you ought to
   1.154 +acknowledge us.
   1.155 +
   1.156 +Permission is NOT granted for the use of any IJG author's name or company name
   1.157 +in advertising or publicity relating to this software or products derived from
   1.158 +it.  This software may be referred to only as "the Independent JPEG Group's
   1.159 +software".
   1.160 +
   1.161 +We specifically permit and encourage the use of this software as the basis of
   1.162 +commercial products, provided that all warranty or liability claims are
   1.163 +assumed by the product vendor.
   1.164 +
   1.165 +
   1.166 +The Unix configuration script "configure" was produced with GNU Autoconf.
   1.167 +It is copyright by the Free Software Foundation but is freely distributable.
   1.168 +The same holds for its supporting scripts (config.guess, config.sub,
   1.169 +ltmain.sh).  Another support script, install-sh, is copyright by X Consortium
   1.170 +but is also freely distributable.
   1.171 +
   1.172 +The IJG distribution formerly included code to read and write GIF files.
   1.173 +To avoid entanglement with the Unisys LZW patent, GIF reading support has
   1.174 +been removed altogether, and the GIF writer has been simplified to produce
   1.175 +"uncompressed GIFs".  This technique does not use the LZW algorithm; the
   1.176 +resulting GIF files are larger than usual, but are readable by all standard
   1.177 +GIF decoders.
   1.178 +
   1.179 +We are required to state that
   1.180 +    "The Graphics Interchange Format(c) is the Copyright property of
   1.181 +    CompuServe Incorporated.  GIF(sm) is a Service Mark property of
   1.182 +    CompuServe Incorporated."
   1.183 +
   1.184 +
   1.185 +REFERENCES
   1.186 +==========
   1.187 +
   1.188 +We recommend reading one or more of these references before trying to
   1.189 +understand the innards of the JPEG software.
   1.190 +
   1.191 +The best short technical introduction to the JPEG compression algorithm is
   1.192 +	Wallace, Gregory K.  "The JPEG Still Picture Compression Standard",
   1.193 +	Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
   1.194 +(Adjacent articles in that issue discuss MPEG motion picture compression,
   1.195 +applications of JPEG, and related topics.)  If you don't have the CACM issue
   1.196 +handy, a PostScript file containing a revised version of Wallace's article is
   1.197 +available at http://www.ijg.org/files/wallace.ps.gz.  The file (actually
   1.198 +a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
   1.199 +omits the sample images that appeared in CACM, but it includes corrections
   1.200 +and some added material.  Note: the Wallace article is copyright ACM and IEEE,
   1.201 +and it may not be used for commercial purposes.
   1.202 +
   1.203 +A somewhat less technical, more leisurely introduction to JPEG can be found in
   1.204 +"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by
   1.205 +M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1.  This book provides
   1.206 +good explanations and example C code for a multitude of compression methods
   1.207 +including JPEG.  It is an excellent source if you are comfortable reading C
   1.208 +code but don't know much about data compression in general.  The book's JPEG
   1.209 +sample code is far from industrial-strength, but when you are ready to look
   1.210 +at a full implementation, you've got one here...
   1.211 +
   1.212 +The best currently available description of JPEG is the textbook "JPEG Still
   1.213 +Image Data Compression Standard" by William B. Pennebaker and Joan L.
   1.214 +Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
   1.215 +Price US$59.95, 638 pp.  The book includes the complete text of the ISO JPEG
   1.216 +standards (DIS 10918-1 and draft DIS 10918-2).
   1.217 +
   1.218 +The original JPEG standard is divided into two parts, Part 1 being the actual
   1.219 +specification, while Part 2 covers compliance testing methods.  Part 1 is
   1.220 +titled "Digital Compression and Coding of Continuous-tone Still Images,
   1.221 +Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
   1.222 +10918-1, ITU-T T.81.  Part 2 is titled "Digital Compression and Coding of
   1.223 +Continuous-tone Still Images, Part 2: Compliance testing" and has document
   1.224 +numbers ISO/IEC IS 10918-2, ITU-T T.83.
   1.225 +
   1.226 +The JPEG standard does not specify all details of an interchangeable file
   1.227 +format.  For the omitted details we follow the "JFIF" conventions, revision
   1.228 +1.02.  JFIF 1.02 has been adopted as an Ecma International Technical Report
   1.229 +and thus received a formal publication status.  It is available as a free
   1.230 +download in PDF format from
   1.231 +http://www.ecma-international.org/publications/techreports/E-TR-098.htm.
   1.232 +A PostScript version of the JFIF document is available at
   1.233 +http://www.ijg.org/files/jfif.ps.gz.  There is also a plain text version at
   1.234 +http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures.
   1.235 +
   1.236 +The TIFF 6.0 file format specification can be obtained by FTP from
   1.237 +ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz.  The JPEG incorporation scheme
   1.238 +found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems.
   1.239 +IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6).
   1.240 +Instead, we recommend the JPEG design proposed by TIFF Technical Note #2
   1.241 +(Compression tag 7).  Copies of this Note can be obtained from
   1.242 +http://www.ijg.org/files/.  It is expected that the next revision
   1.243 +of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
   1.244 +Although IJG's own code does not support TIFF/JPEG, the free libtiff library
   1.245 +uses our library to implement TIFF/JPEG per the Note.
   1.246 +
   1.247 +
   1.248 +ARCHIVE LOCATIONS
   1.249 +=================
   1.250 +
   1.251 +The "official" archive site for this software is www.ijg.org.
   1.252 +The most recent released version can always be found there in
   1.253 +directory "files".  This particular version will be archived as
   1.254 +http://www.ijg.org/files/jpegsrc.v8d.tar.gz, and in Windows-compatible
   1.255 +"zip" archive format as http://www.ijg.org/files/jpegsr8d.zip.
   1.256 +
   1.257 +The JPEG FAQ (Frequently Asked Questions) article is a source of some
   1.258 +general information about JPEG.
   1.259 +It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/
   1.260 +and other news.answers archive sites, including the official news.answers
   1.261 +archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/.
   1.262 +If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu
   1.263 +with body
   1.264 +	send usenet/news.answers/jpeg-faq/part1
   1.265 +	send usenet/news.answers/jpeg-faq/part2
   1.266 +
   1.267 +
   1.268 +FILE FORMAT WARS
   1.269 +================
   1.270 +
   1.271 +The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together
   1.272 +with ITU-T SG16) currently promotes different formats containing the name
   1.273 +"JPEG" which are incompatible with original DCT-based JPEG.  IJG therefore does
   1.274 +not support these formats (see REFERENCES).  Indeed, one of the original
   1.275 +reasons for developing this free software was to help force convergence on
   1.276 +common, interoperable format standards for JPEG files.
   1.277 +Don't use an incompatible file format!
   1.278 +(In any case, our decoder will remain capable of reading existing JPEG
   1.279 +image files indefinitely.)
   1.280 +
   1.281 +
   1.282 +TO DO
   1.283 +=====
   1.284 +
   1.285 +Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org.

mercurial