media/libpng/README

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/media/libpng/README	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,202 @@
     1.4 +README for libpng version 1.6.10 - March 6, 2014 (shared library 16.0)
     1.5 +See the note about version numbers near the top of png.h
     1.6 +
     1.7 +See INSTALL for instructions on how to install libpng.
     1.8 +
     1.9 +Libpng comes in several distribution formats.  Get libpng-*.tar.gz or
    1.10 +libpng-*.tar.xz or if you want UNIX-style line endings in the text files,
    1.11 +or lpng*.7z or lpng*.zip if you want DOS-style line endings.
    1.12 +
    1.13 +Version 0.89 was the first official release of libpng.  Don't let the
    1.14 +fact that it's the first release fool you.  The libpng library has been in
    1.15 +extensive use and testing since mid-1995.  By late 1997 it had
    1.16 +finally gotten to the stage where there hadn't been significant
    1.17 +changes to the API in some time, and people have a bad feeling about
    1.18 +libraries with versions < 1.0.  Version 1.0.0 was released in
    1.19 +March 1998.
    1.20 +
    1.21 +****
    1.22 +Note that some of the changes to the png_info structure render this
    1.23 +version of the library binary incompatible with libpng-0.89 or
    1.24 +earlier versions if you are using a shared library.  The type of the
    1.25 +"filler" parameter for png_set_filler() has changed from png_byte to
    1.26 +png_uint_32, which will affect shared-library applications that use
    1.27 +this function.
    1.28 +
    1.29 +To avoid problems with changes to the internals of png_info_struct,
    1.30 +new APIs have been made available in 0.95 to avoid direct application
    1.31 +access to info_ptr.  These functions are the png_set_<chunk> and
    1.32 +png_get_<chunk> functions.  These functions should be used when
    1.33 +accessing/storing the info_struct data, rather than manipulating it
    1.34 +directly, to avoid such problems in the future.
    1.35 +
    1.36 +It is important to note that the APIs do not make current programs
    1.37 +that access the info struct directly incompatible with the new
    1.38 +library.  However, it is strongly suggested that new programs use
    1.39 +the new APIs (as shown in example.c and pngtest.c), and older programs
    1.40 +be converted to the new format, to facilitate upgrades in the future.
    1.41 +****
    1.42 +
    1.43 +Additions since 0.90 include the ability to compile libpng as a
    1.44 +Windows DLL, and new APIs for accessing data in the info struct.
    1.45 +Experimental functions include the ability to set weighting and cost
    1.46 +factors for row filter selection, direct reads of integers from buffers
    1.47 +on big-endian processors that support misaligned data access, faster
    1.48 +methods of doing alpha composition, and more accurate 16->8 bit color
    1.49 +conversion.
    1.50 +
    1.51 +The additions since 0.89 include the ability to read from a PNG stream
    1.52 +which has had some (or all) of the signature bytes read by the calling
    1.53 +application.  This also allows the reading of embedded PNG streams that
    1.54 +do not have the PNG file signature.  As well, it is now possible to set
    1.55 +the library action on the detection of chunk CRC errors.  It is possible
    1.56 +to set different actions based on whether the CRC error occurred in a
    1.57 +critical or an ancillary chunk.
    1.58 +
    1.59 +The changes made to the library, and bugs fixed are based on discussions
    1.60 +on the PNG-implement mailing list and not on material submitted
    1.61 +privately to Guy, Andreas, or Glenn.  They will forward any good
    1.62 +suggestions to the list.
    1.63 +
    1.64 +For a detailed description on using libpng, read libpng-manual.txt.  For
    1.65 +examples of libpng in a program, see example.c and pngtest.c.  For usage
    1.66 +information and restrictions (what little they are) on libpng, see
    1.67 +png.h.  For a description on using zlib (the compression library used by
    1.68 +libpng) and zlib's restrictions, see zlib.h
    1.69 +
    1.70 +I have included a general makefile, as well as several machine and
    1.71 +compiler specific ones, but you may have to modify one for your own needs.
    1.72 +
    1.73 +You should use zlib 1.0.4 or later to run this, but it MAY work with
    1.74 +versions as old as zlib 0.95.  Even so, there are bugs in older zlib
    1.75 +versions which can cause the output of invalid compression streams for
    1.76 +some images.  You will definitely need zlib 1.0.4 or later if you are
    1.77 +taking advantage of the MS-DOS "far" structure allocation for the small
    1.78 +and medium memory models.  You should also note that zlib is a
    1.79 +compression library that is useful for more things than just PNG files.
    1.80 +You can use zlib as a drop-in replacement for fread() and fwrite() if
    1.81 +you are so inclined.
    1.82 +
    1.83 +zlib should be available at the same place that libpng is, or at zlib.net.
    1.84 +
    1.85 +You may also want a copy of the PNG specification.  It is available
    1.86 +as an RFC, a W3C Recommendation, and an ISO/IEC Standard.  You can find
    1.87 +these at http://www.libpng.org/pub/png/documents/
    1.88 +
    1.89 +This code is currently being archived at libpng.sf.net in the
    1.90 +[DOWNLOAD] area, and at ftp://ftp.simplesystems.org.  If you can't find it
    1.91 +in any of those places, e-mail me, and I'll help you find it.
    1.92 +
    1.93 +If you have any code changes, requests, problems, etc., please e-mail
    1.94 +them to me.  Also, I'd appreciate any make files or project files,
    1.95 +and any modifications you needed to make to get libpng to compile,
    1.96 +along with a #define variable to tell what compiler/system you are on.
    1.97 +If you needed to add transformations to libpng, or wish libpng would
    1.98 +provide the image in a different way, drop me a note (and code, if
    1.99 +possible), so I can consider supporting the transformation.
   1.100 +Finally, if you get any warning messages when compiling libpng
   1.101 +(note: not zlib), and they are easy to fix, I'd appreciate the
   1.102 +fix.  Please mention "libpng" somewhere in the subject line.  Thanks.
   1.103 +
   1.104 +This release was created and will be supported by myself (of course
   1.105 +based in a large way on Guy's and Andreas' earlier work), and the PNG
   1.106 +development group.
   1.107 +
   1.108 +Send comments/corrections/commendations to png-mng-implement at
   1.109 +lists.sourceforge.net (subscription required; visit
   1.110 +https://lists.sourceforge.net/lists/listinfo/png-mng-implement
   1.111 +to subscribe) or to glennrp at users.sourceforge.net
   1.112 +
   1.113 +You can't reach Guy, the original libpng author, at the addresses
   1.114 +given in previous versions of this document.  He and Andreas will
   1.115 +read mail addressed to the png-implement list, however.
   1.116 +
   1.117 +Please do not send general questions about PNG.  Send them to
   1.118 +png-mng-misc at lists.sf.net (subscription required; visit
   1.119 +https://lists.sourceforge.net/lists/listinfo/png-mng-misc to
   1.120 +subscribe).  If you have a question about something
   1.121 +in the PNG specification that is related to using libpng, send it
   1.122 +to me.  Send me any questions that start with "I was using libpng,
   1.123 +and ...".  If in doubt, send questions to me.  I'll bounce them
   1.124 +to others, if necessary.
   1.125 +
   1.126 +Please do not send suggestions on how to change PNG.  We have
   1.127 +been discussing PNG for nineteen years now, and it is official and
   1.128 +finished.  If you have suggestions for libpng, however, I'll
   1.129 +gladly listen.  Even if your suggestion is not used immediately,
   1.130 +it may be used later.
   1.131 +
   1.132 +Files in this distribution:
   1.133 +
   1.134 +      ANNOUNCE      =>  Announcement of this version, with recent changes
   1.135 +      CHANGES       =>  Description of changes between libpng versions
   1.136 +      KNOWNBUG      =>  List of known bugs and deficiencies
   1.137 +      LICENSE       =>  License to use and redistribute libpng
   1.138 +      README        =>  This file
   1.139 +      TODO          =>  Things not implemented in the current library
   1.140 +      Y2KINFO       =>  Statement of Y2K compliance
   1.141 +      example.c     =>  Example code for using libpng functions
   1.142 +      libpng.3      =>  manual page for libpng (includes libpng-manual.txt)
   1.143 +      libpng-manual.txt  =>  Description of libpng and its functions
   1.144 +      libpngpf.3    =>  manual page for libpng's private functions
   1.145 +      png.5         =>  manual page for the PNG format
   1.146 +      png.c         =>  Basic interface functions common to library
   1.147 +      png.h         =>  Library function and interface declarations (public)
   1.148 +      pngpriv.h     =>  Library function and interface declarations (private)
   1.149 +      pngconf.h     =>  System specific library configuration (public)
   1.150 +      pngstruct.h   =>  png_struct declaration (private)
   1.151 +      pnginfo.h     =>  png_info struct declaration (private)
   1.152 +      pngdebug.h    =>  debugging macros (private)
   1.153 +      pngerror.c    =>  Error/warning message I/O functions
   1.154 +      pngget.c      =>  Functions for retrieving info from struct
   1.155 +      pngmem.c      =>  Memory handling functions
   1.156 +      pngbar.png    =>  PNG logo, 88x31
   1.157 +      pngnow.png    =>  PNG logo, 98x31
   1.158 +      pngpread.c    =>  Progressive reading functions
   1.159 +      pngread.c     =>  Read data/helper high-level functions
   1.160 +      pngrio.c      =>  Lowest-level data read I/O functions
   1.161 +      pngrtran.c    =>  Read data transformation functions
   1.162 +      pngrutil.c    =>  Read data utility functions
   1.163 +      pngset.c      =>  Functions for storing data into the info_struct
   1.164 +      pngtest.c     =>  Library test program
   1.165 +      pngtest.png   =>  Library test sample image
   1.166 +      pngtrans.c    =>  Common data transformation functions
   1.167 +      pngwio.c      =>  Lowest-level write I/O functions
   1.168 +      pngwrite.c    =>  High-level write functions
   1.169 +      pngwtran.c    =>  Write data transformations
   1.170 +      pngwutil.c    =>  Write utility functions
   1.171 +      arm           =>  Contains optimized code for the ARM platform
   1.172 +      contrib       =>  Contributions
   1.173 +       examples         =>  Example programs
   1.174 +       gregbook         =>  source code for PNG reading and writing, from
   1.175 +                            Greg Roelofs' "PNG: The Definitive Guide",
   1.176 +                            O'Reilly, 1999
   1.177 +       libtests         =>  Test programs
   1.178 +       pngminim         =>  Minimal decoder, encoder, and progressive decoder
   1.179 +                            programs demonstrating use of pngusr.dfa
   1.180 +       pngminus         =>  Simple pnm2png and png2pnm programs
   1.181 +       pngsuite         =>  Test images
   1.182 +       tools            =>  Various tools
   1.183 +       visupng      =>  Contains a MSVC workspace for VisualPng
   1.184 +      projects      =>  Contains project files and workspaces for
   1.185 +                        building a DLL
   1.186 +       owatcom          =>  Contains a WATCOM project for building libpng
   1.187 +       visualc71        =>  Contains a Microsoft Visual C++ (MSVC)
   1.188 +                            workspace for building libpng and zlib
   1.189 +       vstudio          =>  Contains a Microsoft Visual C++ (MSVC)
   1.190 +                            workspace for building libpng and zlib
   1.191 +      scripts       =>  Directory containing scripts for building libpng:
   1.192 +                            (see scripts/README.txt for the list of scripts)
   1.193 +
   1.194 +Good luck, and happy coding.
   1.195 +
   1.196 +-Glenn Randers-Pehrson (current maintainer, since 1998)
   1.197 + Internet: glennrp at users.sourceforge.net
   1.198 +
   1.199 +-Andreas Eric Dilger (former maintainer, 1996-1997)
   1.200 + Internet: adilger at enel.ucalgary.ca
   1.201 + Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
   1.202 +
   1.203 +-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
   1.204 + (formerly of Group 42, Inc)
   1.205 + Internet: gschal at infinet.com

mercurial