dbf-halloween2015

diff libs/libjpeg/README @ 1:c3f5c32cb210

barfed all the libraries in the source tree to make porting easier
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 01 Nov 2015 00:36:56 +0200
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/libs/libjpeg/README	Sun Nov 01 00:36:56 2015 +0200
     1.3 @@ -0,0 +1,326 @@
     1.4 +The Independent JPEG Group's JPEG software
     1.5 +==========================================
     1.6 +
     1.7 +README for release 8c of 16-Jan-2011
     1.8 +====================================
     1.9 +
    1.10 +This distribution contains the eighth public release of the Independent JPEG
    1.11 +Group's free JPEG software.  You are welcome to redistribute this software and
    1.12 +to use it for any purpose, subject to the conditions under LEGAL ISSUES, below.
    1.13 +
    1.14 +This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone,
    1.15 +Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson,
    1.16 +Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers,
    1.17 +and other members of the Independent JPEG Group.
    1.18 +
    1.19 +IJG is not affiliated with the official ISO JPEG standards committee.
    1.20 +
    1.21 +
    1.22 +DOCUMENTATION ROADMAP
    1.23 +=====================
    1.24 +
    1.25 +This file contains the following sections:
    1.26 +
    1.27 +OVERVIEW            General description of JPEG and the IJG software.
    1.28 +LEGAL ISSUES        Copyright, lack of warranty, terms of distribution.
    1.29 +REFERENCES          Where to learn more about JPEG.
    1.30 +ARCHIVE LOCATIONS   Where to find newer versions of this software.
    1.31 +ACKNOWLEDGMENTS     Special thanks.
    1.32 +FILE FORMAT WARS    Software *not* to get.
    1.33 +TO DO               Plans for future IJG releases.
    1.34 +
    1.35 +Other documentation files in the distribution are:
    1.36 +
    1.37 +User documentation:
    1.38 +  install.txt       How to configure and install the IJG software.
    1.39 +  usage.txt         Usage instructions for cjpeg, djpeg, jpegtran,
    1.40 +                    rdjpgcom, and wrjpgcom.
    1.41 +  *.1               Unix-style man pages for programs (same info as usage.txt).
    1.42 +  wizard.txt        Advanced usage instructions for JPEG wizards only.
    1.43 +  change.log        Version-to-version change highlights.
    1.44 +Programmer and internal documentation:
    1.45 +  libjpeg.txt       How to use the JPEG library in your own programs.
    1.46 +  example.c         Sample code for calling the JPEG library.
    1.47 +  structure.txt     Overview of the JPEG library's internal structure.
    1.48 +  filelist.txt      Road map of IJG files.
    1.49 +  coderules.txt     Coding style rules --- please read if you contribute code.
    1.50 +
    1.51 +Please read at least the files install.txt and usage.txt.  Some information
    1.52 +can also be found in the JPEG FAQ (Frequently Asked Questions) article.  See
    1.53 +ARCHIVE LOCATIONS below to find out where to obtain the FAQ article.
    1.54 +
    1.55 +If you want to understand how the JPEG code works, we suggest reading one or
    1.56 +more of the REFERENCES, then looking at the documentation files (in roughly
    1.57 +the order listed) before diving into the code.
    1.58 +
    1.59 +
    1.60 +OVERVIEW
    1.61 +========
    1.62 +
    1.63 +This package contains C software to implement JPEG image encoding, decoding,
    1.64 +and transcoding.  JPEG (pronounced "jay-peg") is a standardized compression
    1.65 +method for full-color and gray-scale images.
    1.66 +
    1.67 +This software implements JPEG baseline, extended-sequential, and progressive
    1.68 +compression processes.  Provision is made for supporting all variants of these
    1.69 +processes, although some uncommon parameter settings aren't implemented yet.
    1.70 +We have made no provision for supporting the hierarchical or lossless
    1.71 +processes defined in the standard.
    1.72 +
    1.73 +We provide a set of library routines for reading and writing JPEG image files,
    1.74 +plus two sample applications "cjpeg" and "djpeg", which use the library to
    1.75 +perform conversion between JPEG and some other popular image file formats.
    1.76 +The library is intended to be reused in other applications.
    1.77 +
    1.78 +In order to support file conversion and viewing software, we have included
    1.79 +considerable functionality beyond the bare JPEG coding/decoding capability;
    1.80 +for example, the color quantization modules are not strictly part of JPEG
    1.81 +decoding, but they are essential for output to colormapped file formats or
    1.82 +colormapped displays.  These extra functions can be compiled out of the
    1.83 +library if not required for a particular application.
    1.84 +
    1.85 +We have also included "jpegtran", a utility for lossless transcoding between
    1.86 +different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
    1.87 +applications for inserting and extracting textual comments in JFIF files.
    1.88 +
    1.89 +The emphasis in designing this software has been on achieving portability and
    1.90 +flexibility, while also making it fast enough to be useful.  In particular,
    1.91 +the software is not intended to be read as a tutorial on JPEG.  (See the
    1.92 +REFERENCES section for introductory material.)  Rather, it is intended to
    1.93 +be reliable, portable, industrial-strength code.  We do not claim to have
    1.94 +achieved that goal in every aspect of the software, but we strive for it.
    1.95 +
    1.96 +We welcome the use of this software as a component of commercial products.
    1.97 +No royalty is required, but we do ask for an acknowledgement in product
    1.98 +documentation, as described under LEGAL ISSUES.
    1.99 +
   1.100 +
   1.101 +LEGAL ISSUES
   1.102 +============
   1.103 +
   1.104 +In plain English:
   1.105 +
   1.106 +1. We don't promise that this software works.  (But if you find any bugs,
   1.107 +   please let us know!)
   1.108 +2. You can use this software for whatever you want.  You don't have to pay us.
   1.109 +3. You may not pretend that you wrote this software.  If you use it in a
   1.110 +   program, you must acknowledge somewhere in your documentation that
   1.111 +   you've used the IJG code.
   1.112 +
   1.113 +In legalese:
   1.114 +
   1.115 +The authors make NO WARRANTY or representation, either express or implied,
   1.116 +with respect to this software, its quality, accuracy, merchantability, or
   1.117 +fitness for a particular purpose.  This software is provided "AS IS", and you,
   1.118 +its user, assume the entire risk as to its quality and accuracy.
   1.119 +
   1.120 +This software is copyright (C) 1991-2011, Thomas G. Lane, Guido Vollbeding.
   1.121 +All Rights Reserved except as specified below.
   1.122 +
   1.123 +Permission is hereby granted to use, copy, modify, and distribute this
   1.124 +software (or portions thereof) for any purpose, without fee, subject to these
   1.125 +conditions:
   1.126 +(1) If any part of the source code for this software is distributed, then this
   1.127 +README file must be included, with this copyright and no-warranty notice
   1.128 +unaltered; and any additions, deletions, or changes to the original files
   1.129 +must be clearly indicated in accompanying documentation.
   1.130 +(2) If only executable code is distributed, then the accompanying
   1.131 +documentation must state that "this software is based in part on the work of
   1.132 +the Independent JPEG Group".
   1.133 +(3) Permission for use of this software is granted only if the user accepts
   1.134 +full responsibility for any undesirable consequences; the authors accept
   1.135 +NO LIABILITY for damages of any kind.
   1.136 +
   1.137 +These conditions apply to any software derived from or based on the IJG code,
   1.138 +not just to the unmodified library.  If you use our work, you ought to
   1.139 +acknowledge us.
   1.140 +
   1.141 +Permission is NOT granted for the use of any IJG author's name or company name
   1.142 +in advertising or publicity relating to this software or products derived from
   1.143 +it.  This software may be referred to only as "the Independent JPEG Group's
   1.144 +software".
   1.145 +
   1.146 +We specifically permit and encourage the use of this software as the basis of
   1.147 +commercial products, provided that all warranty or liability claims are
   1.148 +assumed by the product vendor.
   1.149 +
   1.150 +
   1.151 +ansi2knr.c is included in this distribution by permission of L. Peter Deutsch,
   1.152 +sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.
   1.153 +ansi2knr.c is NOT covered by the above copyright and conditions, but instead
   1.154 +by the usual distribution terms of the Free Software Foundation; principally,
   1.155 +that you must include source code if you redistribute it.  (See the file
   1.156 +ansi2knr.c for full details.)  However, since ansi2knr.c is not needed as part
   1.157 +of any program generated from the IJG code, this does not limit you more than
   1.158 +the foregoing paragraphs do.
   1.159 +
   1.160 +The Unix configuration script "configure" was produced with GNU Autoconf.
   1.161 +It is copyright by the Free Software Foundation but is freely distributable.
   1.162 +The same holds for its supporting scripts (config.guess, config.sub,
   1.163 +ltmain.sh).  Another support script, install-sh, is copyright by X Consortium
   1.164 +but is also freely distributable.
   1.165 +
   1.166 +The IJG distribution formerly included code to read and write GIF files.
   1.167 +To avoid entanglement with the Unisys LZW patent, GIF reading support has
   1.168 +been removed altogether, and the GIF writer has been simplified to produce
   1.169 +"uncompressed GIFs".  This technique does not use the LZW algorithm; the
   1.170 +resulting GIF files are larger than usual, but are readable by all standard
   1.171 +GIF decoders.
   1.172 +
   1.173 +We are required to state that
   1.174 +    "The Graphics Interchange Format(c) is the Copyright property of
   1.175 +    CompuServe Incorporated.  GIF(sm) is a Service Mark property of
   1.176 +    CompuServe Incorporated."
   1.177 +
   1.178 +
   1.179 +REFERENCES
   1.180 +==========
   1.181 +
   1.182 +We recommend reading one or more of these references before trying to
   1.183 +understand the innards of the JPEG software.
   1.184 +
   1.185 +The best short technical introduction to the JPEG compression algorithm is
   1.186 +	Wallace, Gregory K.  "The JPEG Still Picture Compression Standard",
   1.187 +	Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
   1.188 +(Adjacent articles in that issue discuss MPEG motion picture compression,
   1.189 +applications of JPEG, and related topics.)  If you don't have the CACM issue
   1.190 +handy, a PostScript file containing a revised version of Wallace's article is
   1.191 +available at http://www.ijg.org/files/wallace.ps.gz.  The file (actually
   1.192 +a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
   1.193 +omits the sample images that appeared in CACM, but it includes corrections
   1.194 +and some added material.  Note: the Wallace article is copyright ACM and IEEE,
   1.195 +and it may not be used for commercial purposes.
   1.196 +
   1.197 +A somewhat less technical, more leisurely introduction to JPEG can be found in
   1.198 +"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by
   1.199 +M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1.  This book provides
   1.200 +good explanations and example C code for a multitude of compression methods
   1.201 +including JPEG.  It is an excellent source if you are comfortable reading C
   1.202 +code but don't know much about data compression in general.  The book's JPEG
   1.203 +sample code is far from industrial-strength, but when you are ready to look
   1.204 +at a full implementation, you've got one here...
   1.205 +
   1.206 +The best currently available description of JPEG is the textbook "JPEG Still
   1.207 +Image Data Compression Standard" by William B. Pennebaker and Joan L.
   1.208 +Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
   1.209 +Price US$59.95, 638 pp.  The book includes the complete text of the ISO JPEG
   1.210 +standards (DIS 10918-1 and draft DIS 10918-2).
   1.211 +Although this is by far the most detailed and comprehensive exposition of
   1.212 +JPEG publicly available, we point out that it is still missing an explanation
   1.213 +of the most essential properties and algorithms of the underlying DCT
   1.214 +technology.
   1.215 +If you think that you know about DCT-based JPEG after reading this book,
   1.216 +then you are in delusion.  The real fundamentals and corresponding potential
   1.217 +of DCT-based JPEG are not publicly known so far, and that is the reason for
   1.218 +all the mistaken developments taking place in the image coding domain.
   1.219 +
   1.220 +The original JPEG standard is divided into two parts, Part 1 being the actual
   1.221 +specification, while Part 2 covers compliance testing methods.  Part 1 is
   1.222 +titled "Digital Compression and Coding of Continuous-tone Still Images,
   1.223 +Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
   1.224 +10918-1, ITU-T T.81.  Part 2 is titled "Digital Compression and Coding of
   1.225 +Continuous-tone Still Images, Part 2: Compliance testing" and has document
   1.226 +numbers ISO/IEC IS 10918-2, ITU-T T.83.
   1.227 +IJG JPEG 8 introduces an implementation of the JPEG SmartScale extension
   1.228 +which is specified in a contributed document at ITU and ISO with title "ITU-T
   1.229 +JPEG-Plus Proposal for Extending ITU-T T.81 for Advanced Image Coding", April
   1.230 +2006, Geneva, Switzerland.  The latest version of the document is Revision 3.
   1.231 +
   1.232 +The JPEG standard does not specify all details of an interchangeable file
   1.233 +format.  For the omitted details we follow the "JFIF" conventions, revision
   1.234 +1.02.  JFIF 1.02 has been adopted as an Ecma International Technical Report
   1.235 +and thus received a formal publication status.  It is available as a free
   1.236 +download in PDF format from
   1.237 +http://www.ecma-international.org/publications/techreports/E-TR-098.htm.
   1.238 +A PostScript version of the JFIF document is available at
   1.239 +http://www.ijg.org/files/jfif.ps.gz.  There is also a plain text version at
   1.240 +http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures.
   1.241 +
   1.242 +The TIFF 6.0 file format specification can be obtained by FTP from
   1.243 +ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz.  The JPEG incorporation scheme
   1.244 +found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems.
   1.245 +IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6).
   1.246 +Instead, we recommend the JPEG design proposed by TIFF Technical Note #2
   1.247 +(Compression tag 7).  Copies of this Note can be obtained from
   1.248 +http://www.ijg.org/files/.  It is expected that the next revision
   1.249 +of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
   1.250 +Although IJG's own code does not support TIFF/JPEG, the free libtiff library
   1.251 +uses our library to implement TIFF/JPEG per the Note.
   1.252 +
   1.253 +
   1.254 +ARCHIVE LOCATIONS
   1.255 +=================
   1.256 +
   1.257 +The "official" archive site for this software is www.ijg.org.
   1.258 +The most recent released version can always be found there in
   1.259 +directory "files".  This particular version will be archived as
   1.260 +http://www.ijg.org/files/jpegsrc.v8c.tar.gz, and in Windows-compatible
   1.261 +"zip" archive format as http://www.ijg.org/files/jpegsr8c.zip.
   1.262 +
   1.263 +The JPEG FAQ (Frequently Asked Questions) article is a source of some
   1.264 +general information about JPEG.
   1.265 +It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/
   1.266 +and other news.answers archive sites, including the official news.answers
   1.267 +archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/.
   1.268 +If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu
   1.269 +with body
   1.270 +	send usenet/news.answers/jpeg-faq/part1
   1.271 +	send usenet/news.answers/jpeg-faq/part2
   1.272 +
   1.273 +
   1.274 +ACKNOWLEDGMENTS
   1.275 +===============
   1.276 +
   1.277 +Thank to Juergen Bruder for providing me with a copy of the common DCT
   1.278 +algorithm article, only to find out that I had come to the same result
   1.279 +in a more direct and comprehensible way with a more generative approach.
   1.280 +
   1.281 +Thank to Istvan Sebestyen and Joan L. Mitchell for inviting me to the
   1.282 +ITU JPEG (Study Group 16) meeting in Geneva, Switzerland.
   1.283 +
   1.284 +Thank to Thomas Wiegand and Gary Sullivan for inviting me to the
   1.285 +Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland.
   1.286 +
   1.287 +Thank to John Korejwa and Massimo Ballerini for inviting me to
   1.288 +fruitful consultations in Boston, MA and Milan, Italy.
   1.289 +
   1.290 +Thank to Hendrik Elstner, Roland Fassauer, Simone Zuck, Guenther
   1.291 +Maier-Gerber, Walter Stoeber, Fred Schmitz, and Norbert Braunagel
   1.292 +for corresponding business development.
   1.293 +
   1.294 +Thank to Nico Zschach and Dirk Stelling of the technical support team
   1.295 +at the Digital Images company in Halle for providing me with extra
   1.296 +equipment for configuration tests.
   1.297 +
   1.298 +Thank to Richard F. Lyon (then of Foveon Inc.) for fruitful
   1.299 +communication about JPEG configuration in Sigma Photo Pro software.
   1.300 +
   1.301 +Thank to Andrew Finkenstadt for hosting the ijg.org site.
   1.302 +
   1.303 +Last but not least special thank to Thomas G. Lane for the original
   1.304 +design and development of this singular software package.
   1.305 +
   1.306 +
   1.307 +FILE FORMAT WARS
   1.308 +================
   1.309 +
   1.310 +The ISO JPEG standards committee actually promotes different formats like
   1.311 +"JPEG 2000" or "JPEG XR" which are incompatible with original DCT-based
   1.312 +JPEG and which are based on faulty technologies.  IJG therefore does not
   1.313 +and will not support such momentary mistakes (see REFERENCES).
   1.314 +We have little or no sympathy for the promotion of these formats.  Indeed,
   1.315 +one of the original reasons for developing this free software was to help
   1.316 +force convergence on common, interoperable format standards for JPEG files.
   1.317 +Don't use an incompatible file format!
   1.318 +(In any case, our decoder will remain capable of reading existing JPEG
   1.319 +image files indefinitely.)
   1.320 +
   1.321 +
   1.322 +TO DO
   1.323 +=====
   1.324 +
   1.325 +Version 8 is the first release of a new generation JPEG standard
   1.326 +to overcome the limitations of the original JPEG specification.
   1.327 +More features are being prepared for coming releases...
   1.328 +
   1.329 +Please send bug reports, offers of help, etc. to jpeg-info@uc.ag.