summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libpydoc.tex
blob: bb74df6cbc7c838ff7b1aa4508b1d8a6f61e7306 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
\section{\module{pydoc} ---
         Documentation generator and online help system}

\declaremodule{standard}{pydoc}
\modulesynopsis{Documentation generator and online help system.}
\moduleauthor{Ka-Ping Yee}{ping@lfw.org}
\sectionauthor{Ka-Ping Yee}{ping@lfw.org}

\versionadded{2.1}
\index{documentation!generation}
\index{documentation!online}
\index{help!online}

The \module{pydoc} module automatically generates documentation from
Python modules.  The documentation can be presented as pages of text
on the console, served to a Web browser, or saved to HTML files.

The built-in function \function{help()} invokes the online help system
in the interactive interpreter, which uses \module{pydoc} to generate
its documentation as text on the console.  The same text documentation
can also be viewed from outside the Python interpreter by running
\program{pydoc} as a script at the operating system's command prompt.
For example, running

\begin{verbatim}
pydoc sys
\end{verbatim}

at a shell prompt will display documentation on the \refmodule{sys}
module, in a style similar to the manual pages shown by the \UNIX{}
\program{man} command.  The argument to \program{pydoc} can be the name
of a function, module, or package, or a dotted reference to a class,
method, or function within a module or module in a package.  If the
argument to \program{pydoc} looks like a path (that is, it contains the
path separator for your operating system, such as a slash in \UNIX),
and refers to an existing Python source file, then documentation is
produced for that file.

Specifying a \programopt{-w} flag before the argument will cause HTML
documentation to be written out to a file in the current directory,
instead of displaying text on the console.

Specifying a \programopt{-k} flag before the argument will search the
synopsis lines of all available modules for the keyword given as the
argument, again in a manner similar to the \UNIX{} \program{man}
command.  The synopsis line of a module is the first line of its
documentation string.

You can also use \program{pydoc} to start an HTTP server on the local
machine that will serve documentation to visiting Web browsers.
\program{pydoc} \programopt{-p 1234} will start a HTTP server on port
1234, allowing you to browse the documentation at
\code{http://localhost:1234/} in your preferred Web browser.
\program{pydoc} \programopt{-g} will start the server and additionally
bring up a small \refmodule{Tkinter}-based graphical interface to help
you search for documentation pages.

When \program{pydoc} generates documentation, it uses the current
environment and path to locate modules.  Thus, invoking
\program{pydoc} \programopt{spam} documents precisely the version of
the module you would get if you started the Python interpreter and
typed \samp{import spam}.

Module docs for core modules are assumed to reside in
{}\url{http://www.python.org/doc/current/lib/}.  This can be overridden by
setting the \envvar{PYTHONDOCS} environment variable to a different URL or
to a local directory containing the Library Reference Manual pages.
src/3rdparty/libtiff/libtiff/tif_version.c | 33 + src/3rdparty/libtiff/libtiff/tif_warning.c | 74 + src/3rdparty/libtiff/libtiff/tif_win3.c | 225 + src/3rdparty/libtiff/libtiff/tif_win32.c | 401 ++ src/3rdparty/libtiff/libtiff/tif_write.c | 711 ++++ src/3rdparty/libtiff/libtiff/tif_zip.c | 412 ++ src/3rdparty/libtiff/libtiff/tiff.h | 647 +++ src/3rdparty/libtiff/libtiff/tiffconf.h.in | 103 + src/3rdparty/libtiff/libtiff/tiffconf.vc.h | 109 + src/3rdparty/libtiff/libtiff/tiffconf.wince.h | 129 + src/3rdparty/libtiff/libtiff/tiffio.h | 519 +++ src/3rdparty/libtiff/libtiff/tiffio.hxx | 42 + src/3rdparty/libtiff/libtiff/tiffiop.h | 338 ++ src/3rdparty/libtiff/libtiff/tiffvers.h | 9 + src/3rdparty/libtiff/libtiff/uvcode.h | 173 + src/3rdparty/libtiff/nmake.opt | 218 + src/3rdparty/libtiff/port/dummy.c | 12 + src/3rdparty/libtiff/port/getopt.c | 124 + src/3rdparty/libtiff/port/lfind.c | 62 + src/3rdparty/libtiff/port/libport.h | 51 + src/3rdparty/libtiff/port/strcasecmp.c | 50 + src/3rdparty/libtiff/port/strtoul.c | 109 + 209 files changed, 68942 insertions(+) create mode 100644 src/3rdparty/libtiff/COPYRIGHT create mode 100644 src/3rdparty/libtiff/ChangeLog create mode 100644 src/3rdparty/libtiff/HOWTO-RELEASE create mode 100644 src/3rdparty/libtiff/README create mode 100644 src/3rdparty/libtiff/README.vms create mode 100644 src/3rdparty/libtiff/RELEASE-DATE create mode 100644 src/3rdparty/libtiff/SConstruct create mode 100644 src/3rdparty/libtiff/TODO create mode 100644 src/3rdparty/libtiff/VERSION create mode 100644 src/3rdparty/libtiff/html/TIFFTechNote2.html create mode 100644 src/3rdparty/libtiff/html/addingtags.html create mode 100644 src/3rdparty/libtiff/html/bugs.html create mode 100644 src/3rdparty/libtiff/html/build.html create mode 100644 src/3rdparty/libtiff/html/contrib.html create mode 100644 src/3rdparty/libtiff/html/document.html create mode 100644 src/3rdparty/libtiff/html/images.html create mode 100644 src/3rdparty/libtiff/html/images/back.gif create mode 100644 src/3rdparty/libtiff/html/images/bali.jpg create mode 100644 src/3rdparty/libtiff/html/images/cat.gif create mode 100644 src/3rdparty/libtiff/html/images/cover.jpg create mode 100644 src/3rdparty/libtiff/html/images/cramps.gif create mode 100644 src/3rdparty/libtiff/html/images/dave.gif create mode 100644 src/3rdparty/libtiff/html/images/info.gif create mode 100644 src/3rdparty/libtiff/html/images/jello.jpg create mode 100644 src/3rdparty/libtiff/html/images/jim.gif create mode 100644 src/3rdparty/libtiff/html/images/note.gif create mode 100644 src/3rdparty/libtiff/html/images/oxford.gif create mode 100644 src/3rdparty/libtiff/html/images/quad.jpg create mode 100644 src/3rdparty/libtiff/html/images/ring.gif create mode 100644 src/3rdparty/libtiff/html/images/smallliz.jpg create mode 100644 src/3rdparty/libtiff/html/images/strike.gif create mode 100644 src/3rdparty/libtiff/html/images/warning.gif create mode 100644 src/3rdparty/libtiff/html/index.html create mode 100644 src/3rdparty/libtiff/html/internals.html create mode 100644 src/3rdparty/libtiff/html/intro.html create mode 100644 src/3rdparty/libtiff/html/libtiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFClose.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFDataWidth.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFError.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFFlush.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFGetField.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFOpen.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFPrintDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFRGBAImage.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadEncodedStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadEncodedTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRGBAImage.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRGBAStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRGBATile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRawStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadRawTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadScanline.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFReadTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFSetDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFSetField.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWarning.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteDirectory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteEncodedStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteEncodedTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteRawStrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteRawTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteScanline.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFWriteTile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFbuffer.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFcodec.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFcolor.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFmemory.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFquery.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFsize.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFstrip.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFswab.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/TIFFtile.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/fax2ps.1.html create mode 100644 src/3rdparty/libtiff/html/man/fax2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/gif2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/index.html create mode 100644 src/3rdparty/libtiff/html/man/libtiff.3tiff.html create mode 100644 src/3rdparty/libtiff/html/man/pal2rgb.1.html create mode 100644 src/3rdparty/libtiff/html/man/ppm2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/ras2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/raw2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/rgb2ycbcr.1.html create mode 100644 src/3rdparty/libtiff/html/man/sgi2tiff.1.html create mode 100644 src/3rdparty/libtiff/html/man/thumbnail.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2bw.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2pdf.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2ps.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiff2rgba.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffcmp.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffcp.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffcrop.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffdither.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffdump.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffgt.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffinfo.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffmedian.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffset.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffsplit.1.html create mode 100644 src/3rdparty/libtiff/html/man/tiffsv.1.html create mode 100644 src/3rdparty/libtiff/html/misc.html create mode 100644 src/3rdparty/libtiff/html/support.html create mode 100644 src/3rdparty/libtiff/html/tools.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta007.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta016.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta018.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta024.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta028.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta029.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta031.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta032.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta033.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta034.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta035.html create mode 100644 src/3rdparty/libtiff/html/v3.4beta036.html create mode 100644 src/3rdparty/libtiff/html/v3.5.1.html create mode 100644 src/3rdparty/libtiff/html/v3.5.2.html create mode 100644 src/3rdparty/libtiff/html/v3.5.3.html create mode 100644 src/3rdparty/libtiff/html/v3.5.4.html create mode 100644 src/3rdparty/libtiff/html/v3.5.5.html create mode 100644 src/3rdparty/libtiff/html/v3.5.6-beta.html create mode 100644 src/3rdparty/libtiff/html/v3.5.7.html create mode 100644 src/3rdparty/libtiff/html/v3.6.0.html create mode 100644 src/3rdparty/libtiff/html/v3.6.1.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0alpha.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0beta.html create mode 100644 src/3rdparty/libtiff/html/v3.7.0beta2.html create mode 100644 src/3rdparty/libtiff/html/v3.7.1.html create mode 100644 src/3rdparty/libtiff/html/v3.7.2.html create mode 100644 src/3rdparty/libtiff/html/v3.7.3.html create mode 100644 src/3rdparty/libtiff/html/v3.7.4.html create mode 100644 src/3rdparty/libtiff/html/v3.8.0.html create mode 100644 src/3rdparty/libtiff/html/v3.8.1.html create mode 100644 src/3rdparty/libtiff/html/v3.8.2.html create mode 100644 src/3rdparty/libtiff/html/v3.9.0beta.html create mode 100644 src/3rdparty/libtiff/html/v3.9.1.html create mode 100644 src/3rdparty/libtiff/html/v3.9.2.html create mode 100644 src/3rdparty/libtiff/libtiff/SConstruct create mode 100644 src/3rdparty/libtiff/libtiff/libtiff.def create mode 100644 src/3rdparty/libtiff/libtiff/mkg3states.c create mode 100644 src/3rdparty/libtiff/libtiff/t4.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_acorn.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_apple.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_atari.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_aux.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_close.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_codec.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_color.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_compress.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_config.h-vms create mode 100644 src/3rdparty/libtiff/libtiff/tif_config.h.in create mode 100644 src/3rdparty/libtiff/libtiff/tif_config.vc.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_config.wince.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_dir.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dir.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_dirinfo.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dirread.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dirwrite.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_dumpmode.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_error.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_extension.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_fax3.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_fax3.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_fax3sm.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_flush.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_getimage.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_jbig.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_jpeg.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_luv.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_lzw.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_msdos.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_next.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_ojpeg.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_open.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_packbits.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_pixarlog.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_predict.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_predict.h create mode 100644 src/3rdparty/libtiff/libtiff/tif_print.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_read.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_stream.cxx create mode 100644 src/3rdparty/libtiff/libtiff/tif_strip.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_swab.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_thunder.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_tile.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_unix.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_version.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_warning.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_win3.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_win32.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_write.c create mode 100644 src/3rdparty/libtiff/libtiff/tif_zip.c create mode 100644 src/3rdparty/libtiff/libtiff/tiff.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffconf.h.in create mode 100644 src/3rdparty/libtiff/libtiff/tiffconf.vc.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffconf.wince.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffio.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffio.hxx create mode 100644 src/3rdparty/libtiff/libtiff/tiffiop.h create mode 100644 src/3rdparty/libtiff/libtiff/tiffvers.h create mode 100644 src/3rdparty/libtiff/libtiff/uvcode.h create mode 100644 src/3rdparty/libtiff/nmake.opt create mode 100644 src/3rdparty/libtiff/port/dummy.c create mode 100644 src/3rdparty/libtiff/port/getopt.c create mode 100644 src/3rdparty/libtiff/port/lfind.c create mode 100644 src/3rdparty/libtiff/port/libport.h create mode 100644 src/3rdparty/libtiff/port/strcasecmp.c create mode 100644 src/3rdparty/libtiff/port/strtoul.c diff --git a/src/3rdparty/libtiff/COPYRIGHT b/src/3rdparty/libtiff/COPYRIGHT new file mode 100644 index 0000000..8282186 --- /dev/null +++ b/src/3rdparty/libtiff/COPYRIGHT @@ -0,0 +1,21 @@ +Copyright (c) 1988-1997 Sam Leffler +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/src/3rdparty/libtiff/ChangeLog b/src/3rdparty/libtiff/ChangeLog new file mode 100644 index 0000000..20cb753 --- /dev/null +++ b/src/3rdparty/libtiff/ChangeLog @@ -0,0 +1,4426 @@ +2009-11-04 Bob Friesenhahn + + * libtiff 3.9.2 released. + +2009-11-03 Bob Friesenhahn + + * tools/tiffcrop.c: Updated tiffcrop from Richard Nolde. This + version has undergone substantial testing with arbitrary sample + bit depths. Also eliminates GCC compilation warnings. + +2009-11-02 Bob Friesenhahn + + * port/libport.h: Added header file for porting prototypes and + extern declarations. + +2009-10-31 Bob Friesenhahn + + * libtiff/tif_dirwrite.c (TIFFWriteAnyArray): Add missing break + statement so writing an array of TIFF_DOUBLE works. + +2009-10-29 Bob Friesenhahn + + * libtiff/tif_dirread.c: Eliminate GCC "dereferencing type-punned + pointer" warnings. + +2009-10-28 Bob Friesenhahn + + * html/tools.html: Add manual page links, and a summary + description of tiffcrop. + +2009-10-07 Bob Friesenhahn + + * configure.ac: x86_64 should use the same fill order as i386. + +2009-09-24 Bob Friesenhahn + + * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop from Richard + Nolde. Major updates to add significant functionality for reading + and writing tile based images with bit depths not a multiple of 8 + which cannot be handled by tiffcp. + +2009-09-03 Bob Friesenhahn + + * libtiff/tif_ojpeg.c (OJPEGWriteHeaderInfo): IJG JPEG 7 needs + do_fancy_upsampling=FALSE in order to read raw data. Resolves + "Bug 2090 - OJPEG crash with libjpeg v7". + http://bugzilla.maptools.org/show_bug.cgi?id=2090 + +2009-08-30 Bob Friesenhahn + + * contrib/iptcutil/iptcutil.c, + libtiff/tif_getimage.c,libtiff/tif_jpeg.c,libtiff/tif_ojpeg.c,tools/tiffcrop.c,tools/tiffgt.c: + Applied patch from Oden Eriksson to allow building with GCC using + the "-Wformat -Werror=format-security" flags. + +2009-08-28 Bob Friesenhahn + + * libtiff 3.9.1 released. + +2009-08-28 Frank Warmerdam + + * libtiff/tif_dirwrite.c: Back out changes from 2007-11-22 that + resulted in the final strip not being written in some circumstances. + http://bugzilla.maptools.org/show_bug.cgi?id=2088 + +2009-08-27 Bob Friesenhahn + + * libtiff/tif_write.c (TIFFAppendToStrip): Remove cast which + caused libtiff to output a wrong last strip with byte-count and + strip-offset of zero. This cast was added on the day of the 3.9.0 + release. + + * libtiff/tif_config.vc.h: tiffiop.h needs the TIFF_INT64_T and + TIFF_UINT64_T defines in order to compile. Copy existing + definitions from tiffconf.vc.h. + +2009-08-21 Bob Friesenhahn + + * test/Makefile.am (AUTOMAKE_OPTIONS): Colorized tests was not + actually activated since it needed to be enabled in this + Makefile.am. Also activated parallel-tests mode since it offers + useful features such as per-test .log files and a summary test + report .log file. + +2009-08-20 Bob Friesenhahn + + * libtiff 3.9.0 released. + + * libtiff/tif_print.c (TIFFPrintDirectory): Applied patch for "tag + error may cause segfault in tif_print.c." + http://bugzilla.maptools.org/show_bug.cgi?id=1896 + + * tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied patch for + CVE-2009-2347 libtiff: integer overflows in various inter-color + space conversion tools. + http://bugzilla.maptools.org/show_bug.cgi?id=2079 + + * configure.ac: Updated autotools. Autoconf 2.64, Automake 1.11, + libtool 2.2.6. Enabled support for silent build rules + (--enable-silent-rules or 'make V=0') and colorized tests. + +2009-06-30 Frank Warmerdam + + * libtiff/tif_luv.c: correct return codes from encoderow to be + 1 on success instead of zero. + http://bugzilla.maptools.org/show_bug.cgi?id=2069 + +2009-06-22 Frank Warmerdam + + * libtiff/tif_lzw.c: Fix buffer underflow bug. + http://bugzilla.maptools.org/show_bug.cgi?id=2065 + +2009-06-03 Frank Warmerdam + + * libtiff/tif_write.c: do not override the planar configuration to be + contig for one sample files if planar configuration is already set. + http://bugzilla.maptools.org/show_bug.cgi?id=2057 + +2009-02-12 Frank Warmerdam + + * libtiff/tif_luv.c: Fix handling of tiled logluv images. + http://bugzilla.maptools.org/show_bug.cgi?id=2005 + +2009-01-23 Frank Warmerdam + + * libtiff/tif_predict.c: Add support for 32bit integer horz. predictors. + http://bugzilla.maptools.org/show_bug.cgi?id=1911 + +2009-01-20 Frank Warmerdam + + * tools/tiffsplit.c: fix sampleformat to be shortv instead of longv. + +2009-01-12 Bob Friesenhahn + + * tools/tiff2ps.c: Remove spurious message printed to stderr. + +2009-01-11 Bob Friesenhahn + + * tools/tiff2ps.c: Incorporated significant functionality update + from Richard Nolde. In particular, support for rotating the image + by 90, 180, 270, and 'auto' has been added. + + * tools/tiffcrop.c: Incorporated significant functionality update + from Richard Nolde. + +2009-01-06 Bob Friesenhahn + + * libtiff/tiffiop.h: Add private type declarations for int64, and + uint64 so that bundled utilities (like tiffcrop) can use it when + necessary. + +2009-01-01 Bob Friesenhahn + + * configure.ac: Updated to test for 64-bit types. This version of + the library does not require a 64-bit type, but tiffcrop needs it. + +2008-12-31 Bob Friesenhahn + + * Update to use current FSF autotools versions. + * libtiff/tiffio.h: GCC will now validate format specifications + for TIFFError(), TIFFErrorExt(), TIFFWarning(), and + TIFFWarningExt() in order to reveal bugs. Cleaned up resulting + warnings throughout for 32 bit build only. + +2008-12-31 Frank Warmerdam + + * tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard + Nolde. + +2008-12-21 Frank Warmerdam + + * libtiff/tif_jpeg.c: Avoid errors if the application writes a full + strip for the last partial strip in a jpeg compressed file. + http://bugzilla.maptools.org/show_bug.cgi?id=1981 + +2008-12-21 Frank Warmerdam + + * libtiff/tif_getimage.c, tiffio.h: More ABI corrections. + Removed SubsamplingHor/Ver from TIFFRGBAImage structure. + http://bugzilla.maptools.org/show_bug.cgi?id=1980 + +2008-12-18 Frank Warmerdam + + * libtiff/tif_getimage.c,tiffio.h: removed all use of UaToAa and + Bitmap16to8 arrays in TIFFRGBAImage structure to restore ABI + compatability. These were just an attempt to speed up processing + with precalculated tables. + http://bugzilla.maptools.org/show_bug.cgi?id=1979 + + * libtiff/tif_codec.c: Avoid printing c->name if it does not exist. + +2008-10-21 Andrey Kiselev + + * libtiff/tif_jbig.c: Support the JBIG-KIT 2.0 (compatibility with + the older versions retained). + +2008-09-05 Andrey Kiselev + + * tools/tiffsplit.c: Use dynamically allocated array instead of static + when constructing output file names. + +2008-09-03 Andrey Kiselev + + * tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat() calls when + doing the filename/path construction. + + * tools/tiff2pdf.c: More appropriate format string in + t2p_write_pdf_string(); avoid signed/unsigned mismatch. + + * libtiff/tif_lzw.c: Properly zero out the codetable. As per bug + + http://bugzilla.maptools.org/show_bug.cgi?id=1929 + + * libtiff/tif_lzw.c: Properly zero out the string table. Fixes + CVE-2008-2327 security issue. + +2008-05-24 Frank Warmerdam + + * tif_codec.c: Avoid NULL pointer dereferencing for exotic + compression codec codes. + + * tif_dirread.c: zero tif->tif_dir after freeing the directory + in TIFFReadCustomDirectory(). I don't exactly remember why this + was important. + + * tif_dirwrite.c: Fix potential memory leak writing large double + tags. + + * tif_dirread.c: Fix unchecked malloc result. + +2008-01-30 Andrey Kiselev + + * tif_fax3.c: Make find0span() and find1span() non-inline to + make MSVC 6.0 compiler happy. + +2007-11-26 Frank Warmerdam + + * tif_fax3.c: fix leak of FAXCS state (per bug 1603). + +2007-11-23 Andrey Kiselev + + * configure.com, libtiff/tif_vms.c: Better OpenVMS support. Patches + from Alexey Chupahin. + +2007-11-22 Frank Warmerdam + + * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for + establishing if an existing tile can be rewritten to the same location + by comparing the current size to all the other blocks in the same + directory. This is dangerous in many situations and can easily + corrupt a file. (observed in esoteric GDAL situation that's hard to + document). This change involves leaving the stripbytecount[] values + unaltered till TIFFAppendToStrip(). Now we only write a block back + to the same location it used to be at if the new data is the same + size or smaller - otherwise we move it to the end of file. + + * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile + data when writing the directory just because we have BEENWRITING at + some point in the past. This was causing odd junk to be written out + in a tile of data when a single tile had an interleaving of reading + and writing with reading last. (highlighted by gdal + autotest/gcore/tif_write.py test 7. + + * tif_predict.c: use working buffer in PredictorEncodeTile to avoid + modifying callers buffer. + http://trac.osgeo.org/gdal/ticket/1965 + + * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that + predictor based encoding and decoding works in read-write update + mode properly. + http://trac.osgeo.org/gdal/ticket/1948 + +2007-10-05 Frank Warmerdam + + * tools/tiff2pdf.c: Fixed setting of alpha value per report on list. + +2007-09-13 Frank Warmerdam + + * tif_dirinfo.c: _TIFFMergeFields() now only merges in field + definitions that are missing. Existing definitions are silently + ignored. (Bug #1585) + +2007-07-18 Andrey Kiselev + + * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h, + remove tif_config.h/tiffconf.h during cleaning. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1573 + +2007-07-13 Andrey Kiselev + + * libtiff 3.9.0beta released. + +2007-07-12 Andrey Kiselev + + * tools/tiff2pdf.c: Added missed extern optind as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1567 + +2007-07-03 Andrey Kiselev + + * tools/tiff2ps.c: Added support 16-bit images as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1566 + + Patch from William Bader. + + * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and + significant upgrade of the whole utility as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1560 + + Now we don't need tiffiop.h in tiff2pdf anymore and will open output + PDF file using TIFFClientOpen() machinery as it is implemented + by Leon Bottou. + +2007-06-29 Bob Friesenhahn + + * libtiff/tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to + bsearch() on a NULL fieldinfo list. + (_TIFFFindFieldInfoByName): Don't attempt to + lfind() on a NULL fieldinfo list. + +2007-05-01 Andrey Kiselev + + * libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a + byte swapping issue + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1363 + + As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1550 + +2007-04-27 Andrey Kiselev + + * tools/tiff2pdf.c: Check the tmpfile() return status as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=154 + +2007-04-07 Andrey Kiselev + + * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c, + tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c, + tif_predict.c, tif_zip.c}: Finally fix bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1274 + + by introducing _TIFFMergeFieldInfo() returning integer error status + instead of void in case of problems with field merging (e.g., if the + field with such a tag already registered). TIFFMergeFieldInfo() in + public API remains void. Use _TIFFMergeFieldInfo() everywhere and + check returned value. + +2007-04-07 Frank Warmerdam + + * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output + blocks in TIFF_DownSample_Subsampled() (bug 1542). + +2007-04-06 Frank Warmerdam + + * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it + will convert from decompressor to compressor or compress to decompress + if required by the force arguments. This works around a problem in + where the JPEGFixupTestSubsampling() may cause a decompressor to + be setup on a directory when later a compressor is required with the + force flag set. Occurs with the addtiffo program for instance. + +2007-04-06 Andrey Kiselev + + * libtiff/tif_dirwrite.c: Fixed swapping of byte arrays stored + in-place in tag offsets as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1363 + + * tools/tiffcrop.c, man/tiffcrop.1: Significant update in + functionality from Richard Nolde. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1525 + +2007-03-28 Frank Warmerdam + + * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC. + +2007-03-07 Joris Van Damme + + * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading + OJPEG images with rowsperstrip that is not a multiple of vertical subsampling + factor. This bug is mentioned in: + http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 + http://www.asmail.be/msg0054766825.html + +2007-03-07 Joris Van Damme + + * libtiff/tif_win32.c: made inclusion of windows.h unconditional + + * libtiff/tif_win32.c: replaced preprocessor indication for consiously + unused arguments by standard C indication for the same + +2007-02-27 Andrey Kiselev + + * libtiff/tif_dirread.c: Use uint32 type instead of tsize_t in byte + counters in TIFFFetchData(). Should finally fix the issue + + http://bugzilla.remotesensing.org/show_bug.cgi?id=890 + +2007-02-24 Andrey Kiselev + + * tools/tiffset.c: Properly handle tags with TIFF_VARIABLE writecount. + As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350 + + * libtiff/tif_dirread.c: Added special function to handle + SubjectDistance EXIF tag as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1362 + + * tools/tiff2pdf.c: Do not assume inches when the resolution units + do not specified. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1366 + + * tools/{tiffcp.c, tiffcrop.c}: Do not change RowsPerStrip value if + it was set as infinite. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1368 + + * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop utility contributed + by Richard Nolde. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1383 + +2007-02-22 Andrey Kiselev + + * libtiff/tif_dir.c: Workaround for incorrect TIFFs with + ExtraSamples == 999 produced by Corel Draw. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1490 + + * libtiff/{tif_dirread.c, tif_read.c}: Type of the byte counters + changed from tsize_t to uint32 to be able to work with data arrays + larger than 2GB. Fixes bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=890 + + Idea submitted by Matt Hancher. + +2007-01-31 Andrey Kiselev + + * tools/tif2rgba.c: This utility does not work properly on big-endian + architectures. It was fixed including the bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1149 + +2007-01-15 Mateusz Loskot + + * Submitted libtiff port for Windows CE platform + * libtiff/tif_config.wince.h: Added configuration header for WinCE. + * libtiff/tiffconf.wince.h: Ported old configuration header for WinCE. + * libtiff/tif_wince.c: Added WinCE-specific implementation of some + functons from tif_win32.c. + * libtiff/tif_win32.c: Disabled some functions already reimplemented in tif_wince.c. + * libtiff/tiffiop.h, port/lfind.c: Added conditional include of some + standard header files for Windows CE build. + * tools/tiffinfoce.c: Ported tiffinfo utility for Windows CE. + +2006-11-19 Frank Warmerdam + + * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if + we move a strip. + http://bugzilla.remotesensing.org/show_bug.cgi?id=1359 + +2006-10-13 Andrey Kiselev + + * libtiff/tif_dir.c: More fixes for vulnerabilities, reported + in Gentoo bug (): + + http://bugs.gentoo.org/show_bug.cgi?id=142383 + + * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. + Though it is still far from the state of being working and useful. + +2006-10-12 Andrey Kiselev + + * libtiff/tif_fax3.c: Save the state of printdir codec dependent + method. + + * libtiff/tif_jpeg.c: Save the state of printdir codec dependent method + as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1273 + + * libtiff/tif_win32.c: Fixed problem with offset value manipulation + as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1322 + + * libtiff/{tif_read.c, tif_jpeg.c, tif_dir.c}: More fixes for + vulnerabilities, reported in Gentoo bug (): + + http://bugs.gentoo.org/show_bug.cgi?id=142383 + +2006-09-28 Andrey Kiselev + + * libtiff/{tif_fax3.c, tif_next.c, tif_pixarlog.c}: Fixed multiple + vulnerabilities, as per Gentoo bug (): + + http://bugs.gentoo.org/show_bug.cgi?id=142383 + +2006-09-27 Frank Warmerdam + + * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing + encoding and decoding on the same read-write TIFF handle. The LZW + code can now maintain encode and decode state at the same time. The + ZIP code will switch back and forth as needed. + http://bugzilla.remotesensing.org/show_bug.cgi?id=757 + +2006-09-20 Frank Warmerdam + + * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and + tif_config.vc.h for easier identification by folks using an IDE. + +2006-07-25 Frank Warmerdam + + * tif_msdos.c: Avoid handle leak for failed opens. c/o Thierry Pierron + +2006-07-19 Frank Warmerdam + + * tif_dirwrite.c: take care not to flush out buffer of strip/tile + data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates + to bug report by Peng Gao with black strip at bottom of images. + +2006-07-12 Frank Warmerdam + + * tif_dirwrite.c: make sure to use uint32 for wordcount in + TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. + It already seems to have been done for other field types. Needed + for "tiffset" on files with geotiff ascii text. + +2006-07-04 Bob Friesenhahn + + * {configure.ac, libtiff/tif_config.h.vc, libtiff/tif_jbig.c} + (JBIGDecode): jbg_newlen is not available in older JBIG-KIT and + its use does not appear to be required, so use it only when it is + available. + +2006-06-24 Andrey Kiselev + + * libtiff/tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961). + + * libtiff/tif_dirread.c: Move IFD fetching code in the separate + function TIFFFetchDirectory() avoiding code duplication in + TIFFReadDirectory() and TIFFReadCustomDirectory(). + +2006-06-19 Frank Warmerdam + + * tools/tiff2pdf.c: Fix handling of -q values. + http://bugzilla.remotesensing.org/show_bug.cgi?id=587 + +2006-06-17 Frank Warmerdam + + * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled + files. Modified TIFFReadDirectory() to not invoke + EstimateStripByteCounts() for case where entry 0 and 1 are unequal + but one of them is zero. + http://bugzilla.remotesensing.org/show_bug.cgi?id=1204 + +2006-06-08 Andrey Kiselev + + * libtiff/{tif_open.c, tif_dirread.c, tiffiop.h}: Move IFD looping + checking code in the separate function TIFFCheckDirOffset(). + + * libtiff/tif_aux.c: Added _TIFFCheckRealloc() function. + + * tools/tiffcmp.c: Fixed floating point comparison logic as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1191 + + * libtiff/tif_fax3.c: Fixed problems in fax decoder as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1194 + + * tools/tiff2pdf.c: Fixed buffer overflow condition in + t2p_write_pdf_string() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1196 + +2006-06-07 Andrey Kiselev + + * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added + support for JBIG compression scheme (34661 code) contributed by Lee + Howard. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=896 + + * configure, configure.ac: OJPEG support enabled by default. + + * contrib/ojpeg/: Removed. New OJPEG support does not need this patch. + +2006-06-03 Bob Friesenhahn + + * libtiff/{tif_dirinfo.c, tif_print.c} : Fix crash in + TIFFPrintDirectory(). Joris Van Damme authored the fix. + +2006-04-21 Andrey Kiselev + + * tools/tiff2pdf.c: Unified line ending characters (always use '\n') + as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1163 + + * README.vms, Makefile.am, configure.com, libtiff/{Makefile.am, + tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: + Added support for OpenVMS by Alexey Chupahin, elvis_75@mail.ru. + +2006-04-20 Andrey Kiselev + + * tools/{fax2ps.c, fax2tiff.c, ppm2tiff.c, ras2tiff.c, tiff2pdf.c}: + Properly set the binary mode for stdin stream as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1141 + + * man/{bmp2tiff.1, fax2ps.1, fax2tiff.1, gif2tiff.1, ras2tiff.1, + raw2tiff.1, rgb2ycbcr.1, sgi2tiff.1, tiff2bw.1, tiff2pdf.1, tiff2ps.1, + tiff2rgba.1, tiffcmp.1, tiffcp.1, tiffdither.1, tiffdump.1, tiffgt.1, + tiffset.1}: Improvements in page formatting as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1140 + + * html/tools.html, html/man/Makefile.am, tools/tiff2pdf.c: Fixed + typos as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1139 + +2006-04-18 Frank Warmerdam + + * nmake.opt: use /EHsc for VS2005 compatibility. Also define + _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. + +2006-04-12 Joris Van Damme + + * libtiff/tif_getimage.c: Added support for planarconfig separate + non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]) + +2006-04-11 Joris Van Damme + + * libtiff/tif_getimage.c: Revision of all RGB(A) put routines + - Conversion of unassociated alpha to associated alpha now done with + more performant LUT, and calculation more correct + - Conversion of 16bit data to 8bit data now done with + more performant LUT, and calculation more correct + - Bugfix of handling of 16bit RGB with unassociated alpha + +2006-04-11 Joris Van Damme + + * libtiff/tif_getimage.c: + - When there is no alpha, gtTileSeparate and gtStripSeparate allocated + buffer for alpha strile and filled it, only to never read it back. + Removed allocation and fill. + - Minor rename of vars in gtTileSeparate and gtStripSeparate + anticipating planned functionality extension + +2006-04-08 Joris Van Damme + + * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase + and pickTileSeparateCase to PickSeparateCase as both work on strips as + well + + * libtiff/tif_getimage.c: moved img->get selection from + TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create + logical hook for planned functionality extension + +2006-04-08 Joris Van Damme + + * libtiff/tif_ojpeg.c: resolved memory leak that was a consequence + of inappropriate use of jpeg_abort instead of jpeg_destroy + +2006-04-07 Joris Van Damme + + * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in + gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour + on subsampled images - this ought to get sorted when we feel brave + enough to replace TIFFScanlineSize alltogether + + * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip + +2006-04-04 Joris Van Damme + + * libtiff/tiffio.h: added new type tstrile_t + + * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips + to new tstrile_t, types of td_stripoffset and td_stripbytecount to + toff_t* + + * libtiff/tif_ojpeg.c: totally new implementation + + * libtiff/tif_dirread.c: added several hacks to suit new support of + OJPEG + + * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling + of OJPEG images in favor of tif_getimage.c native handling of + YCbCr and desubsampling + +2006-03-29 Frank Warmerdam + + * libtiff/tif_jpeg.c: JPEGVSetField() so that altering the photometric + interpretation causes the "upsampled" flag to be recomputed. Fixes + peculiar bug where photometric flag had to be set before jpegcolormode + flag. + +2006-03-25 Joris Van Damme + + * libtiff/tif_jpeg.c: strip size related bugfix in encode raw + + * libtiff/tif_strip.c: temporarilly added two new versions of + TIFFScanlineSize + - TIFFNewScanlineSize: proposed new version, after all related + issues and side-effects are sorted out + - TIFFOldScanlineSize: old version, from prior to 2006-03-21 change + This needs further sorting out. + +2006-03-25 Joris Van Damme + + * contrib/addtiffo/tif_ovrcache.c: bugfix to correctly pass size + of last truncated strip data to TIFFWriteEncodedStrip + +2006-03-25 Joris Van Damme + + * libtiff/{tif_jpeg.c, tif_strip.c}: bugfix of tif_jpeg decode raw + +2006-03-25 Joris Van Damme + + * libtiff/tif_getimage.c: bugfix/rewrite of putcontig8bitYCbCr22tile + + * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile + + * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to + prepare the path for new tif_ojpeg.c + +2006-03-23 Andrey Kiselev + + * libtiff 3.8.2 released. + + * tools/Makefile.am: Use runtime paths linker flags when rpath + option enabled. + +2006-03-21 Andrey Kiselev + + * libtiff/libtiff.def: Added missed exports as per bug + http://bugzilla.remotesensing.org/attachment.cgi?id=337 + + * contrib/addtiffo/Makefile.vc, libtiff/Makefile.vc, port/Makefile.vc, + tools/Makefile.vc: Makefiles improvements as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1128 + + * nmake.opt libtiff/{tif_config.h.vc, tif_unix.c, tiffio.h}, + tools/{fax2ps.c, fax2tiff.c, tiff2pdf.c}: Fixed win32 I/O functions + usage as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1127 + + * libtiff/tif_strip.c: Take subsampling in account when calculating + TIFFScanlineSize(). + + * tools/tiffcp.c: Do not set RowsPerStrip bigger than image length. + +2006-03-17 Andrey Kiselev + + * tools/fax2tiff.c: Fixed wrong TIFFerror() invocations as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1125 + + * tools/fax2ps.c: Fixed reading the input stream from stdin as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1124 + +2006-03-16 Andrey Kiselev + + * libtiff/tiffiop.h: Added decalration for + _TIFFSetDefaultCompressionState(). + + * libtiff/{tif_jpeg.c, tif_fax3.c, tif_zip.c, tif_pixarlog.c, + tif_lzw.c, tif_luv.c}: Use _TIFFSetDefaultCompressionState() in all + codec cleanup methods. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1120 + +2006-03-15 Andrey Kiselev + + * libtiff/tif_jpeg.c: Do not cleanup codec state in TIFFInitJPEG(). As + per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1119 + + * tools/raw2tiff.c: Do not set RowsPerStrip larger than ImageLength. + As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1110 + + * libtiff/tiffiop.h: dblparam_t typedef removed; GLOBALDATA macro + removed; move here the STRIP_SIZE_DEFAULT macro definition. + + * libtiff/{tif_dirread.c, tif_strip.c}: Removed STRIP_SIZE_DEFAULT + macro definition. + + * libtiff/tif_dir.c: Use double type instead of dblparam_t. + +2006-03-14 Andrey Kiselev + + * libtiff/tif_dirread.c: Do not check the PlanarConfig tag presence + in TIFFReadDirectory, because it is always set at the start of + function and we allow TIFFs without that tag set. + +2005-03-13 Andrey Kiselev + + * libtiff 3.8.1 released. + +2006-03-07 Andrey Kiselev + + * libtiff/tif_dirread.c: Fixed error reporting in TIFFFetchAnyArray() + function as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 + + * libtiff/tif_dirread.c: More wise check for integer overflow + condition as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 + + * libtiff/{tif_jpeg.c, tif_pixarlog.c, tif_fax3.c, tif_zip.c}: + Properly restore setfield/getfield methods in cleanup functions. As + per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 + +2006-03-03 Andrey Kiselev + + * libtiff/{tif_predict.c, tif_predict.h}: Added new function + TIFFPredictorCleanup() to restore parent decode/encode/field methods. + + * libtiff/{tif_lzw.c, tif_pixarlog.c, tif_zip.c}: Use + TIFFPredictorCleanup() in codec cleanup methods. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 + + * libtiff/tif_dirread.c: Fixed integer overflow condition in + TIFFFetchData() function. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 + +2006-03-01 Andrey Kiselev + + * libtiff/tif_ojpeg.c: Set the ReferenceBlackWhite with the + TIFFSetField() method, not directly. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1043 + + * tools/ppm2tiff.c: Added support for PBM files as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1044 + +2006-02-27 Andrey Kiselev + + * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline() + to avoid crash as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1081. + +2006-02-26 Andrey Kiselev + + * tools/tiff2pdf.c: Functions t2p_sample_rgbaa_to_rgb() and + t2p_sample_rgba_to_rgb() was used in place of each other, that was + resulted in problems with RGBA images with associated alpha. + As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1097 + +2006-02-23 Andrey Kiselev + + * libtiff/tif_dirwrite.c: Properly write TIFFTAG_DOTRANGE tag as per + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088. + + * libtiff/tif_print.c: Properly read TIFFTAG_PAGENUMBER, + TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING and TIFFTAG_DOTRANGE + tags as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088. + + * tools/tiff2ps.c: Properly scale all the pages when converting + multipage TIFF with /width/height/center options set. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1080 + +2006-02-15 Andrey Kiselev + + * tools/tiff2pdf.c: Do not create output file until all option checks + will be done. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1072 + + * tools/bmp2tiff.c: Added ability to create multipage TIFFs from the + list of input files as per bug: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1077 + +2006-02-09 Andrey Kiselev + + * libtiff/tif_tile.c: Fix error reporting in TIFFCheckTile() as per + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1063. + + * tools/tiffgt.c: Avoid crashing in case of image unsupported by + TIFFRGBAImage interface. + + * libtiff/tif_color.c: Avoid overflow in case of wrong input as per + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1065. + +2006-02-07 Frank Warmerdam + + * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG + compressed TIFF files, per submission from Dan Cobra. + +2006-02-07 Andrey Kiselev + + * libtiff/{tif_dirread.c, tif_packbits.c, tif_win32.c}: Properly + cast values to avoid warnings. As per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. + + * libtiff/tif_dirinfo.c: Use TIFF_NOTYPE instead of 0 when + appropriate. As per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. + + * libtiff/tif_aux.c: Fixed type of temporary variable in + _TIFFCheckMalloc() as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. + +2006-02-06 Andrey Kiselev + + * libtiff/tif_aux.c: Return static array when fetching default + YCbCrCoefficients (another problem, reported a the + http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 entry). + +2006-02-03 Andrey Kiselev + + * libtiff/tif_dir.c: Special handling for PageNumber, HalftoneHints, + YCbCrSubsampling and DotRange tags as per bugs + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 + http://bugzilla.remotesensing.org/show_bug.cgi?id=1034 + + * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of + _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1026. + +2006-01-23 Andrey Kiselev + + * libtool related stuff updated from the 2.1a branch. + +2006-01-11 Frank Warmerdam + + * tools/bmp2tiff,pal2rgb,ppm2tiff,ras2tiff,raw2tiff,sgi2tiff, + tiff2bw,tiffcp: Fixed jpeg option processing so -c jpeg:r:50 works + properly as per bug: + http://bugzilla.remotesensing.org/show_bug.cgi?id=1025 + +2006-01-09 Bob Friesenhahn + + * configure.ac: Fix with_default_strip_size comparison as reported + by Norihiko Murase. + +2006-01-08 Bob Friesenhahn + + * test/Makefile.am (LIBTIFF): Due to linking against libtiff + incorrectly, tests were not actually testing the uninstalled + libtiff. Now they are. + +2006-01-04 Andrey Kiselev + + * libtiff/tif_dirinfo.c: Change definitions for TIFFTAG_ICCPROFILE, + TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, TIFFTAG_XMLPACKET: readcount + should be uint32 value. + +2006-01-02 Bob Friesenhahn + + * html/man/Makefile.am (htmldoc): Fix htmldoc rule so that it can + be used if build directory is not the same as source directory. + * man/{TIFFGetField.3tiff, TIFFSetField.3tiff}: Documented + TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, and TIFFTAG_XMLPACKET, + and re-sorted tag names in alphabetical order. + +2005-12-29 Andrey Kiselev + + * libtiff 3.8.0 released. + +2005-12-28 Bob Friesenhahn + + * tools/bmp2tiff.c (main): Fixed warning regarding returning + inconsistent types from a condition. + * tools/tiffcmp.c (CheckLongTag): Eliminate warning due to printf + format. + * tools/bmp2tiff.c: Reduce compilation warnings on big-endian CPUs. + +2005-12-28 Joris Van Damme + + * html/{index.html, support.hml, libtiff.html}: Cleaned up HTML + +2005-12-27 Andrey Kiselev + + * libtiff/tiffio.h: Added VC_EXTRALEAN definition before including + windows.h, to reduce the compile time. + +2005-12-26 Bob Friesenhahn + + * libtiff/tif_jpeg.c: Improve compilation under MinGW. + +2005-12-26 Andrey Kiselev + + * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}: + tiffFieldInfo and exifFieldInfo arrays definitions moved back to + tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo() + private functions to retrieve FieldInfo arrays. + +2005-12-24 Bob Friesenhahn + + * html/build.html: Added some additional instructions for when + building using MSVC under Windows. Also fixed two HTML syntax + errors and used HTML Tidy to tidy up the HTML syntax and + formatting. + +2005-12-24 Andrey Kiselev + + * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c, + tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and + StoNits tags custom. + +2005-12-23 Andrey Kiselev + + * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make + WhitePoint tag custom. + + * libtiff/{tif_dir.h, tiff.h}: More EXIF tags added. + +2005-12-23 Joris Van Damme + + * libtiff/tiffio.h: fixed typo that potentially resulted in + redefininition of USE_WIN32_FILEIO + + * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning + calls in core LibTiff. + +2005-12-21 Andrey Kiselev + + * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC, + Photoshop and ICCProfile tags custom. + +2005-12-21 Joris Van Damme + + * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling + newer code to get context indicator in error handler and still + remain compatible with older code: Done TIFFError calls everywhere + except in tools + +2005-12-20 Andrey Kiselev + + * tools/tiffcp.c: Added many error reporting messages; fixed integer + overflow as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=789 + +2005-12-16 Frank Warmerdam + + * contrib/addtiffo/*: Major upgrade by Joris to support subsampled + YCbCr images in jpeg compressed TIFF files. + +2005-12-14 Andrey Kiselev + + * tools/tiffcp.c: Return non-zero status when reading fails (again). + +2005-12-13 Andrey Kiselev + + * tools/tiffcp.c: Return non-zero status when reading fails. + +2005-12-12 Andrey Kiselev + + * libtiff/{tif_dir.h, tiff.h}: Added more EXIF tags. + +2005-12-09 Andrey Kiselev + + * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make XMLPacket tag + custom. + + * tools/tiffinfo.c: Print EXIF directory contents if exist. + + * libtiff/tiff.h: Few EXIF tag numbers added. + + * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c, + tiffio.h}: Preliminary support to read custom directories. New + functions: TIFFReadCustomDirectory() and TIFFReadEXIFDirectory(). + +2005-12-07 Andrey Kiselev + + * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}: + More work to implement custom directory read support. + + * libtiff/{tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h, + tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite + tags custom. + +2005-12-05 Andrey Kiselev + + * libtiff/tif_dirread.c: One more workaround for broken + StripByteCounts tag. Handle the case when StripByteCounts array filled + with completely wrong values. + +2005-11-30 Andrey Kiselev + + * libtiff/tif_dirinfo.c: Release file descriptor in case of failure + in the TIFFOpenW() function as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1003 + + * libtiff/tif_dirinfo.c: Correctly yse bsearch() and lfind() + functions as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1008 + +2005-11-20 Frank Warmerdam + + * tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support + for MS MDI format. + http://bugzilla.remotesensing.org/show_bug.cgi?id=1002 + + * .cvsignore: many files added, and a few update according + to suggestion of Brad HArds on tiff mailing list. + +2005-11-03 Frank Warmerdam + + * libtiff/libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory + public. + +2005-10-31 Andrey Kiselev + + * tools/fax2tiff.c: Properly calculate sizes of temporary arrays + as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=943 + + * tools/fax2tiff.c: Added option '-r' to set RowsPerStrip parameter + as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=944 + + * tools/tiffdump.c: Fixed typeshift and typemask arrays initialization + problem as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=946 + + * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=965 + + * libtiff/tif_dirinfo.c: Make XResolution, YResolution and + ResolutionUnit tags modifiable during write process. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=977 + + * tools/tiffsplit.c: Copy fax related fields over splitted parts + as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=983 + +2005-10-21 Frank Warmerdam + + * tif_dirread.c: Don't try and split single strips into "0" strips + in ChopUpSingleUncompressedStrip. This happens in some degenerate + cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff) + +2005-10-20 Joris Van Damme + + * tif_fax3.c: changed 'at scanline ...' style warning/errors + with incorrect use of tif_row, to 'at line ... of + strip/tile ...' style + +2005-10-15 Frank Warmerdam + + * tif_write.c: fixed setting of planarconfig as per bug report + on the mailing list from Joris. + +2005-10-07 Andrey Kiselev + + * configure.ac, configure, nmake.opt, libtiff/{tif_config.h, + tif_dirread.c}: Make the default strip size configurable via the + --with-default-strip-size and STRIP_SIZE_DEFAULT options. + +2005-09-30 Bob Friesenhahn + + * html/support.html: Fixed link to documentation on Greg Ward's + LogLuv TIFF format. + +2005-09-28 Andrey Kiselev + + * tools/tiffdump.c: Fixed crash when reading malformed tags. + +2005-09-20 Andrey Kiselev + + * tools/tiff2pdf.c: Added missed 'break' statement as per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=932 + +2005-09-12 Andrey Kiselev + + * libtiff 3.7.4 released. + + * {configure, configure.ac, Makefile.am, autogen.sh}: Applied patch + from Patrick Welche (all scripts moved in the 'config' and 'm4' + directories). + +2005-09-12 Frank Warmerdam + + * libtiff/tif_open.c: reintroduce seek to avoid problem on solaris. + +2005-09-05 Frank Warmerdam + + * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV + also set it to NULL to avoid double free when re-setting custom + string fields as per: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=922 + +2005-08-12 Frank Warmerdam + + * libtiff/tif_print.c: avoid signed/unsigned warning. + + * libtiff/tif_dirread.c: removed unused variable. + +2005-07-30 Frank Warmerdam + + * libtiff/tif_dir.c: Fixed up support for swapping "double complex" + values (128 bits as 2 64 bits doubles). GDAL gcore tests now + pass on bigendian (macosx) system. + +2005-07-28 Andrey Kiselev + + * libtiff/{tif_aux.c, tif_dirread.c, tif_fax3.c, tiffiop.h}: Rename + CheckMalloc() function to _TIFFCheckMalloc() and make it available + globally as an internal helper routine. + +2005-07-27 Andrey Kiselev + + * libtiff/tif_dir.c: More improvements in the "pass by value" part of + the custom tags handling code. + +2005-07-26 Andrey Kiselev + + * libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to + SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples() + function, use TIFFFetchNormalTag() instead as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=831 + + Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag() + instead. + + * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + +2005-07-25 Andrey Kiselev + + * libtiff/tif_print.c: Fixed printing of the BYTE and SBYTE arrays. + + * tools/tiffdump.c: Added support for TIFF_IFD datatype. + +2005-07-21 Andrey Kiselev + + * libtiff/tif_write.c: Do not check the PlanarConfiguration field in + the TIFFWriteCheck() function in case of single band images (as per + TIFF spec). + +2005-07-12 Andrey Kiselev + + * SConstruct, libtiff/SConstruct: Added the first very preliminary + support for SCons software building tool (http://www.scons.org/). + This is experimental infrastructure and it will exist along with the + autotools mechanics. + +2005-07-07 Andrey Kiselev + + * port/{getopt.c, strcasecmp.c, strtoul.c}: Update modules from + the NetBSD source tree (the old 4-clause BSD license changed to + the new 3-clause one). + + * configure.ac, port/lfind.c, libtiff/tiffiop.h: Added lfind() + replacement module. + + * port/dummy.c: Make the dummy function static. + +2005-07-06 Andrey Kiselev + + * tools/tiffcp.c: Fixed WhitePoint tag copying. + + * libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}: + Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera, + ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom. + +2005-07-04 Andrey Kiselev + + * libtiff 3.7.3 released. + + * configure, configure.ac: Do not use empty -R option when linking + with --enable-rpath. + +2005-07-01 Andrey Kiselev + + * libtiff/{tiffiop.h, tif_open.c}: Added open option 'h' to avoid + reading the first IFD when needed. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=875 + + * libtiff/tif_color.c: Better use of TIFFmin() macro to avoid side + effects. + +2005-06-23 Andrey Kiselev + + * tools/tiff2pdf.c: Print two characters per loop in the + t2p_write_pdf_trailer(). As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=594 + + * tools/tiffgt.c: Use MacOS X OpenGL framework when appropriate. As + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=844 + + * acinclude.m4: Updated to latest OpenGL test macros versions. + + * libtiff/tiff.h: Use correct int size on Sparc 64bit/Sun compiler + platform. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=855 + +2005-06-14 Andrey Kiselev + + * libtiff/tif_dirinfo.c: Added support for ClipPath, XClipPathUnits + and YClipPathUnits tags. + +2005-06-07 Andrey Kiselev + + * contrib/addtiffo/tif_ovrcache.c: Properly extract tile/strip size; + use pixel sized shift in contigous case. + +2005-06-06 Andrey Kiselev + + * contrib/addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: + Make overviews working for contiguos images. + +2005-06-03 Andrey Kiselev + + * libtiff/tif_open.c: Replace runtime endianess check with the compile + time one. + + * libtiff/tif_predict.c: Floating point predictor now works on + big-endian hosts. + +2005-06-01 Andrey Kiselev + + * libtiff/tif_dir.c: Use _TIFFsetString() function when read custom + ASCII values. + + * libtiff/{tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c}: Make + DocumentName, Artist, HostComputer, ImageDescription, Make, Model, + Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and + TargetPrinter tags custom. + + * libtiff/tif_jpeg.c: Cleanup the codec state depending on + TIFF_CODERSETUP flag (to fix memry leaks). + + * libtiff/tif_jpeg.c: Initialize JPEGTables array with zero after + allocating. + +2005-05-26 Andrey Kiselev + + * configure.ac, libtiff/Makefile.am: Added workaround for + OpenBSD/MirOS soname problem as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=838 + + * libtiff/tif_dirwrite.c: Use tdir_count when calling + TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=845 + +2005-05-25 Andrey Kiselev + + * tools/ppm2tiff.c: Fixed format string when read PPM file header with + the fscanf() function. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=861 + + * libtiff/{tif_dirinfo.c, tif_print.c}: TIFFFetchByteArray() returns + uint16 array when fetching the BYTE and SBYTE filds, so we should + consider result as pointer to uint16 array and not as array of chars. + As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=831 + + * libtiff/tif_dir.c: More efficient custom tags retrieval as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=830 + + * libtiff/tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share + mode in CreateFile() call as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=829 + + * libtiff/Makefile.am: Fixed parallel compilation of the libtiff and + libtiffxx libraries as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=826 + + * contrib/addtiffo/{tif_overview.c, tif_ovrcache.h}: Sinchronized with + GDAL. + +2005-05-23 Frank Warmerdam + + * libtiff/tif_jpeg.c: Substantial fix for addtiffo problems with + JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables + in directory. + +2005-05-22 Frank Warmerdam + + * libtiff/tif_dirread.c: Changed the code that computes + stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is + zero. This is a common case with GDAL indicating a "null" tile/strip. + +2005-05-17 Andrey Kiselev + + * tools/tiffsplit.c: Check for JPEGTables tag presence before copying. + +2005-05-06 Frank Warmerdam + + * libtiff/tif_dirread.c: Applied similar change to + TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=843 + + * libtiff/tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw(). + +2005-05-06 Andrey Kiselev + * tools/tiff2pdfr.c, man/tiff2pdf.1: Calculate the tile width properly; + added new option '-b' to use interpolation in output PDF files (Bruno + Ledoux). + +2005-05-05 Frank Warmerdam + + * libtiff/tif_dirread.c: Ensure that broken files with too many + values in PerSampleShorts work ok instead of crashing. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=843 + +2005-04-27 Andrey Kiselev + + * tools/tiffdither.c: Copy the PhotometricInterpretation tag from the + input file. + +2005-04-15 Andrey Kiselev + + * libtiff/tif_predict.c: Added ability to encode floating point + predictor, as per TIFF Technical Note 3. + +2005-04-14 Andrey Kiselev + + * libtiff/{tif_predict.h, tif_predict.c}: Added ability to decode + floating point predictor, as per TIFF Technical Note 3. + +2005-04-13 Andrey Kiselev + + * libtiff/{tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c}: + Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to + swap 24-bit floating point values. + + * libtiff/tiff.h: Added predictor constants. + +2005-04-08 Andrey Kiselev + + * libtiff/{tiffiop.h, tif_dir.c}: Use uint32 type for appropriate + values in _TIFFVSetField() function. Inspired by the bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=816 + + * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag + as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=816 + +2005-03-30 Andrey Kiselev + + * libtiff/tif_open.c: Do not read header in case the output file + should be truncated (Ron). + + * libtiff/{tif_dirinfo.c, tif_config.h.vc}: Use lfind() instead + of bsearch() in _TIFFFindFieldInfoByName() function (Ron). + + * libtiff/{tiff.h, tif_dirinfo.c}: Fixes in EXIF tag ordering (Ron). + +2005-03-22 Andrey Kiselev + + * configure.ac, libtiff/Makefile.am: Use libtool machinery to pass + rpath option. + +2005-03-21 Andrey Kiselev + + * libtiff/{tif_dir.c, tif_print.c}: Handle all data types in custom + tags. + +2005-03-18 Andrey Kiselev + + * libtiff/dirinfo.c: Added DNG tags. + + * libtiff/{tif_dir.c, tif_print.c}: More improvements in custom tag + handling code. + + * libtiff/tiff.h: More comments; added missed DNG tag (LensInfo); + added DNG 1.1.0.0 tags. + + * tools/tif2pdf.c: Fixed problem with alpha channel handling as per + bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=794 + + * man/TIFFGetField.3tiff: Add a note about autoregistered tags. + +2005-03-17 Andrey Kiselev + + * nmake.opt: Build with Win32 CRT library by default. + + * tools/tiff2ps.c: Fixed typo in page size handling code. + + * libtiff/{tif_dir.c, tif_print.c}: Support for custom tags, passed + by value. + + * libtiff/{tiff.h, tif_dirinfo.c, tiffiop.h}: Added EXIF related tags. + +2005-03-15 Andrey Kiselev + + * libtiff 3.7.2 released. + +2005-03-09 Andrey Kiselev + + * tools/tiffcmp.c: Added ability to compare the 32-bit integer and + floating point data; complain on unsupported bit depths. + +2005-03-05 Andrey Kiselev + + * tif_stream.cxx: Use ios namespace instead of ios_base to support + GCC 2.95. + + * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied correct patch from + Lee Howard for HylaFax DCS tag + (see http://bugzilla.remotesensing.org/show_bug.cgi?id=771) + +2005-03-04 Andrey Kiselev + + * configure, configure.ac: Use -rpath option instead of -R as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=732 + + * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied patch from Lee + Howard to support a new tag TIFFTAG_FAXDCS (34911) used in HylaFax + software. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=771 + + * nmake.opt, html/build.html: Add more comments, change the config + file organization a bit as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=764 + + * tools/tiffcmp.c: Use properly sized buffer in short arrays comparison + as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=785 + +2005-03-03 Andrey Kiselev + + * libtiff/tif_dirread.c: More logic to guess missed strip size as per + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=705 + + * tools/fax2ps.c: Replace insecure mktemp() function with the + tmpfile() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=786 + +2005-02-04 Andrey Kiselev + + * libtiff/tiff.h: Changed the int8 definition to be always signed char + as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=727 + + * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{} + block as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=763 + +2005-02-03 Bob Friesenhahn + + * tools/tiffgt.c: Fix problem on big-endian CPUs so that images + display more correctly. Images display brighter than they should + on a Sun workstation. + +2005-02-03 Andrey Kiselev + + * libtiff/tif_dirread.c: Estimate strip size in case of wrong or + suspicious values in the tags. As per bugs + + http://bugzilla.remotesensing.org/show_bug.cgi?id=705 + + and + + http://bugzilla.remotesensing.org/show_bug.cgi?id=320 + + * tools/tiff2ps.c: Fixed problem with page sizes as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=742 + +2005-01-31 Bob Friesenhahn + + * libtiff/tiff.h (TIFFTAG_TILEWIDTH): Corrected description. + (TIFFTAG_TILELENGTH): Corrected description. + +2005-01-30 Andrey Kiselev + + * configure.ac: Fixes for --with-docdir option as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=759 + + * libtiff/tif_open.c: Remove unnesessary TIFFSeekFile() call as per + bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=756 + + * libtiff/tif_stream.cxx: Fixes for C++ stream interface from + Michael Rinne and Edward Lam. + +2005-01-15 Andrey Kiselev + + * configure.ac: Make the documentation directory location configurable + via the --with-docdir option (as suggested by Jeremy C. Reed). + + * libtiff/tif_color.c: Use double as the second argument of pow() + function in TIFFCIELabToRGBInit(). As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=741 + + * libtiff/tif_pixarlog.c: Avoid warnings when converting float to + integer as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=740 + + * libtiff/tif_getimage.c: Always fill the error message buffer in + TIFFRGBAImageBegin() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=739 + +2005-01-12 Andrey Kiselev + + * libtiff/tif_jpeg.c: Added ability to read/write the fax specific + TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS and TIFFTAG_FAXRECVTIME + tags as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=736 + + * libtiff/tif_win32.c: Fixed message formatting in functions + Win32WarningHandler() and Win32ErrorHandler() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=735 + + * tools/tiff2ps.c: Interpret the -w and -h options independently. As + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=689 + +2005-01-11 Andrey Kiselev + + * libtiff/tiffio.h: Move the color conversion routines in the 'extern + "C"' section as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=727 + + * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C + compiler to avoid double definition of BSD types as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + + * libtiff/Makefile.am: Place the C++ stream API in the separate + library called libtiffxx to avoid unneeded dependencies. Probably + there will be more C++ API in the future. As per bugs + + http://bugzilla.remotesensing.org/show_bug.cgi?id=733 + + and + + http://bugzilla.remotesensing.org/show_bug.cgi?id=730 + +2005-01-05 Andrey Kiselev + + * tools/tiffdump.c: Fixed problem when read broken TIFFs with the + wrong tag counts (Dmitry V. Levin, Martin Pitt). + + * configure.ac: Replace --disable-c++ with the --disable-cxx option as + per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=730 + +2004-12-25 Andrey Kiselev + + * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled + RGB-images as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=713 + + + * tools/tiffset.c: Convert character option to integer value as per + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=725 + +2004-12-20 Andrey Kiselev + + * libtiff 3.7.1 released. + + * html/tiffset.1.html: Add missed manual page as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=678 + + * libtiff/tiff.h: Revert back libtiff data type definitions as per + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=687 + +2004-12-19 Andrey Kiselev + + * libtiff/tif_dirread.c: Do not forget about TIFF_VARIABLE2 when + checking for tag count in TIFFReadDirectory() function. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=713 + + * libtiff/{tif_dirread.c, tif_fax3.c}: More argument checking in + CheckMallock() function. + + * libtiff/tif_getimage.c: Support for multiple-alpha-channelled + RGB-images as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=718 + +2004-12-15 Frank Warmerdam + + * libtiff/tif_getimage.c: #define A1 bracketing for clean build on + SunPro compiler. + +2004-12-11 Bob Friesenhahn + + * autogen.sh: aclocal and autoheader should be executed after + libtoolize. Also add '-I .' to aclocal invocation to check + current directory for macros. + +2004-12-10 Andrey Kiselev + + * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type + as per bugs + + http://bugzilla.remotesensing.org/show_bug.cgi?id=703 + + and + + http://bugzilla.remotesensing.org/show_bug.cgi?id=704 + +2004-12-04 Andrey Kiselev + + * nmake.opt: Link with the user32.lib in windowed mode. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=697 + + * libtiff/tif_win32.c: Use char* strings instead of TCHAR in windowed + mode as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=697 + + * libtiff/tif_config.in.vc: Removed unneded definitions for + read/open/close/lseek functions to fix the + + http://bugzilla.remotesensing.org/show_bug.cgi?id=680 + +2004-12-03 Andrey Kiselev + + * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore() + call from the TIFFReadDirectory() function. TIFFReassignTagToIgnore + must be removed in the future, as it was never used properly. As per + bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=692 + +2004-11-30 Bob Friesenhahn + + * libtiff/tif_jpeg.c: Added a work-around in order to allow + compilation with the heavily modified version of libjpeg delivered + with Cygwin. + +2004-11-29 Andrey Kiselev + + * libtiff/tif_dir.c: Properly handle tags, which have the uint32 + counts. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=693 + + * tools/fax2ps.c: Be able to extract the first page (#0). As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=690 + +2004-11-28 Andrey Kiselev + + * libtiff/tif_unix.c: Make UNIX module compilable (and usable) + on Windows. + + * nmake.opt: Add missed DLLNAME variable. + +2004-11-26 Frank Warmerdam + + * libtiff/makefile.vc: make it easier to rename the libtiff DLL. + +2004-11-24 Andrey Kiselev + + * man/libtiff.3tiff: Improvements in the "LIST OF ROUTINES" table as + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=545 + + * man/tiffset.1: Added manual page for tiffset tool written by Jay + Berkenbilt. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=678 + +2004-11-23 Frank Warmerdam + + * libtiff/tif_error.c: fixed TIFFerror call to be TIFFError. + +2004-11-21 Frank Warmerdam + + * html/document.html: Updated Adobe web links as per email from Joris. + +2004-11-21 Andrey Kiselev + + * libtiff/{tiffio.hxx, tiffio.h}: C++ stream interface moved to new + file tiffio.hxx. We don't have any C++ in tiffio.h, those who want to + use C++ streams should #include . + +2004-11-13 Andrey Kiselev + + * libtiff/tiff.h: Added Adobe DNG tags. + + * libtiff/tif_win32.c: Typo fixed. + + * libtiff/{tif_stream.cxx, tiffio.h}: C++ stream interface updated to + be compliant with the latest standard. Appropriate additions in + makefiles now completed. + +2004-11-11 Andrey Kiselev + + * tools/tiffset.c, libtiff/tif_dirinfo.c: Properly handle the + different tag types. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=600 + +2004-11-10 Andrey Kiselev + + * libtiff/tif_aux.c: Set the appropriate ReferenceBlackWhite array for + YCbCr image which lacks that tag (noted by Hans Petter Selasky). + +2004-11-09 Andrey Kiselev + + * libtiff/tif_color.c: Division by zero fixed (Hans Petter Selasky). + +2004-11-07 Andrey Kiselev + + * libtiff/{tif_stream.cxx, tiffio.h}: Added C++ stream interface + contributed by Edward Lam (see + http://bugzilla.remotesensing.org/show_bug.cgi?id=654 for details). + Though no changes in any makefiles yet. + +2004-11-05 Frank Warmerdam + + * libtiff/tif_open.c: Removed close() in TIFFClientOpen() if file + is bad. This is the callers responsibility. + http://bugzilla.remotesensing.org/show_bug.cgi?id=651 + +2004-11-05 Andrey Kiselev + + * libtiff/{tiffio.h, tif_win32.c, libtiff.def}: Added TIFFOpenW() + function to work with the double byte strings (used to represent + filenames in some locales). As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=625 + + * libtiff/tif_dirread.c: Fixed problem when fetching BitsPerSample and + Compression tags of type LONG from broken TIFFS as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=662 + + * libtiff/tif_dirinfo.c: Fixed definition for TIFFTAG_RICHTIFFIPTC, + the writecount should have uint32 type. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=662 + + * libtiff/tif_write.c: Fixed wrong if() statement in + TIFFAppendToStrip() function as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=660 + +2004-11-04 Andrey Kiselev + + * libtiff/tif_dirinfo.c: Change definition for TIFFTAG_EXTRASAMPLES + field. The caller should supply a count when setting this field. As + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=648 + + * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have + uint32 count. Use this type everywhere. + +2004-11-03 Frank Warmerdam + + * libtiff/tif_next.c: avoid use of u_long and u_char types. Bug 653. + +2004-11-02 Frank Warmerdam + + * tools/tiff2rgba.c: removed extra newlines in usage message. + +2004-10-30 Andrey Kiselev + + * libtiff/tif_dirwrite.c: Improvements in tag writing code. + + * tools/tiff2ps.c: Fixed wrong variable data type when read Position + tags (Tristan Hill). + +2004-10-30 Frank Warmerdam + + * libtiff/tiffiop.h: added fallback definition of assert() if we + don't have assert.h. + +2004-10-29 Andrey Kiselev + + * libtiff/tif_fax3.c: Fixed case with the wrong decode routines + choosing when the incorrect Group4Options tag set. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=323 + + * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of + wrong type when writing the TIFF_BYTE/TIFF_SBYTE tags in + TIFFWriteNormalTag(). + +2004-10-28 Andrey Kiselev + + * tools/tiff2ps.c: Fixed wrong variable data type when read Resolution + tags (Peter Fales). + + * tools/{bmp2tiff.c, raw2tiff.c}: Get rid of stream I/O functions. + +2004-10-28 Frank Warmerdam + + * tools/tiff2pdf.c: added casts to avoid warnings. + + * libtiff/libtiff.def: Added several more entry points required + to link fax2tiff.c against the DLL on windows. + +2004-10-27 Andrey Kiselev + + * configure, configure.ac: Added --enable-rpath option to embed linker + paths into library binary. + +2004-10-26 Andrey Kiselev + + * tools/tiffset.c: Check the malloc return value (Dmitry V. Levin). + + * libtiff/{tif_strip.c, tif_tile.c}: Zero division problem fixed + (Vladimir Nadvornik, Dmitry V. Levin). + +2004-10-16 Andrey Kiselev + + * libtiff 3.7.0 released. + +2004-10-15 Bob Friesenhahn + + * libtiff/tif_jpeg.c: There seems to be no need to include stdio.h + in this file so its inclusion is removed. Including stdio.h + sometimes incurs an INT32 typedef conflict between MinGW's + basetsd.h and libjpeg's jmorecfg.h. + +2004-10-15 Andrey Kiselev + + * man/bmp2tiff.1: Added manual page for bmp2tiff utility. + +2004-10-13 Bob Friesenhahn + + * tools/tiffcmp.c (leof): Renamed from 'eof' in order to avoid + conflict noticed under MinGW. + * ltmain.sh: Fix for MinGW compilation. + +2004-10-13 Frank Warmerdam + + * man/tiffsplit.1: Fixed to indicate using aaa-zzz, not aa-zz. + http://bugzilla.remotesensing.org/show_bug.cgi?id=635 + +2004-10-12 Andrey Kiselev + + * libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c, + tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes + properly (Dmitry V. Levin, Marcus Meissner). + +2004-10-11 Andrey Kiselev + + * libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed + to TIFF_IFD. + +2004-10-10 Andrey Kiselev + + * tools/bmp2tif.c: Check the space allocation results. + +2004-10-09 Andrey Kiselev + + * libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields + of the TIFFDirectory structure with the 0 instead of -1 to avoid + confusing integer overflows in TIFFTileRowSize() for striped images. + + * tools/tiff2pdf.c: Fixed TransferFunction tag handling reported + by Ross A. Finlayson. + + * libtiff/tif_dir.c: Fixed custom tags handling as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=629 + +2004-10-08 Frank Warmerdam + + * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation + of tif_fieldinfo. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=630 + +2004-10-04 Bob Friesenhahn + + * contrib/iptcutil/README: Added the missing README which goes + along with iptcutil. + +2004-10-03 Andrey Kiselev + + * libtiff/tif_compress.c: Improved error reporting in + TIFFGetConfiguredCODECs() (Dmitry V. Levin). + +2004-10-02 Andrey Kiselev + + * libtiff 3.7.0beta2 released. + + * libtiff/{tif_aux.c, tif_compress.c, tif_dirinfo.c, tif_dirwrite.c, + tif_extension.c, tif_fax3.c, tif_luv.c, tif_packbits.c, + tif_pixarlog.c, tif_write.c}: Added checks for failed memory + allocations and integer overflows (Dmitry V. Levin). + + * libtiff/tiff.h: Missed TIFF_BIGTIFF_VERSION constant added. + +2004-10-01 Frank Warmerdam + + * libtiff/tif_open.c: added a more informative message if a BigTIFF + file is opened. + +2004-09-30 Frank Warmerdam + + * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to + TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info + in the Adobe XMP Specification. + +2004-09-29 Andrey Kiselev + + * libtiff/{tif_jpeg.c, tif_pixarlog.c}: Use _TIFFmemset() instead of + memset(). + + * libtiff/{tif_dirread.c, tif_strip.c, tif_tile.c}: Applied patches + from Dmitry V. Levin to fix possible integer overflow problems. + +2004-09-28 Andrey Kiselev + + * libtiff/tif_getimage.c: Check for allocated buffers before clearing + (Dmitry V. Levin). + +2004-09-26 Andrey Kiselev + + * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}: + Optimize checking for the strip bounds. + + * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and + TIFFRasterScanlineSize() functions report zero in the case of integer + overflow now. Properly handle this case in TIFFReadDirectory() + (patches from Dmitry V. Levin). + +2004-09-25 Andrey Kiselev + + * libtiff/{tif_dirinfo.c, tif_strip.c, tif_tile.c}: Use TIFFhowmany8() + macro where appropriate. + + * tools/tiff2bw.c: Write ImageWidth/Height tags to output file, as + noted by Gennady Khokhorin. + + * libtiff/tif_dirread.c: Always check the return values, returned + by the _TIFFmalloc() (Dmitry V. Levin). + + * libtiff/tif_dir.c: Fixed possible integer overflow _TIFFset*Array() + functions (Dmitry V. Levin). + + * libtiff/{tif_dirread.c, tif_dir.c, tif_write.c}: + Potential memory leak fixed in TIFFReadDirectory(), _TIFFVSetField(), + TIFFGrowStrips() (found by Dmitry V. Levin). + +2004-09-24 Andrey Kiselev + + * libtiff/{tiffio.h, tif_compress.c}: Added TIFFGetConfiguredCODECs() + to get the list of configured codecs. + + * libtiff/{tiffiop.h, tif_dirread.c}: More overflow fixes from + Dmitry V. Levin. + +2004-09-23 Andrey Kiselev + + * libtiff/tif_dirread.c: Applied patch from Dmitry V. Levin to fix + possible integer overflow in CheckMalloc() function. + +2004-09-22 Andrey Kiselev + + * libtiff/{tiffiop.h, tif_strip.c}: Use TIFFhowmany8() macro instead + of plain TIFFhowmany() where appropriate. + +2004-09-21 Andrey Kiselev + + * libtiff/tif_getimage.c: Initialize arrays after space allocation. + +2004-09-19 Andrey Kiselev + + * libtiff 3.7.0beta released. + + * libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer + overruns fixed, as noted by Chris Evans. + +2004-09-14 Bob Friesenhahn + + * commit: Added a script to make it more convenient to commit + updates. The CVS commit message is extracted from this ChangeLog + file. + +2004-09-14 Andrey Kiselev + + * configure.ac, configure, aclocal.m4, libtiff/{mkspans.c, tif_fax3.c, + tif_getimage.c, tif_luv.c, tif_lzw.c, tif_ojpeg.c, tif_packbits.c, + tif_predict.c, tif_read.c, tif_swab.c, tif_thunder.c, tif_write.c, + tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_jpeg.c, tif_dirinfo.c, + tif_vms.c, tif_print.c, tif_strip.c, tif_tile.c, tif_dir.h, + tif_config.h.in, tiffiop.h}: + Get rid of BSD data types (u_char, u_short, u_int, u_long). + +2004-09-13 Bob Friesenhahn + + * libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP + specification. Reference libtiff bug tracking system to submit + private tag additions. + +2004-09-12 Bob Friesenhahn + + * tools/tiffgt.c: Include "tif_config.h". + + * configure.ac: Use AM_PROG_CC_C_O since it is now needed to build + tiffgt. This results in the 'compile' script being added to the + project. + + * tools/Makefile.am (tiffgt_CFLAGS): Add extra build options + required to find OpenGL headers necessary to build tiffgt. Also + ensure that the libtiff that we built is used rather than some other + libtiff installed on the system. + +2004-09-12 Andrey Kiselev + + * configure.ac, acinclude.m4, aclocal.m4: New macros to detect GLUT + libraries. + +2004-09-11 Bob Friesenhahn + + * configure.ac: Pass library configuration defines via + tif_config.h rather than extending CPPFLAGS. Configure a + libtiff/tiffconf.h in order to satisfy application requirements + (not used by library build). Do not define _POSIX_C_SOURCE=2 since + this causes failure to build on systems which properly respect + this request. + + * libtiff/tiffconf.h.in: New file to act as the template for the + configured tiffconf.h + + * libtiff/files.lst (HDRS): Install the configured tiffconf.h. + +2004-09-10 Frank Warmerdam + + * html/internals.html: Split off a discussion of adding new tags + into addingtags.html. + +2004-09-10 Andrey Kiselev + + * test/{ascii_tag.c, long_tag.c}: Preliminary test suite added. + + * tools/tiff2pdf.c: Fixed reading TransferFunction tag as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=590 + + * libtiff/tif_print.c: Fixes in InkNames and NumberOfInks reporting. + + * libtiff/tif_dirread.c: Don't reject to read tags of the + SamplesPerPixel size when the tag count is greater than number of + samples as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=576 + + * libtiff/tiff.h: Use _TIFF_DATA_TYPEDEFS_ guardian to switch off + defining int8/uint8/... etc. types. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=607 + +2004-09-09 Frank Warmerdam + + * tools/tiff2ps.c, tools/tiffmedian.c: fiddle with include files + to avoid compile warnings about getopt() and a few other things. + +2004-09-02 Andrey Kiselev + + * libtiff/tif_dirread.c: Use memcpy() function instead of pointer + assigning magic in TIFFFetchFloat(). + +2004-09-01 Andrey Kiselev + + * libtiff/{tiffio.h, tif_open.c}: Applied patches from Joris Van Damme + to avoid requirement for tiffiop.h inclusion in some applications. See + here + + http://www.asmail.be/msg0054799560.html + + for details. + + * tools/fax2tiff.c: Use the new functions in the code. + +2004-08-25 Andrey Kiselev + + * tools/tiff2pdf.c: Initialize arrays properly. + + * tools/tiff2ps.c: Avoid zero division in setupPageState() function; + properly initialize array in PSDataBW(). + +2004-08-24 Andrey Kiselev + + * tools/tiff2pdf.c: More fixes for bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=590 + + from Ross Finlayson. + +2004-08-23 Andrey Kiselev + + * tools/tiff2ps.c: Fixed problem with uninitialized values. + + * libtiff/tif_dir.c: Initialize tif_foundfield data member in the + TIFFDefaultDirectory() (in addition to 2004-08-19 fix). + + * tools/tiff2pdf.c: Fixed a bunch of problems as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=590 + +2004-08-20 Andrey Kiselev + + * tools/tiff2pdf.c: Applied patch from Ross Finlayson that checks + that the input file has compression, photometric interpretation, + etcetra, tags or if not than a more descriptive error is returned. + + * libtiff/tif_dirread.c: Fixed problem in TIFFReadDirectory() in the + code, responsible for tag data type checking. + +2004-08-19 Andrey Kiselev + + * libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static + variable as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=593 + +2004-08-16 Andrey Kiselev + + * tools/ras2tiff.c: Fixed issue with missed big-endian checks as per + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=586 + +2004-08-01 Andrey Kiselev + + * libtiff/{tif_config.h.in, tif_config.h.vc}: config.h.in and + config.h.vc files renamed in the tif_config.h.in and tif_config.h.vc. + +2004-07-24 Andrey Kiselev + + * libtiff/tif_lzw.c: LZW compression code is merged back from the + separate package. All libtiff tools are updated to not advertise an + abcence of LZW support. + +2004-07-12 Andrey Kiselev + + * libtiff/tiffio.h: Revert thandle_t back to void* type. + +2004-07-11 Andrey Kiselev + + * libtiff/{tif_read.c, tif_tile.c, tif_strip.c}: Fixes in error + messages, as suggested by Bernd Herd. + +2004-07-03 Andrey Kiselev + + * libtiff/tif_dir.c: Call TIFFError() instead of producing warnings + when setting custom tags by value. Reported by Eric Fieleke. + +2004-06-14 Andrey Kiselev + + * tools/bmp2tiff.c: Add missed RawsPerStrip setting. + +2004-06-08 Andrey Kiselev + + * tools/bmp2tiff.c: Added new utility to convert Windows BMP files + into TIFFs. + +2004-06-07 Andrey Kiselev + + * libtiff 3.7.0alpha released. + +2004-06-06 Andrey Kiselev + + * libtiff/{tiff.h, tif_dirwrite.c, tif_fax3.c, tif_packbits.c,}: Get rid + of ugly 64-bit hacks, replace them with the clever (autoconf based ) + ones :-). + + * libtiff/tiffio.h: Define thandle_t as int, not void* (may cause + problems in 64-bit environment). + +2004-06-05 Andrey Kiselev + + * tools/tiffset.c: tiffset now can set any libtiff supported tags. + Tags can be supplied by the mnemonic name or number. + + * libtiff/{tiffio.h, tif_dir.h, tif_dirinfo.c,}: Added two new + functions TIFFFindFieldInfoByName() and TIFFFieldWithName(). + +2004-05-27 Andrey Kiselev + + * libtiff/tif_ojpeg.c: Fixed problem with duplicated SOI and SOF + markers as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=581 + +2004-05-24 Andrey Kiselev + + * tools/tiffsplit.c: Don't forget to copy Photometric + Interpretation tag. + +2004-05-20 Andrey Kiselev + + * libtiff/{tif_open.c, tiffio.h}: New function added: + TIFFIsBigEndian(). Function returns nonzero if given was file written + in big-endian order. + + * tools/tiffsplit.c: Fixed problem with unproperly written multibyte + files. Now output files will be written using the same byte order + flag as in the input image. See + + http://bugzilla.remotesensing.org/show_bug.cgi?id=574 + + for details. + +2004-05-19 Frank Warmerdam + + * libtiff/tif_print.c: added (untested) support for printing + SSHORT, SLONG and SRATIONAL fields. + + * tools/tiffcp.c: close output file on normal exit. + +2004-05-17 Andrey Kiselev + + * libtiff/tif_fax3.c: Avoid reading CCITT compression options + if compression type mismatches. See + + http://bugzilla.remotesensing.org/show_bug.cgi?id=565 + +2004-04-30 Andrey Kiselev + + * libtiff/tif_strip.c: Never return 0 from the + TIFFNumberOfStrips(). + +2004-04-29 Andrey Kiselev + + * libtiff/tif_dirread.c: Workaround for broken TIFF writers which + store single SampleFormat value for multisampled images. See + + http://bugzilla.remotesensing.org/show_bug.cgi?id=562 + +2004-04-25 Andrey Kiselev + + * configure.ac, libtiff/{tiff.h, config.h.in}: Added tests for int8, + int16 and int32 types to avoid complains on some compilers. Details at + + http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + +2004-04-20 Andrey Kiselev + + * tools/tiff2pdf.c: Fixed problem with unaligned access as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=555 + +2004-04-14 Andrey Kiselev + + * libtiff/tif_write.c: Allow in-place updating of the compressed + images (don't work properly with all codecs). For details see GDAL bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=534 + +2004-04-06 Andrey Kiselev + + * libtiff/tif_jpeg.c: Workaround for wrong sampling factors used + in the Intergarph JPEG compressed TIFF images as per bug: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=532 + +2004-04-04 Frank Warmerdam + + * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails + via bad2. + +2004-03-26 Andrey Kiselev + + * tools/tiffcp.c: Properly set Photometric Interpretation in case of + JPEG compression of grayscale images. + + * tools/tiffcp.c: Don't emit warnings when Orientation tag does not + present in the input image. + +2004-03-19 Andrey Kiselev + + * {many}: The first attempt to switch to autotools. + +2004-03-03 Andrey Kiselev + + * libtiff/tif_open.c: Use dummy mmap/munmap functions in + TIFFClientOpen() when the appropriate client functions was not + supplied by user. + +2004-03-02 Frank Warmerdam + + * tools/ycbcr.c: fixed main() declaration as per: + http://bugzilla.remotesensing.org/show_bug.cgi?id=513 + +2004-02-26 Andrey Kiselev + + * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed + images. Reported by Artem Mirolubov. + + * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED + tag type in TIFFFetchNormalTag() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=508 + +2004-02-17 Frank Warmerdam + + * libtiff/tif_codec.c: Fixed typo in TIFFInitPackBits name as per: + http://bugzilla.remotesensing.org/show_bug.cgi?id=494 + +2004-02-05 Andrey Kiselev + + * libtiff/tif_fax3.c: Fixed problem with CCITT encoding modes as per + bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=483 + + But we need more work on fax codec to support update mode. + +2004-01-30 Frank Warmerdam + + * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck, + TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by + Scott Reynolds. + +2004-01-29 Andrey Kiselev + + * libtiff/tiff.h: Fixed tag definitions for TIFFTAG_YCLIPPATHUNITS + and TIFFTAG_INDEXED as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=475 + + * libtiff/{tif_win32.c, tif_unix.c}: Check whether the pointer is + NULL before proceeding further as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=474 + + Check results, returned by the TIFFFdOpen() before returning and close + file if TIFFFdOpen() failed as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=468 + + * libtiff/tif_open.c: More fixes for + + http://bugzilla.remotesensing.org/show_bug.cgi?id=468 + +2004-01-28 Andrey Kiselev + + * libtiff/{libtiff.def, tif_close.c, tiffio.h, tif_open.c}: Separate + TIFFCleanup() from the TIFFClose() in order to fix the bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=468 + + * tools/tiffcp.c: Fixed problem with wrong interpretation of the + InkNames tag as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=466 + + Memory leak fixed. + +2004-01-21 Frank Warmerdam + + * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that + are field_passcount=TRUE properly. Arguably anonymous custom tags + should be declared as passcount=FALSE, but I don't want to change + that without a careful review. + +2004-01-20 Andrey Kiselev + + * libtiff/tif_write.c: Fixed reporting size of the buffer in case of + stripped image in TIFFWriteBufferSetup(). As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=460 + +2004-01-11 Andrey Kiselev + + * libtiff/tif_dir.c: Incomplete cleanup in TIFFFreeDirectory(), + patch from Gerben Koopmans. + + * libtiff/tif_dirread.c: Check field_passcount value before setting + the value of undefined type, patch from Gerben Koopmans. + +2004-01-02 Andrey Kiselev + + * tools/tiffcp.c: Fixed problem with wrong Photometric setting for + non-RGB images. + +2003-12-31 Andrey Kiselev + + * libtiff/tif_win32.c: Fixed problem with _TIFFrealloc() when the NULL + pointer passed. Patch supplied by Larry Grill. + + * libtiff/{tiff.h, tif_fax3.c}:Fixes for AMD 64 platform as + suggested by Jeremy C. Reed. + +2003-12-26 Andrey Kiselev + + * libtiff 3.6.1 released. + +2003-12-24 Andrey Kiselev + + * config.guess, config.sub: Updated from the recent upstream. + +2003-12-22 Andrey Kiselev + + * libtiff/{tif_color, tif_getimage.c, tiffio.h}, man/TIFFcolor.3t: + More cleanups in color conversion interface, added appropriate manual + page. + +2003-12-19 Andrey Kiselev + + * libtiff/{tif_extension.c, tif_dirinfo.c, tiff.h}: Warnings fixed as + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=357 + + * tools/tiff2ps.c: Added support for alpha channel. Fixes + + http://bugzilla.remotesensing.org/show_bug.cgi?id=428 + + * libtiff/{libtiff.def, tif_color.c, tif_getimage.c, tiffio.h}: + Interface for Lab->RGB color conversion is finally cleaned up. + Added support for ReferenceBlackWhite tag handling when converted from + YCbCr color space. The latter closes + + http://bugzilla.remotesensing.org/show_bug.cgi?id=120 + +2003-12-07 Andrey Kiselev + + * libtiff/{tif_getimage.c, tiffio.h}: Avoid warnings. + + * libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG + library. + +2003-12-06 Andrey Kiselev + + * libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the + file and properly use it for CIE Lab->RGB transform. + +2003-12-04 Andrey Kiselev + + * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: YCbCr->RGB + conversion routines now in the tif_color.c module. New function + TIFFYCbCrtoRGB() available in TIFF API. + + * libtiff/tif_dirwrite.c: Handle TIFF_IFD tag type correctly. + +2003-12-03 Andrey Kiselev + + * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: Improvements in + CIE Lab conversion code. Start moving YCbCr stuff to the tif_color.c + module. + + * libtiff/{tif_getimage.c, tiffio.h}, man{TIFFReadRGBAImage.3t, + TIFFReadRGBAStrip.3t, TIFFReadRGBATile.3t, TIFFRGBAImage.3t}: + Finally resolved problems with orientation handling. TIFFRGBAImage + interface now properly supports all possible orientations, i.e. images + will be flipped both in horizontal and vertical directions if + required. 'Known bugs' section now removed from the appropriate manual + pages. Closed bug entry: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=322 + +2003-12-02 Andrey Kiselev + + * libtiff/tif_dir.c: Fixed order of the parameters in TIFFError() + function calls as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=440 + +2003-11-28 Ross Finlayson + + * tools/tiff2pdf.c: Some bugs fixed. + +2003-11-27 Andrey Kiselev + + * libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine, + reported by Antonio Scuri. + + * man/tiff2pdf.1: Few improvements in page layout. + + * Makefile.in, /man/Makefile.in, /html/man/tiff2pdf.1.html: + Added support fpr tiff2pdf manual page. + +2003-11-26 Ross Finlayson + + * /man/tiff2pdf.1: File added to repository. + +2003-11-26 Andrey Kiselev + + * Makefile.in, /tools/{Makefile.in, makefile.vc}: + Added support fpr tiff2pdf utility. + +2003-11-25 Ross Finlayson + + * /tools/tiff2pdf.c: File added to repository. + +2003-11-22 Andrey Kiselev + + * /tools/raw2tiff.c: sqrtf() replaced with sqrt(). + +2003-11-21 Andrey Kiselev + + * /tools/raw2tiff.c: #include removed. + + * tools/{Makefile.in, tiffgt.c}: Unmaintained and platform dependent + sgigt utility removed and replaced with the completely rewritten + portable tiffgt tool (depend on OpenGL and GLUT). Initial revision, + there is a lot of things to improve. + + * libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly + extract the fields from the OJPEG files. Patch supplied by Ross + Finlayson. + + * libtiff/{tiffio.h, tif_codec.c}, man/{libtiff.3t, TIFFcodec.3t}: + Added new function TIFFIsCODECConfigured(), suggested by Ross + Finlayson. + +2003-11-18 Andrey Kiselev + + * libtiff/tif_dirinfo.c: Implemented binary search in + _TIFFMergeFieldInfo(). Patch supplied by Ross Finlayson. + + * libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced + with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson. + +2003-11-17 Frank Warmerdam + + * tif_dirread.c: do not mark all anonymously defined tags to be + IGNOREd. + +2003-11-17 Andrey Kiselev + + * contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use + TIFFDataWidth() function insted of tiffDataWidth array. + +2003-11-16 Andrey Kiselev + + * libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13) + datatype, intruduced in "Adobe PageMaker TIFF Tech. Notes". + +2003-11-15 Frank Warmerdam + + * Makefile.in: fixed missing backslash for tif_color.c in list. + +2003-11-13 Andrey Kiselev + + * libtiff/{tif_color.c, tif_getimage.c, tiffio.h, Makefile.in}: + New color space conversion code: CIE L*a*b* 1976 images now supported + by the TIFFRGBAImage interface. All introduced routines go to new + module tif_color.c. Eventually all color conversion functions should + be moved there. + +2003-11-12 Andrey Kiselev + + * tools/{ras2tiff.c, rasterfile.h}: Properly determine SUN Rasterfiles + with the reverse byte order (it is reported by the magic header + field). Problem reported by Andreas Wiesmann. + + * tools/raw2tiff.c, man/raw2tiff.1: Few improvements in correlation + calculation function. Guessing mechanics now documented in manual page. + +2003-11-11 Andrey Kiselev + + * tools/raw2tiff.c: Implemented image size guessing using + correlation coefficient calculation between two neighbour lines. + +2003-11-09 Frank Warmerdam + + * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the + planarconfig_contig case in TIFFComputeTile(). + + http://bugzilla.remotesensing.org/show_bug.cgi?id=387 + +2003-11-09 Andrey Kiselev + + * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint. + +2003-11-07 Andrey Kiselev + + * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}: + Added TIFFRawStripSize() function as suggested by Chris Hanson. + +2003-11-03 Andrey Kiselev + + * libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode as + per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=424 + +2003-10-29 Andrey Kiselev + + * libtiff/libtiff.def: Added TIFFReadRGBAImageOriented. + + * html/build.html: Added note about GNU make requirement. + +2003-10-25 Andrey Kiselev + + * Makefile.in: Fixes in using MAKEFLAGS as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=418 + + * port/install.sh.in: Option -p added to the mkdir command to create + all directory tree structure before installing. + +2003-10-18 Andrey Kiselev + + * /tools/tiff2ps.c: #include replaced with the + #include . + +2003-10-16 Andrey Kiselev + + * Makefile.in: Add an absolute path to the test_pics.sh call. + +2003-10-12 Andrey Kiselev + + * libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD + typedefs. + +2003-10-09 Andrey Kiselev + + * configure, libtiff/{Makefile.in, mkversion.c}: + Relative buildings fixed. + + * tools/Makefile.in: Added "-I../libtiff" to the tiffset building + rule. + +2003-10-07 Andrey Kiselev + + * Makefile.in: Added missed v3.6.0.html. + + * libtiff/tiffio.h: Typo fixed: ORIENTATION_BOTTOMLEFT replaced with + ORIENTATION_BOTLEFT. + +2003-10-04 Andrey Kiselev + + * 3.6.0 final release. + +2003-10-03 Andrey Kiselev + + * libtiff/{tif_getimage.c, tiffio.h}, man/TIFFReadRGBAImage.3t: New + function TIFFReadRGBAImageOriented() implemented to retrieve raster + array with user-specified origin position as suggested by Jason Frank. + See + + http://bugzilla.remotesensing.org/show_bug.cgi?id=322 + + for details. + + * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented() + instead of TIFFReadRGBAImage(). + + * tools/tiff2ps.c: Fixed possible endless loop as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=404 + +2003-09-30 Andrey Kiselev + + * libtiff/tif_dirread.c: Check field counter against number of fields + in order to fix + + http://bugzilla.remotesensing.org/show_bug.cgi?id=366 + + * libtiff/tif_fax3.c: Fix wrong line numbering as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=342 + +2003-09-25 Andrey Kiselev + + * libtiff/{tiffiop.h, tif_dirread.c, tif_dir.c, tif_open.c, + tif_close.c}: Store a list of opened IFD to prevent looping as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=383 + +2003-09-23 Andrey Kiselev + + * libtiff/tif_dirread.c: More fixes for EstimateStripByteCounts(). See + + http://bugzilla.remotesensing.org/show_bug.cgi?id=358 + +2003-08-21 Andrey Kiselev + + * tools/tiffmedian.c: int declaration replaced with the uint32 to + support large images as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=382 + +2003-08-12 Andrey Kiselev + + * libtiff/Makefile.in: Fixed problem with building in different + directory. + + * tools/tiff2ps.c: Added missing #include . + + * libtiff/tif_dirwrite.c: More fixes for custom tags code + from Ashley Dreier. + +2003-08-07 Andrey Kiselev + + * tools/tiff2ps.c: Added page size setting when creating PS Level 2. + Patch submitted by Balatoni Denes (with corrections from Tom + Kacvinsky). + + * tools/tiff2ps.c: Fixed PS comment emitted when FlateDecode is + being used. Reported by Tom Kacvinsky. + + * libtiff/tif_dirwrite.c: Fixed problem with custom tags writing, + reported by Ashley Dreier. + + * libtiff/tif_print.c: Fixed problem with float tags reading, support + for printing RATIONAL and BYTE tags added. + +2003-08-05 Andrey Kiselev + + * libtiff/tif_lzw.c: Move LZW codec state block allocation back to + TIFFInitLZW(), because its initialization in LZWSetupDecode() cause + problems with predictor initialization. Remove O_RDONLY check during + state block allocation to be able open LZW compressed files in update + mode. + + Problem exist for libtiff version of the tif_lzw.c module. One from + lzw-compression-kit hasn't such troubles. + +2003-08-04 Frank Warmerdam + + * libtiff/tif_write.c: modified tif_write.c so that the various + encoded write functions use tif_postdecode() to apply byte order + swapping (swab) to the application passed data buffer if the same + would be done when reading. This allows us to write pixel data with + more than 8 bits per sample to existing files of a non-native byte + order. One side effect of this change is the applications buffer + itself is altered in this case by the act of writing. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=171 + +2003-07-25 Frank Warmerdam + + * libtiff/tif_open.c: avoid signed/unsigned casting warning + initializing typemask as per patch from J.A. Strother. + + * tools/tiffcp.c: fixed signed/unsigned casting warning. + + * libtiff/tif_print.c: dos2unix conversion. + + * tools/tiffsplit.c: increased the maximum number of pages that + can be split. Patch provided by Andrew J. Montalenti. + +2003-07-11 Andrey Kiselev + + * tools/raw2tiff.c: Added option `-p' to explicitly select color + space of input image data. Closes + + http://bugzilla.remotesensing.org/show_bug.cgi?id=364 + +2003-07-08 Frank Warmerdam + + * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c, + tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c, + tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c: + avoid casting warning at /W4. + +2003-07-03 Andrey Kiselev + + * tools/thumbnail.c: Memory leak fixed as reported by Robert S. Kissel. + +2003-06-30 Andrey Kiselev + + * libtiff/tif_pixarlog.c: Unused variables removed. + + * libtiff/{tif_dirread.c, tif_dir.c}: Fixed problem with + EstimateStripByteCounts() as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=358 + + * libtiff/{tif_dirwrite.c, tif_packbits.c}: Fixed compilation on + 64-bit architectures as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=357 + + * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of + unknown data type. + +2003-06-19 Frank Warmerdam + + * libtiff/tif_print.c: fixed some serious bugs when printing + custom tags ... almost certain to crash. + + * libtiff/tif_dirread.c: Don't ignore custom fields that are + autodefined. Not sure how this got to be like this. + +2003-06-18 Andrey Kiselev + + * 3.6.0 Beta2 released. + + * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data + comparing as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=349 + + `-z' option now can be used to set the number of reported different + bytes. + +2003-06-09 Andrey Kiselev + + * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1 + to -r option to get the entire image as one strip. See + + http://bugzilla.remotesensing.org/show_bug.cgi?id=343 + + for details. + +2003-06-04 Andrey Kiselev + + * tools/tiffcp.c: Set the correct RowsPerStrip and PageNumber + values as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=343 + +2003-05-27 Frank Warmerdam + + * libtiff/tif_jpeg.c: modified segment_height calculation to always + be a full height tile for tiled images. Also changed error to just + be a warning. + +2003-05-25 Andrey Kiselev + + * tools/fax2tiff.c: Page numbering fixed, as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=341 + +2003-05-20 Andrey Kiselev + + * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README}, + configure, Makefile.in: Switched back to the old behaviour. Likely + better solution should be found for OJPEG support. + +2003-05-11 Andrey Kiselev + + * libtiff/mkversion.c: Fixed problem with wrong string size when + reading RELEASE-DATE file. + +2003-05-07 Andrey Kiselev + + * tools/tiff2ps.c: Fixed bug in Ascii85EncodeBlock() function: array + index was out of range. + +2003-05-06 Andrey Kiselev + + * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README}, + configure, Makefile.in: Improved libtiff compilation with OJPEG + support. Now no need for patching IJG JPEG library, hack requred by + libtiff will be compiled and used in-place. Implemented with + suggestion and help from Bill Allombert, Debian's libjpeg maintainer. + + * libtiff/tif_aux.c: Properly handle TIFFTAG_PREDICTOR in + TIFFVGetFieldDefaulted() function. + +2003-05-05 Andrey Kiselev + + * tools/ppm2tiff.c: PPM header parser improved: now able to skip + comments. + + * tools/tiffdither.c: Fixed problem with bit fill order tag setting: + was not copied from source image. + + * libtiff/getimage.c: Workaround for some images without correct + info about alpha channel as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=331 + +2003-04-29 Andrey Kiselev + + * tools/tiff2ps.c, man/tiff2ps.1: Add ability to generate PS Level 3. + It basically allows one to use the /flateDecode filter for ZIP + compressed TIFF images. Patch supplied by Tom Kacvinsky. Fixes + + http://bugzilla.remotesensing.org/show_bug.cgi?id=328 + + * tools/tiff2ps.c: Force deadzone printing when EPS output specified + as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=325 + +2003-04-17 Andrey Kiselev + + * libtiff/tif_dirread.c: Removed additional check for StripByteCounts + due to problems with multidirectory images. Quality of error messages + improved. + +2003-04-16 Andrey Kiselev + + * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG + encoded images. See bug entries + + http://bugzilla.remotesensing.org/show_bug.cgi?id=275 + + and + + http://bugzilla.remotesensing.org/show_bug.cgi?id=23 + + * libtiff/tif_dirread.c: Additional check for StripByteCounts + correctness. Fixes + + http://bugzilla.remotesensing.org/show_bug.cgi?id=320 + +2003-03-12 Andrey Kiselev + + * tools/{fax2ps.c, fax2tiff.c, gif2tiff.c, pal2rgb.c, ppm2tiff.c, + ras2tiff.c, raw2tiff.c, rgb2ycbcr.c, thumbnail.c, tiff2bw.c, + tiff2ps.c, tiff2rgba.c, tiffcp.c, tiffdither.c, tiffinfo.c, + tiffmedian.c}: Added library version reporting facility to all tools. + +2003-03-06 Frank Warmerdam + + * port/install.sh.in: Fixed problems with install producing paths + like ///usr/local/lib on cygwin. + +2003-02-27 Andrey Kiselev + + * tools/fax2tiff.c, man/fax2tiff.1: New switch (-X) to set width of + raw input page. Patch supplied by Julien Gaulmin. See + + http://bugzilla.remotesensing.org/show_bug.cgi?id=293 + + for details. + +2003-02-26 Frank Warmerdam + + * libtiff/tif_dir.c: fixed up the tif_postdecode settings + responsible for byte swapping complex image data. + + * libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till + LZWSetupDecode(). Needed to read LZW files in "r+" mode. + +2003-02-07 Andrey Kiselev + + * tools/ppm2tiff.c: Fixed problem with too many arguments. + +2003-02-04 Andrey Kiselev + + * tools/raw2tiff.c: Memory leak fixed. + +2003-02-03 Andrey Kiselev + + * tools/fax2tiff.c, man/fax2tiff.1: Applied patch from Julien Gaulmin + (thanks, Julien!). More switches for fax2tiff tool for better control + of input and output. Details at + + http://bugzilla.remotesensing.org/show_bug.cgi?id=272 + +2003-02-03 Frank Warmerdam + + * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg + library so that we can check if there is already any tile/strip data + before deciding between creating a compressor or a decompressor. + +2003-01-31 Frank Warmerdam + + * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is + a pre-existing compressed image. That is, image writing to + pre-existing compressed images is not allowed. + + * libtiff/tif_open.c: Removed error if opening a compressed file + in update mode. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=198 + +2003-01-31 Andrey Kiselev + + * config.guess, config.sub: Updated to recent upstream versions. + +2003-01-15 Frank Warmerdam + + * cut 3.6.0 Beta release. + +2002-12-20 Andrey Kiselev + + * tools/fax2ps.c, man/fax2ps.1: Page size was determined + in wrong way as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=239 + +2002-12-17 Frank Warmerdam + + * libtiff/tif_dirread.c: Allow wrong sized arrays in + TIFFFetchStripThing(). + + http://bugzilla.remotesensing.org/show_bug.cgi?id=49 + +2002-12-02 Frank Warmerdam + + * libtiff/tif_dir.c: fix problem with test on td_customValueCount. + Was using realloc even first time. Fix by Igor Venevtsev. + +2002-11-30 Frank Warmerdam + + * libtiff/tif_dir.c: fixed bug with resetting an existing custom + field value. + + * libtiff/tif_dir.c: Fixed potential problem with ascii "custom" + tags in TIFFVGetField() ... added missing break. + +2002-10-14 Frank Warmerdam + + * tools/tiff2ps.c: fixes a problem where "tiff2ps -1e" did not make + the scanline buffer long enough when writing rgb triplets. + The scanline needs to be 3 X the number of dots or else it will + contain an incomplete triplet and programs that try to separate + the eps by redefining the colorimage operator will get messed up. + Patch supplied by William Bader. + + * Makefile.in: added tif_extension.c to file list as per + http://bugzilla.remotesensing.org/show_bug.cgi?id=218. + +2002-10-11 Andrey Kiselev + + * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for + large files (>2GiB) supporting. New option in the config.site: + LARGEFILE="yes". Should be enough for I/O of the large files. + +2002-10-10 Frank Warmerdam + + * libtiff/html/v3.6.0.html: new release notes. + + * libtiff/index.html: removed faq, cvs snapshot cruft. Added email + link for Andrey. Pointer to v3.6.0.html. + + * libtiff/Makefile.in: added direct rule for tiffvers.h for release. + +2002-10-07 Andrey Kiselev + * tools/tiff2ps.c, man/tiff2ps.1: Applied patch form Sebastian Eken + (thanks, Sebastian!). New switches: + -b # for a bottom margin of # inches + -c center image + -l # for a left margin of # inches + -r rotate the image by 180 degrees + New features merged with code for shrinking/overlapping. + Previously added -c and -n switches (for overriding PS units) renamed + in -x and -y respectively. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=200 + + * html/man/*.html: Updated from actual manual pages. + +2002-10-06 Frank Warmerdam + + * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong + size on windows. Use #define boolean hack. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=188 + + * libtiff/tiff.h: Don't do special type handling in tiff.h unless + USING_VISUALAGE is defined. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + +2002-10-03 Frank Warmerdam + + * libtiff/tiff.h: added COMPRESSION_JP2000. + +2002-10-02 Andrey Kiselev + + * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays + by the TIFFFetchByteArray() function. Should finally resolve + + http://bugzilla.remotesensing.org/show_bug.cgi?id=52 + + * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT + + * html/Makefile.in: New targets added: html and groffhtml for + producing HTML representations of the manual pages automatically. + html target uses man2html tool, groffhtml uses groff tool. + +2002-09-29 Frank Warmerdam + + * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support + from John H. DuBois III. + +2002-09-15 Andrey Kiselev + + * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added + manual page for raw2tiff(1) tool. + +2002-09-12 Andrey Kiselev + + * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to + the tiffio.h header file. + + * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added + manual page for TIFFDataWidth() function + +2002-09-08 Frank Warmerdam + + * libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair() + as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196. + + * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments + since we are unable to properly include the amount to skip. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=80 + +2002-09-02 Andrey Kiselev + + * /libtiff/tif_dirread.c: Fixed problem with SBYTE type data fetching + in TIFFFetchByteArray(). Problem described at + http://bugzilla.remotesensing.org/show_bug.cgi?id=52 + +2002-08-22 Andrey Kiselev + + * /libtiff/tif_dirinfo.c: Further additions to free custom fields + in _TIFFSetupFieldInfo() function. + See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details. + + * /libtiff/tif_lzw.c: Additional consistency checking added in + LZWDecode() and LZWDecodeCompat(). + Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190 + and http://bugzilla.remotesensing.org/show_bug.cgi?id=100 + + * /libtiff/tif_lzw.c: + Added check for valid code lengths in LZWDecode() and + LZWDecodeCompat(). Fixes + http://bugzilla.remotesensing.org/show_bug.cgi?id=115 + +2002-08-16 Andrey Kiselev + + * /libtiff/{Makefile.vc, libtiff.def}: + Missed declarations added. + +2002-08-15 Frank Warmerdam + + * tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the + return code from the underlying pick function. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=177 + + * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap + with FIELD_CUSTOM as mentioned in bug 169. + + * tif_close.c: added logic to free dynamically created anonymous + field definitions to correct a small memory leak. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=169 + +2002-08-10 Andrey Kiselev + + * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}: + New tool: raw2tiff --- raw images to TIFF converter. No manual page yet. + +2002-07-31 Frank Warmerdam + + * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in + JPEGDecode() as per bugzilla bug (issue 1): + + http://bugzilla.remotesensing.org/show_bug.cgi?id=129 + + * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to + fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't + present in the tiff tags. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=168 + + * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and + TIFFWriteScanline() now set tif_row explicitly in case the codec has + fooled with the value. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=129 + +2002-06-22 Andrey Kiselev + + * /tools/tiff2ps.c: Added workaround for some software that may crash + when last strip of image contains fewer number of scanlines than + specified by the `/Height' variable. See + http://bugzilla.remotesensing.org/show_bug.cgi?id=164 + for explanation. + +2002-06-21 Andrey Kiselev + + * tools/tiff2ps, man/tiff2ps.1: New functionality for tiff2ps utility: + splitting long images in several pages. See + http://bugzilla.remotesensing.org/show_bug.cgi?id=142 for explanation. + Patch granted by John Williams . + +2002-06-11 Frank Warmerdam + + * libtiff/contrib/win95: renamed to contrib/win_dib. Added new + Tiffile.cpp example of converting TIFF files into a DIB on Win32. + This one is described in: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=143 + + * libtiff/tif_ojpeg.c: Major upgrade from Scott. See details at: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=156 + +2002-05-10 Andrey Kiselev + + * tools/tiff2ps: New commandline switches to override resolution + units obtained from the input file. Closes + http://bugzilla.remotesensing.org/show_bug.cgi?id=131 + +2002-04-26 Andrey Kiselev + + * libtiff/libtiff.def: Added missed declaration. + +2002-04-22 Andrey Kiselev + + * tools/fax2tiff.c: Updated to reflect latest changes in libtiff. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125 + +2002-04-20 Andrey Kiselev + + * libtiff/tif_open.c: Pointers to custom procedures + in TIFFClientOpen() are checked to be not NULL-pointers. + +2002-04-18 Andrey Kiselev + + * libtiff/libtiff.def: Added missed declarations. + + * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure. + +2002-04-16 Andrey Kiselev + + * libtiff/tif_lzw.c: Additional checks for data integrity introduced. + Should finally close + http://bugzilla.remotesensing.org/show_bug.cgi?id=100 + +2002-04-10 Andrey Kiselev + + * tools/tiff2ps: Division by zero fixed. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88 + +2002-04-09 Andrey Kiselev + + * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h: + TIFFCheckpointDirectory() routine added. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124 + + * man/: TIFFWriteDirectory.3t, Makefile.in: Added description + for the new function. + +2002-04-08 Andrey Kiselev + + * libtiff/: tif_codec.c, tif_compress.c, tiffiop.h: Introduced + additional members tif->tif_decodestatus and tif->tif_encodestatus + for correct handling of unconfigured codecs (we should not try to read + data or to define data size without correct codecs). + + * libtiff/tif_getimage.c: The way of codecs checking in TIFFRGBAImageOK + changed. Now it has used tif->tif_decodestatus and + tif->tif_encodestatus. + Should fix http://bugzilla.remotesensing.org/show_bug.cgi?id=119 (in + case of __cvs_8.tif test image). + + * libtiff/: tif_dirinfo.c, tif_dirread.c: Somebody makes a bug in + tif_dirread.c when TIFFCreateAnonFieldInfo was introduced. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=119 in case + of _cvs_00000-00.tif, _cvs_00000-01.tif and _cvs_00000-02.tif. + +2002-04-04 Andrey Kiselev + + * libtiff/: tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat + replaced by warnings. Now libtiff should read corrupted LZW-compressed + files by skipping bad strips. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100 + +2002-04-03 Frank Warmerdam + + * libtiff/tif_dirwrite.c: Removed some dead code. + + * libtiff/*: Cleanup some warnings. + + * libtiff/tif_dir.c: Fixed bug with count returned by TIFFGetField() + for variable length FIELD_CUSTOM values. Was int * but should be + u_short *. + +2002-04-01 Andrey Kiselev + + * tools/: tifcp.c: Added support for 'Orientation' tag in tiffcp + utility (at cpStripToTile routine). + +2002-03-27 Frank Warmerdam + + * tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=111 + + * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with + passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE). + + * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so + that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example. + +2002-03-26 Dwight Kelly + + * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, + tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined + in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec + INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: + CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and + INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9). + +2002-03-26 Andrey Kiselev + + * libtiff/: tif_getimage.c: TIFFReadRGBAStrip and TIFFReadRGBATile + now also uses TIFFRGBAImageOK before reading. This is additional fix + for http://bugzilla.remotesensing.org/show_bug.cgi?id=110 + +2002-03-25 Andrey Kiselev + + * libtiff/: tif_getimage.c: Additional check for supported + codecs added in TIFFRGBAImageOK and TIFFReadRGBAImage now uses + TIFFRGBAImageOK before reading. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=110 + +2002-03-15 Andrey Kiselev + + * libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, + tif_dirwrite.c: Added routine TIFFDataWidth for detrmining + TIFFDataType sizes instead of working with tiffDataWidth array + directly. Should prevent out-of-borders bugs in case of unknown or + broken data types. EstimateStripByteCounts routine modified, so it + won't work when tags with uknown sizes founded. + Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=109 + +2002-03-13 Andrey Kiselev + + * libtiff/tif_getimage.c: Added support for correct handling + `Orientation' tag in gtTileContig. Should be added in other gt* + functions as well, but I have not images for testing yet. Partially + resolves http://bugzilla.remotesensing.org/show_bug.cgi?id=23 + +2002-03-10 Andrey Kiselev + + * libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to + read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION, + TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC. Closes + http://bugzilla.remotesensing.org/show_bug.cgi?id=99 + +2002-03-08 Andrey Kiselev + + * libtiff/Makefile.in, tools/Makefile.in: Shared library will not + be stripped when installing, utility binaries will do. Closes + http://bugzilla.remotesensing.org/show_bug.cgi?id=93 + +2002-02-28 Frank Warmerdam + + * man/TIFFGetField: fixed type of TIFFTAG_COPYRIGHT. + + * man/libtiff.3t: added copyright tag info. + +2002-02-11 Frank Warmerdam + + * libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=94 + + * man/Makefile.in: Patch DESTDIR handling + + http://bugzilla.remotesensing.org/show_bug.cgi?id=95 + + * configure: OpenBSD changes for Sparc64 and DSO version. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=96 + +2002-02-05 Frank Warmerdam + + * config.site/configure: added support for OJPEG=yes option to enable + OJPEG support from config.site. + +2002-01-27 Frank Warmerdam + + * html/document.html: fixed links for TIFf 6 docs. + +2002-01-18 Frank Warmerdam + + * config.guess, config.sub: Updated from ftp.gnu.org/pub/config. + + * libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the + decodestrip function returns anything not greater than zero as per + http://bugzilla.remotesensing.org/show_bug.cgi?id=97 + + * configure: Modify CheckForBigEndian so it can work in a cross + compiled situation. + +2002-01-16 Frank Warmerdam + + * tools/tiffdump.c: include TIFFTAG_JPEGTABLES in tag list. + + * tools/tiffset.c: fix bug in error reporting. + + * tools/tiffcp.c: fix several warnings that show up with -Wall. + +2002-01-04 Frank Warmerdam + + * libtiff/tif_jpeg.c: fixed computation of segment_width for + tiles files to avoid error about it not matching the + cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile + size.") for ITIFF files. Apparently the problem was incorporated since + 3.5.5, presumably during the OJPEG/JPEG work recently. + +2001-12-15 Frank Warmerdam + + * configure, libtiff/Makefile.in: Changes for building on MacOS 10.1. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=94 + + * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 + (defined in tiffconf.h - 1 by default) then the RGBA interface + will assume that a fourth extra sample is ASSOCALPHA if the + EXTRASAMPLE value isn't set for it. This changes the behaviour of + the library, but makes it work better with RGBA files produced by + lots of applications that don't mark the alpha values properly. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=93 + http://bugzilla.remotesensing.org/show_bug.cgi?id=65 + +2001-12-12 Frank Warmerdam + + * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to + override those from tiff directory. This makes this work with + ImageGear generated files. + +2001-12-07 Frank Warmerdam + + * html/Makefile.in: added missing images per bug 92. + + * port/Makefile.in: fixed clean target per bug 92. + +2001-11-28 Frank Warmerdam + + * Reissue 3.5.7 release. + + * libtiff/mkversion.c: Fix output of TIFF_VERSION to be + YYYYMMDD so that it is increasing over time. + + * Makefile.in: Ensure that tiffvers.h is regenerated in the + make release target. + + * Makefile.in: added libtiff/tiffvers.h to the release file list. + +2001-11-23 Frank Warmerdam + + * added html/v3.5.7.html, updated html/index.html. + + * Makefile.in: added contrib/addtiffo/tif_ovrcache.{c,h}. + +2001-11-15 Frank Warmerdam + + * configure: fixed test for -lm. + +2001-11-02 Frank Warmerdam + + * Added PHOTOMETRIC_ITULAB as per bug 90. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=90 + +2001-10-10 Frank Warmerdam + + * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, + COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases + in keeping with TIFF 6.0 standard in tiff.h + + http://bugzilla.remotesensing.org/show_bug.cgi?id=83 + +2001-09-26 Frank Warmerdam + + * libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function. + Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory. + +2001-09-24 Frank Warmerdam + + * libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=78 + + * libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an + error about LZW not being available. + + * libtiff/tif_dir.c: propagate failure to initialize compression + back from TIFFSetField() as an error status, so applications can + detect failure. + + * libtiff/tif_dir.c: removed the auto replacement of + COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField(). + + * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile + from CVS as they are all supposed to be auto-generated by configure. + +2001-09-22 Frank Warmerdam + + * libtiff/tif_ojpeg.c: new update from Scott. + +2001-09-09 Frank Warmerdam + + * libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to + always use the "safe" version, even if there is a very slight + cost in performance. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=54 + + * libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@ + in two places. + + * libtiff/tif_getimage.c: Fixed problem with reading strips or + tiles that don't start on a tile boundary. Fix contributed by + Josep Vallverdu (from HP), and further described in bug 47. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=47 + + * tools/tiff2ps.c: added OJPEG YCbCr to RGB support. + + * libtiff/tif_ojpeg.c: Applied substantial patch from Scott. + +2001-09-06 Frank Warmerdam + + * libtiff/tif_packbits.c: fixed memory overrun error. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=77 + +2001-08-31 Frank Warmerdam + + * libtiff/tif_getimage.c: relax handling of contig case where + there are extra samples that are supposed to be ignored. This + should now work for 8bit greyscale or palletted images. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=75 + +2001-08-28 Frank Warmerdam + + * libtiff/tif_getimage.c: Don't complain for CMYK (separated) + images with more than four samples per pixel. See: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=73 + +2001-08-10 Frank Warmerdam + + * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy() + in TIFFReadRGBATile() to avoid issues in cases of overlapping + buffers. See Bug 69 in Bugzilla. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=69 + + * tools/tiff2rgba.c: fixed getopt() call so that -b works again. + +2001-08-09 Frank Warmerdam + + * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ + when checking for 64 bit architectures as per bugzilla bug 67. + +2001-07-27 Frank Warmerdam + + * man/Makefile.in: add TIFFClientOpen link as per debian submitted + bug 66. + +2001-07-20 Frank Warmerdam + + * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H + has been included. + +2001-07-19 Frank Warmerdam + + * libtiff/tif_open.c: Seek back to zero after failed read, + before writing header. + +2001-07-18 Frank Warmerdam + + * libtiff/tif_ojpeg.c: updates from Scott. Handles colors + much better. Now depends on having patched libjpeg as per + patch in contrib/ojpeg/*. + +2001-07-17 Frank Warmerdam + + * */Makefile.in: added DESTDIR support. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=60 + +2001-07-16 Frank Warmerdam + + * configure, libtiff/Makefile.in: applied OpenBSD patches + as per: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=61 + +2001-06-28 Frank Warmerdam + + * libtiff/tif_getimage.c: Fixed so that failure is properly + reported by gtTileContig, gtStripContig, gtTileSeparate and + gtStripSeparate. + + See http://bugzilla.remotesensing.org/show_bug.cgi?id=51 + + * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare. + Updated bug section of tiffcmp.1 to note tiled file issues. + + See http://bugzilla.remotesensing.org/show_bug.cgi?id=53 + +2001-06-22 Frank Warmerdam + + * configure: Changes for DSO generation on AIX provided by + John Marquart . + + * configure, libtiff/Makeifle.in: Modified to build DSOs properly + on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and + Keisuke Fujii (fujiik@jlcuxf.kek.jp). + +2001-06-13 Frank Warmerdam + + * tools/tiff2rgba.c: added -n flag to avoid emitting alpha component. + + * man/tiff2rgba.1: new + +2001-05-22 Frank Warmerdam + + * Added tiffset and tif_ojpeg to the dist lists in Makefile.in. + +2001-05-13 Frank Warmerdam + + * libtiff/tools/thumbnail.c: changed default output compression + to packbits from LZW since LZW isn't generally available. + +2001-05-12 Frank Warmerdam + + * libtiff/tif_ojpeg.c: New. + libtiff/tif_jpeg.c, tiffconf.h, tif_getimage.c: changes related + to OJPEG support. + + Scott Marovich supplied OJPEG support. + +2001-05-11 Frank Warmerdam + + * tiff.h: removed, it duplicates libtiff/tiff.h. + +2001-05-08 Frank Warmerdam + + * libtiff/tif_dirinfo.c: moved pixar and copyright flags to + ensure everything is in order. + + * libtiff/libtiff.def: added TIFFCreateDirectory and + TIFFDefaultStripSize as per: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=46 + +2001-05-02 Frank Warmerdam + + * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for + TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to + force use of uint32 counts instead of short counts. + + * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the + case of writing TIFF_BYTE/TIFF_SBYTE fields. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=43 + +2001-05-01 Frank Warmerdam + + * libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per + bug report http://bugzilla.remotesensing.org/show_bug.cgi?id=44 + +2001-04-05 Frank Warmerdam + + * tiffio.h: removed C++ style comment. + + * configure: fixed up SCRIPT_SH/SHELL handling. + + * Makefile.in: Fixed SCRIPT_SH/SHELL handling. + + * config.guess: documented more variables as per bug 40. + +2001-04-03 Frank Warmerdam + + * configure, *Makefile.in: Various changes to improve configuration + for HP/UX specifically, and also in general. They include: + - Try to handle /usr/bin/sh instead of /bin/sh where necessary. + - Upgrade to HP/UX 10.x+ compiler, linker and dso options. + - Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP + - Use -${MAKEFLAGS} in sub makes from makefiles. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=40 + +2001-04-02 Frank Warmerdam + + * libtiff/tiff.h: Applied hac to try and resolve the problem + with the inttypes.h include file on AIX. + + See http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + + * VERSION: update to 3.5.7 beta in preparation for release. + + * configure/config.site: modified to check if -lm is needed for + MACHDEPLIBS if not supplied by config.site. Needed for Darwin. + + * config.guess: updated wholesale to an FSF version apparently + from 1998 (as opposed to 1994). This is mainly inspired by + providing for MacOS X support. + +2001-03-29 Frank Warmerdam + + * configure, Makefile.in, etc: added support for OPTIMIZER being + set from config.site. + +2001-03-28 Frank Warmerdam + + * fax2ps.c: Helge (libtiff at oldach.net) submitted fix: + + Here's a fix for fax2ps that corrects behaviour for non-Letter paper + sizes. It fixes two problems: + + Without scaling (-S) the fax is now centered on the page size specified + with -H and/or -W. Before, fax2ps was using an obscure and practially + useless algorithm to allocate the image relative to Letter sized paper + which sometime sled to useless whitespace on the paper, while at the + same time cutting of the faxes printable area at the opposite border. + + Second, scaling now preserves aspect ratio, which makes unusual faxes + (in particular short ones) print properly. + + See http://bugzilla.remotesensing.org/show_bug.cgi?id=35 + + * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by + Bruce A. Mallett. See check message for detailed information + on all the changes, including a faster encoder, fixes for level + 2 PostScript, and support for the imagemask operator. + +2001-03-27 Frank Warmerdam + + * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to + "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=39 + +2001-03-16 Frank Warmerdam + + * tif_dirinfo.c: moved definition of copyright tag in field list. + Apparently they have to be in sorted order by tag id. + +2001-03-13 Frank Warmerdam + + * tif_getimage.c: Added support for 16bit minisblack/miniswhite + images in RGBA interface. + +2001-03-02 Frank Warmerdam + + * Added TIFFTAG_COPYRIGHT support. + +2001-02-19 Frank Warmerdam + + * Brent Roman contributed updated tiffcp utility (and tiffcp.1) + with support for extracting subimages with the ,n syntax, and also + adding the -b bias removal flag. + +2001-02-16 Frank Warmerdam + + * libtiff/libtiff.def: Brent Roman submitted new version adding + serveral missing entry points. + + * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS. + Some sort of weird VMS thing. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=31 + + * tif_luv.c/tiff.h/tiffio.h: + New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward + (greg@shutterfly.com). He writes: + + 1) I improved the gamut-mapping function in tif_luv.c for imaginary + colors, because some images were being super-saturated on the input + side and this resulted in some strange color shifts in the output. + + 2) I added a psuedotag in tiff.h to control random dithering during + LogLuv encoding. This is turned off by default for 32-bit LogLuv and + on for 24-bit LogLuv output. Dithering improves the average color + accuracy over the image. + + 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in + tiffio.h, to expose internal routines for converting between LogLuv and + XYZ coordinates. This is helpful for writing more efficient, + specialized conversion routines, especially for reading LogLuv files. + + Changes applied with minor edits. + +2001-01-23 Frank Warmerdam + + * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember + whether we are encoding or decoding. This is to ensure graceful + recovery if TIFFClientOpen() discovers an attempt to open a compressed + file for "r+" access, and subsequently close it, as it resets the + tif_mode flag to O_RDONLY in this case to avoid writes, confusing the + compressor's concept of whether it is in encode or decode mode. + +2001-01-08 Mike Welles + + * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip + +2001-01-07 Frank Warmerdam + + * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet() + as per bug report by Patrick Connor. + +2000-12-28 Frank Warmerdam + + * Added RELEASE-DATE file to release file list. + + * Fixed libtiff/makefile.vc to make tiffvers.h not version.h. + +2000-12-22 Mike Welles + * added link to CVS mirror from index.html + + * updated html/internals.html to note that LZW compression is + not supported by default. + +2000-12-22 Frank Warmerdam + + * updated html/libtiff.html to not point at Niles' old JPL web site + for the man pages, point at www.libtiff.org. + +2000-12-21 Frank Warmerdam + + * libtiff/tif_apple.c: Applied "Carbon" support patches supplied by + Leonard Rosenthol . May interfere + with correct building on older systems. If so, please let me know. + +2000-12-19 Mike Welles + + * Took out LZW Encoding from tif_lzw.c + + * Created HOWTO-RELEASE + + * Created html/v3.5.6.html + + * updated index.html + +2000-12-01 Frank Warmerdam + + * Added patches for EOFB support in tif_fax3.c and tif_fax3.h. + Patches supplied by Frank Cringle + Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif + +2000-11-24 Frank Warmerdam + + * libtiff/Makefile.in: Added an installPrivateHdrs and install-private + target so that the private headers required by libgeotiff can be + installed with the others. They are not installed by default. + + * libtiff/Makefile.in: Added @MACHLIBDEPS@ to LINUXdso and GNULDdso + targets so libtiff.so will be built with an explicit dependency + on libm.so. + + * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to + libtiff.so.3.5.5. + + * libtiff/Makefile.in & configure: Remove all references to the ALPHA + file, or ALPHA version logic. Added stuff about DIST_POINT in + place of DIST_TYPE and the alpha release number stuff. + +2000-11-22 Frank Warmerdam + + * I have applied a patch from Steffen Moeller to + the configure script so that it now accepts the --prefix, and + --exec-prefix directives. + +2000-11-13 Frank Warmerdam + + * I have made a variety of modifications in an effort to ensure the + TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE + file which seems to be updated regularly. + + o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in + version include file. + o renamed version.h to tiffvers.h because we now have to install it + with the public libtiff include files. + o include tiffvers.h in tiffio.h. + o updated tif_version.c to use tiffvers.h. + o Updated Makefile.in accordingly. + + * As per http://bugzilla.remotesensing.org/show_bug.cgi?id=25 + I have updated the win32 detection rules in tiffcomp.h. + +2000-10-20 Frank Warmerdam + + * tif_getimage.c: Fixed RGBA translation for YCbCr images for which + the strip/tile width and height aren't multiples of the sampling size. + See http://bugzilla.remotesensing.org/show_bug.cgi?id=20 + Some patches from Rick LaMont of Dot C Software. + + * Modified tif_packbits.c encoder to avoid compressing more + data than provided if rowsize doesn't factor into provided data + (such as occurs for YCbCr). + +2000-10-19 Frank Warmerdam + + * tools/rgb2ycbcr.c: fixed output strip size to account for vertical + roundup if rows_per_strip not a multiple of vertical sample size. + +2000-10-16 Frank Warmerdam + + * tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory + as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18 + from vandrove@vc.cvut.cz. + + * Modified tif_packbits.c decoding to avoid overrunning the + output buffer, and to issue a warning if data needs to be + discarded. See http://bugzilla.remotesensing.org/show_bug.cgi?id=18 + +2000-10-12 Frank Warmerdam + + * Modified tiff2bw to ensure portions add to 100%, and that + white is properly recovered. + + See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15 + Patch c/o Stanislav Brabec + +2000-09-30 Frank Warmerdam + + * Modified TIFFClientOpen() to emit an error on an attempt to + open a comperessed file for update (O_RDWR/r+) access. This is + because the compressor/decompressor code gets very confused when + the mode is O_RDWR, assuming this means writing only. See + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=13 + +2000-09-27 Frank Warmerdam + + * Added GNULDdso target an`d switched linux and freebsd to use it. + +2000-09-26 Frank Warmerdam + + * Applied patch for 0x0000 sequences in tif_fax3.h's definition + of EXPAND1D() as per bug 11 (from Roman). + +2000-09-25 Frank Warmerdam + * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve + cygwin compatibility. + + * Applied patch from Roman Shpount to tif_fax3.c. This seems to + be a proper fix to the buffer sizing problem. See + http://bugzilla.remotesensing.org/show_bug.cgi?id=11 + + * Fixed tif_getimage.c to fix overrun bug with YCbCr images without + downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10 + Thanks to Nick Lamb for reporting the + bug and proving the patch. + +2000-09-18 Frank Warmerdam + + * Fixed tif_jpeg.c so avoid destroying the decompressor before + we are done access data thanks to bug report from: + Michael Eckstein . + + * Reverted tif_flush change. + +2000-09-14 Frank Warmerdam + + * tif_flush.c: Changed so that TIFFFlushData() doesn't return an + error when TIFF_BEENWRITING is not set. This ensures that the + directory contents can still be flushed by TIFFFlush(). + +2000-08-14 Frank Warmerdam + + * tif_open.c: Don't set MMAP for O_RDWR files. + + * tif_open.c: Set STRIPCHOP_DEFAULT for O_RDWR as well as O_RDONLY + so that files opened for update can be strip chopped too. + + * tif_read.c: fixed up bug with files missing rowsperstrip and + the strips per separation fix done a few weeks ago. + +2000-07-17 Frank Warmerdam + + * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and + SAMPLEFORMAT_COMPLEXINT. + +2000-07-13 Mike Welles + + * index.html, bugs.html: added bugzilla info. + +2000-07-12 Frank Warmerdam + + * tif_read.c: fix subtle bug with determining the number of + rows for strips that are the last strip in a separation but + not the last strip of all in TIFFReadEncodedStrip(). + + * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by + Peter Skarpetis + +2000-06-15 Frank Warmerdam + + * Modified tiffio.h logic with regard to including windows.h. It + won't include it when building with __CYGWIN__. + +2000-05-11 Frank Warmerdam + + * README: update to mention www.libtiff.org, don't list Sam's old + email address. + + * configure: Fixed DSO test for Linux as per patch from + Jan Van Buggenhout . + +2000-04-21 Frank Warmerdam + + * libtiff/tif_dirread.c: Don't use estimate strip byte count for + one tile/strip images with an offset, and byte count of zero. These + could be "unpopulated" images. + +2000-04-18 Frank Warmerdam + + * contrib/addtiffo: Added "averaging" resampling option. + + * tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT. + +Tue Apr 18 16:18:08 2000 Frank Warmerdam + + * tools/Makefile.in: Modified to install properly on SGI. + +2000-04-12 Mike Welles + * configure: Fixed stupid mistake in libc6 test on Linux + +2000-04-04 Mike Welles + * tif_win32.c: Applied patch to fix overreads and ovverwrites + caught by BoundsChecker. From Arvan Pritchard + (untested). + + * tif_getimage.c: Applied patch to silence VC6 warnings. From + Arvan Pritchard + + * tif_lzw.c: Applied patch to silence VC6 warnings. From + Arvan Pritchard + +2000-03-28 Frank Warmerdam + + * Added contrib/stream (stream io) code submitted by Avi Bleiweiss. + +2000-03-28 Frank Warmerdam *** 3.5.5 release *** + + * fax2ps: Fixed mixup of width and height in bounding box statement + as per submission by Nalin Dahyabhai . + +2000-03-27 Mike Welles + + * fax2ps: Modified printruns to take uint32 instead of uint16. + Patch courtesy of Bernt Herd + +2000-03-20 Mike Welles + + * configure: added test for libc6 for linux targets. Bug reported by + Stanislav Brabec + + * Added 3.5 docs to html/Makefile.in. + Thanks to Stanislav Brabec + + * configure: fixed bugs in sed scripts + (applied sed script s:/@:s;@:;s:/s;;:;: to configure). + fix submitted to Stanislav Brabec + + * tools/iptcutil was not in files list, and wasn't being + added to tar archive. Updated Makefile.in. + +2000-03-17 Frank Warmerdam + + * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32 + conversion for the run arrays. + +2000-03-03 Frank Warmerdam + + * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of + SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c. + +2000-03-02 Frank Warmerdam + + * Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c. + + * Patched tif_fax3.c so that dsp->runs is allocated a bit bigger + to avoid overruns encountered with frle_bug.tif. + +Tue Feb 15 22:01:05 2000 Frank Warmerdam + + * Fixed tools/tiffcmp so that stopondiff testing works. + Patch care of Joseph Orost . + +2000-01-28 + + * Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is + set to 1, and added default (off) setting in tiffconf.h. This + should eventually be set by the configure script somehow. + + The original work on all these 2-4GB changes was done by + Peter Smith (psmith@creo.com). + + * Modified tif_win32.c to support 2-4GB seeks. + + * tentatively changed toff_t to be unsigned instead of signed to + facilitate support for 2-4GB files. + + * Updated a variety of files to use toff_t. Fixed some mixups + between toff_t and tsize_t. + +Fri Jan 28 10:13:49 2000 Frank Warmerdam + + * Largely reimplemented contrib/addtiffo to avoid temp files, + updating the TIFF file in place. Fixed a few other bugs to. + + * Set tif_rawdatasize to zero when freeing raw data buffer in + TIFFWriteDirectory(). + + * Enabled "REWRITE_HACK" in tif_write.c by default. + + * Fix bug in tif_write.c when switching between reading one directory + and writing to another. + + * Made TIFFWriteCheck() public, and added TIFFCreateDirectory() + +Wed Jan 5 12:37:48 2000 Frank Warmerdam + + * Added TIFFmemory(3t) functions to libtiff.def. + +Tue Jan 4 13:39:00 2000 Frank Warmerdam + + * Added libtiff/libtiff.def to TIFFILES distribution list. + +Mon Dec 27 12:13:39 EST 1999 Mike Welles + + * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit). + + * Altered descriptions in tools to reflect "by default" lzw not supported + + * Updated index.html to note lzw compression kit. + +Tue Dec 21 14:01:51 1999 Frank Warmerdam + + * Added fax3sm_winnt.c to distribution list in Makefile.in. + +Tue Dec 21 11:04:45 EST 1999 Mike Welles *** 3.5.4 release *** + + * Aadded Pixar tag support. Contributed by Phil Beffery + + * Made one more change to tif_dir.c for removal of LZW compression. Also added notice + when LZW compression invoked. + + * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions + in tools to reflect removal of LZW compression + +Mon Dec 20 18:39:02 EST 1999 Mike Welles + + * Fixed bug that caused LZW (non) compression to segfault. Added + warning about LZW compression removed being removed, and why. + + * Added nostrip to install in tools/Makefile.in so that debugging + symbols are kept. + +Tue Dec 7 12:04:47 EST 1999 Mike Welles + + * Added patch from Ivo Penzar , + supporting Adobe ZIP deflate. Untested. + +Sat Dec 4 15:47:11 1999 Frank Warmerdam + + * Made Packbits the default compression in tools/tiff2rgba.c instead + of LZW. + +Tue Nov 30 14:41:43 1999 Frank Warmerdam *** 3.5.3. release *** + + * Added tif_luv to contrib/djgpp/Makefile.lib. + +Tue Nov 30 14:15:32 EST 1999 Mike Welles + + * Added zip creation to relase makefile target + + * Added html for TIFFWriteTile.3t man page. + +Tue Nov 30 09:20:16 1999 Frank Warmerdam + + * Added some changes to tif_write.c to support rewriting existing + fixed sized tiles and strips. Code mods disabled by default, only + enabled if REWRITE_HACK is defined for now. + +Mon Nov 29 11:43:42 1999 Frank Warmerdam + + * Added TIFFWriteTile.3t man page. + +Sun Nov 28 20:36:18 1999 Frank Warmerdam + + * Added notes on use of makefile.vc in build.html, and fixed + email subscription address. + +199-11-28 Mike Welles + + * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c + + * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c, + from Bruce Carmeron -- modifications of + changes made by Frank (sun cc still complained on cast). + + * Added tiffconf.h to install target per request from Bill + Radcliffe : "We need a way for ImageMagick to + know features have been compiled into the TIFF library in order to + handle things properly". + +Sat Nov 27 16:49:21 1999 Frank Warmerdam + + * fixed various VC++ warnings as suggested by Gilles Vollant + . + +Wed Nov 24 12:08:16 1999 Frank Warmerdam + + * Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to + not imply applications are responsible for image data swapping. + +1999-11-22 Mike Welles + * HTML-ized the man pages, added to html/man + + * Removed LZW Compression to comply with Unisys patent extortion. + +1999-09-29 Mike Welles + * Corrected one remaining 16 -> 32 bit value in tif_fax3.c, + From Ivo Penzar + +1999-09-26 Mike Welles *** 3.5.2 release *** + * Corrected alpha versioning. + + * Removed distinction between alpha and release targets in Makefile.in. + + * added release.stamp target, which tags cvs tree, and updates + "RELEASE-DATE" + + * added releasediff target, which diffs tree with source as of + date in "RELEASE-DATE" + + * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving + away from alpha/non-alpha distinctions). + + * updated html to reflect release + +1999-09-23 + + * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance. + + * Added CYGWIN case in configure. + +Fri Sep 17 00:13:51 CEST 1999 Mike Welles + + * Applied Francois Dagand's patch to handle fax decompression bug. + (sizes >= 65536 were failing) + +Tue Sep 14 21:31:43 1999 Frank Warmerdam + + * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested + by Christopher Lawton + +Wed Sep 8 08:19:18 1999 Frank Warmerdam + + * Added IRIX/gcc, and OSF/1 4.x support on behalf of + Albert Chin-A-Young + + * Added TIFFReassignTagToIgnore() API on behalf of + Bruce Cameron . Man page still pending. + +Wed Aug 25 11:39:07 1999 Frank Warmerdam + + * Added test target in Makefile, test_pics.sh script and pics/*.rpt + files to provide for a rudimentary testsuite. + + * Added contrib/tags back from old distribution ... fixed up a bit. + +1999-08-16 + + * Added simple makefile.vc makefiles for building with MS VC++ + on Windows NT/98/95 in console mode. Stuff in contrib/win* make give + better solutions for some users. + +Mon Aug 16 21:52:11 1999 Frank Warmerdam + + * Added addtiffo (add overviews to a TIFF file) in contrib. Didn't + put it in tools since part of it is in C++. + +1999-08-16 Michael L. Welles + + * Updated html/index.html with anon CVS instructions. + +Mon Aug 16 13:18:41 1999 Frank Warmerdam + + * pre-remove so link before softlink in LINUXdso action in + libtiff/Makefile.in to avoid failure on LINUXdso builds other than + the first. + + * Fixed problem with cvtcmap() in tif_getimage.c modifying the + colormaps owned by the TIFF handle itself when trying to fixup wrong + (eight bit) colormaps. Corrected by maintaining a private copy of + the colormap. + + * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in + tif_getimage.c. + + * CVS Repository placed at remotesensing.org. ChangeLog added. diff --git a/src/3rdparty/libtiff/HOWTO-RELEASE b/src/3rdparty/libtiff/HOWTO-RELEASE new file mode 100644 index 0000000..d6035a5 --- /dev/null +++ b/src/3rdparty/libtiff/HOWTO-RELEASE @@ -0,0 +1,105 @@ +HOWTO-RELEASE: + +Notes on releasing. + +0. Make sure that you have current FSF releases of autoconf, automake, + and libtool packages installed under a common installation prefix + and that these tools are in your executable search path prior to + any other installed versions. Versions delivered with Linux may be + altered so it is best to install official FSF releases. GNU 'm4' + 1.4.6 or later is needed in order to avoid bugs in m4. These + packages may be downloaded from the following ftp locations: + + autoconf - ftp://ftp.gnu.org/pub/gnu/autoconf + automake - ftp://ftp.gnu.org/pub/gnu/automake + libtool - ftp://ftp.gnu.org/pub/gnu/libtool + + Release builds should only be done on a system with a functioning + and correctly set system clock and on a filesystem which accurately + records file update times. Use of GNU make is recommended. + +1. Commit any unsaved changes. + +2. Create html/vX.X.html. Take ChangeLog entries and html-ify in there. + Easist thing to do is take html/vX.(X-1).html and use it as a template. + Add that file to the list of EXTRA_DIST files in the html/Makefile.am. + +3. Update html/index.html to refer to this new page as the current release. + +4. Increment the release version in configure.ac. Put 'alpha' or + 'beta' after the version, if applicable. For example: + + 3.9.1 + or + 3.9.1beta + + Version should be updated in two places: in the second argument of the + AC_INIT macro and in LIBTIFF_xxx_VERSION variables. + +5. Add an entry to Changelog similar to: + + * libtiff 3.9.1 released. + +6. In the source tree do + + ./autogen.sh + + This step may be skipped if you have already been using a + maintainer build with current autoconf, automake, and libtool + packages. It is only needed when updating tool versions. + +7. It is recommended (but not required) to build outside of the source + tree so that the source tree is kept in a pristine state. This + also allows sharing the source directory on several networked + systems. For example: + + mkdir libtiff-build + cd libtiff-build + /path/to/libtiff/configure --enable-maintainer-mode + + otherwise do + + ./configure --enable-maintainer-mode + +8. In the build tree do + + make release + + This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h + in the source tree. + +9. In the source tree, verify that the version info in RELEASE-DATE, + VERSION and libtiff/tiffvers.h is right. + +10. In the build tree do + + make + make distcheck + + If 'make distcheck' fails, then correct any issues until it + succeeds. + + Two files with names tiff-version.tar.gz and tiff-version.zip will + be created in the top level build directory. + +11. In the source tree do + + 'cvs commit'. + +12. In the source tree do + + cvs tag Release-v3-9-1 + + (or the appropriate name for the release) + +13. Copy release packages from the build tree to the + ftp.remotesensing.org ftp site. + + scp tiff-*.tar.gz tiff-*.zip \ + frankw@upload.osgeo.org:/osgeo/download/libtiff + +14. Announce to list, tiff@lists.maptools.org + +15. Update libtiff page on freshmeat with new version announcement. + + diff --git a/src/3rdparty/libtiff/README b/src/3rdparty/libtiff/README new file mode 100644 index 0000000..c0e5521 --- /dev/null +++ b/src/3rdparty/libtiff/README @@ -0,0 +1,59 @@ +$Header: /cvs/maptools/cvsroot/libtiff/README,v 1.5 2004/10/30 13:44:45 dron Exp $ + + +TIFF Software Distribution +-------------------------- +This file is just a placeholder; all the documentation is now in +HTML in the html directory. To view the documentation point your +favorite WWW viewer at html/index.html; e.g. + + netscape html/index.html + +If you don't have an HTML viewer then you can read the HTML source +or fetch a PostScript version of this documentation from the directory + + ftp://ftp.remotesensing.org/pub/libtiff/ + +If you can't hack either of these options then basically what you +want to do is: + + % ./configure + % make + % su + # make install + +More information, email contacts, and mailing list information can be +found online at http://www.remotesensing.org/libtiff/. + + +Use and Copyright +----------------- +Silicon Graphics has seen fit to allow us to give this work away. It +is free. There is no support or guarantee of any sort as to its +operations, correctness, or whatever. If you do anything useful with +all or parts of it you need to honor the copyright notices. I would +also be interested in knowing about it and, hopefully, be acknowledged. + +The legal way of saying that is: + +Copyright (c) 1988-1997 Sam Leffler +Copyright (c) 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. diff --git a/src/3rdparty/libtiff/README.vms b/src/3rdparty/libtiff/README.vms new file mode 100644 index 0000000..44d9663 --- /dev/null +++ b/src/3rdparty/libtiff/README.vms @@ -0,0 +1,12 @@ +Dear OpenVMS user +to make this library, execute +$@CONFIGURE +$@BUILD + +Build process should be error and warning free. When process will be finished, +LIBTIFF$STRATUP.COM file containing all required definitions, will be created. +Please call it from system startup procedure or individual user procedure LOGIN.COM +To link software with libtiff, use TIFF:LIBTIFF.OPT + +best regards, +Alexey Chupahin, elvis_75@mail.ru diff --git a/src/3rdparty/libtiff/RELEASE-DATE b/src/3rdparty/libtiff/RELEASE-DATE new file mode 100644 index 0000000..1f15bfe --- /dev/null +++ b/src/3rdparty/libtiff/RELEASE-DATE @@ -0,0 +1 @@ +20091104 diff --git a/src/3rdparty/libtiff/SConstruct b/src/3rdparty/libtiff/SConstruct new file mode 100644 index 0000000..682246e --- /dev/null +++ b/src/3rdparty/libtiff/SConstruct @@ -0,0 +1,171 @@ +# $Id: SConstruct,v 1.4 2007/02/24 15:03:47 dron Exp $ + +# Tag Image File Format (TIFF) Software +# +# Copyright (C) 2005, Andrey Kiselev +# +# Permission to use, copy, modify, distribute, and sell this software and +# its documentation for any purpose is hereby granted without fee, provided +# that (i) the above copyright notices and this permission notice appear in +# all copies of the software and related documentation, and (ii) the names of +# Sam Leffler and Silicon Graphics may not be used in any advertising or +# publicity relating to the software without the specific, prior written +# permission of Sam Leffler and Silicon Graphics. +# +# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +# +# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. + +# This file contains rules to build software with the SCons tool +# (see the http://www.scons.org/ for details on SCons). + +import os + +env = Environment() + +# Read the user supplied options +opts = Options('libtiff.conf') +opts.Add(PathOption('PREFIX', \ + 'install architecture-independent files in this directory', \ + '/usr/local', PathOption.PathIsDirCreate)) +opts.Add(BoolOption('ccitt', \ + 'enable support for CCITT Group 3 & 4 algorithms', \ + 'yes')) +opts.Add(BoolOption('packbits', \ + 'enable support for Macintosh PackBits algorithm', \ + 'yes')) +opts.Add(BoolOption('lzw', \ + 'enable support for LZW algorithm', \ + 'yes')) +opts.Add(BoolOption('thunder', \ + 'enable support for ThunderScan 4-bit RLE algorithm', \ + 'yes')) +opts.Add(BoolOption('next', \ + 'enable support for NeXT 2-bit RLE algorithm', \ + 'yes')) +opts.Add(BoolOption('logluv', \ + 'enable support for LogLuv high dynamic range encoding', \ + 'yes')) +opts.Add(BoolOption('strip_chopping', \ + 'support for strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of ~8Kb to reduce memory usage)', \ + 'yes')) +opts.Add(BoolOption('extrasample_as_alpha', \ + 'the RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don\'t mark the alpha properly', \ + 'yes')) +opts.Add(BoolOption('check_ycbcr_subsampling', \ + 'disable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag', \ + 'yes')) +opts.Update(env) +opts.Save('libtiff.conf', env) +Help(opts.GenerateHelpText(env)) + +# Here are our installation paths: +idir_prefix = '$PREFIX' +idir_lib = '$PREFIX/lib' +idir_bin = '$PREFIX/bin' +idir_inc = '$PREFIX/include' +idir_doc = '$PREFIX/doc' +Export([ 'env', 'idir_prefix', 'idir_lib', 'idir_bin', 'idir_inc', 'idir_doc' ]) + +# Now proceed to system feature checks +target_cpu, target_vendor, target_kernel, target_os = \ + os.popen("./config/config.guess").readlines()[0].split("-") + +def Define(context, key, have): + import SCons.Conftest + SCons.Conftest._Have(context, key, have) + +def CheckCustomOption(context, name): + context.Message('Checking is the ' + name + ' option set... ') + ret = env[name] + Define(context, name + '_SUPPORT', ret) + context.Result(ret) + return ret + +def CheckFillorderOption(context): + context.Message('Checking for the native cpu bit order... ') + if target_cpu[0] == 'i' and target_cpu[2:] == '86': + Define(context, 'HOST_FILLORDER', 'FILLORDER_LSB2MSB') + context.Result('lsb2msb') + else: + Define(context, 'HOST_FILLORDER', 'FILLORDER_MSB2LSB') + context.Result('msb2lsb') + return 1 + +def CheckIEEEFPOption(context): + context.Message('Checking for the IEEE floating point format... ') + Define(context, 'HAVE_IEEEFP', 1) + context.Result(1) + return 1 + +def CheckOtherOption(context, name): + context.Message('Checking is the ' + name + ' option set... ') + ret = env[name] + Define(context, 'HAVE_' + name, ret) + context.Result(ret) + return ret + +custom_tests = { \ + 'CheckCustomOption' : CheckCustomOption, \ + 'CheckFillorderOption' : CheckFillorderOption, \ + 'CheckIEEEFPOption' : CheckIEEEFPOption, \ + 'CheckOtherOption' : CheckOtherOption \ + } +conf = Configure(env, custom_tests = custom_tests, \ + config_h = 'libtiff/tif_config.h') + +# Check for standard library +conf.CheckLib('c') +if target_os != 'cygwin' \ + and target_os != 'mingw32' \ + and target_os != 'beos' \ + and target_os != 'darwin': + conf.CheckLib('m') + +# Check for system headers +conf.CheckCHeader('assert.h') +conf.CheckCHeader('fcntl.h') +conf.CheckCHeader('io.h') +conf.CheckCHeader('limits.h') +conf.CheckCHeader('malloc.h') +conf.CheckCHeader('search.h') +conf.CheckCHeader('sys/time.h') +conf.CheckCHeader('unistd.h') + +# Check for standard library functions +conf.CheckFunc('floor') +conf.CheckFunc('isascii') +conf.CheckFunc('memmove') +conf.CheckFunc('memset') +conf.CheckFunc('mmap') +conf.CheckFunc('pow') +conf.CheckFunc('setmode') +conf.CheckFunc('sqrt') +conf.CheckFunc('strchr') +conf.CheckFunc('strrchr') +conf.CheckFunc('strstr') +conf.CheckFunc('strtol') + +conf.CheckFillorderOption() +conf.CheckIEEEFPOption() +conf.CheckCustomOption('ccitt') +conf.CheckCustomOption('packbits') +conf.CheckCustomOption('lzw') +conf.CheckCustomOption('thunder') +conf.CheckCustomOption('next') +conf.CheckCustomOption('logluv') +conf.CheckOtherOption('strip_chopping') +conf.CheckOtherOption('extrasample_as_alpha') +conf.CheckOtherOption('check_ycbcr_subsampling') + +env = conf.Finish() + +# Ok, now go to build files in the subdirectories +SConscript(dirs = [ 'libtiff' ], name = 'SConstruct') diff --git a/src/3rdparty/libtiff/TODO b/src/3rdparty/libtiff/TODO new file mode 100644 index 0000000..6c58eb0 --- /dev/null +++ b/src/3rdparty/libtiff/TODO @@ -0,0 +1,12 @@ +# $Header: /cvs/maptools/cvsroot/libtiff/TODO,v 1.6 2002/10/10 05:28:43 warmerda Exp $ + +o gif2tiff segaulting on selected images +o tiffcmp read data by strip/tile instead of scanline +o YCbCr sampling support +o extracate colorspace conversion support +o look at isolating all codecs from TIFF library +o JPEG colormode order dependency problem +o Write documentation on how do extend tags, and how the custom field + stuff all works. + + diff --git a/src/3rdparty/libtiff/VERSION b/src/3rdparty/libtiff/VERSION new file mode 100644 index 0000000..2009c7d --- /dev/null +++ b/src/3rdparty/libtiff/VERSION @@ -0,0 +1 @@ +3.9.2 diff --git a/src/3rdparty/libtiff/html/TIFFTechNote2.html b/src/3rdparty/libtiff/html/TIFFTechNote2.html new file mode 100644 index 0000000..92bace4 --- /dev/null +++ b/src/3rdparty/libtiff/html/TIFFTechNote2.html @@ -0,0 +1,707 @@ +
+DRAFT TIFF Technical Note #2				17-Mar-95
+============================
+
+This Technical Note describes serious problems that have been found in
+TIFF 6.0's design for embedding JPEG-compressed data in TIFF (Section 22
+of the TIFF 6.0 spec of 3 June 1992).  A replacement TIFF/JPEG
+specification is given.  Some corrections to Section 21 are also given.
+
+To permit TIFF implementations to continue to read existing files, the 6.0
+JPEG fields and tag values will remain reserved indefinitely.  However,
+TIFF writers are strongly discouraged from using the 6.0 JPEG design.  It
+is expected that the next full release of the TIFF specification will not
+describe the old design at all, except to note that certain tag numbers
+are reserved.  The existing Section 22 will be replaced by the
+specification text given in the second part of this Tech Note.
+
+
+Problems in TIFF 6.0 JPEG
+=========================
+
+Abandoning a published spec is not a step to be taken lightly.  This
+section summarizes the reasons that have forced this decision.
+TIFF 6.0's JPEG design suffers from design errors and limitations,
+ambiguities, and unnecessary complexity.
+
+
+Design errors and limitations
+-----------------------------
+
+The fundamental design error in the existing Section 22 is that JPEG's
+various tables and parameters are broken out as separate fields which the
+TIFF control logic must manage.  This is bad software engineering: that
+information should be treated as private to the JPEG codec
+(compressor/decompressor).  Worse, the fields themselves are specified
+without sufficient thought for future extension and without regard to
+well-established TIFF conventions.  Here are some of the significant
+problems:
+
+* The JPEGxxTable fields do not store the table data directly in the
+IFD/field structure; rather, the fields hold pointers to information
+elsewhere in the file.  This requires special-purpose code to be added to
+*every* TIFF-manipulating application, whether it needs to decode JPEG
+image data or not.  Even a trivial TIFF editor, for example a program to
+add an ImageDescription field to a TIFF file, must be explicitly aware of
+the internal structure of the JPEG-related tables, or else it will probably
+break the file.  Every other auxiliary field in the TIFF spec contains
+data, not pointers, and can be copied or relocated by standard code that
+doesn't know anything about the particular field.  This is a crucial
+property of the TIFF format that must not be given up.
+
+* To manipulate these fields, the TIFF control logic is required to know a
+great deal about JPEG details, for example such arcana as how to compute
+the length of a Huffman code table --- the length is not supplied in the
+field structure and can only be found by inspecting the table contents.
+This is again a violation of good software practice.  Moreover, it will
+prevent easy adoption of future JPEG extensions that might change these
+low-level details.
+
+* The design neglects the fact that baseline JPEG codecs support only two
+sets of Huffman tables: it specifies a separate table for each color
+component.  This implies that encoders must waste space (by storing
+duplicate Huffman tables) or else violate the well-founded TIFF convention
+that prohibits duplicate pointers.  Furthermore, baseline decoders must
+test to find out which tables are identical, a waste of time and code
+space.
+
+* The JPEGInterchangeFormat field also violates TIFF's proscription against
+duplicate pointers: the normal strip/tile pointers are expected to point
+into the larger data area pointed to by JPEGInterchangeFormat.  All TIFF
+editing applications must be specifically aware of this relationship, since
+they must maintain it or else delete the JPEGInterchangeFormat field.  The
+JPEGxxTables fields are also likely to point into the JPEGInterchangeFormat
+area, creating additional pointer relationships that must be maintained.
+
+* The JPEGQTables field is fixed at a byte per table entry; there is no
+way to support 16-bit quantization values.  This is a serious impediment
+to extending TIFF to use 12-bit JPEG.
+
+* The 6.0 design cannot support using different quantization tables in
+different strips/tiles of an image (so as to encode some areas at higher
+quality than others).  Furthermore, since quantization tables are tied
+one-for-one to color components, the design cannot support table switching
+options that are likely to be added in future JPEG revisions.
+
+
+Ambiguities
+-----------
+
+Several incompatible interpretations are possible for 6.0's treatment of
+JPEG restart markers:
+
+  * It is unclear whether restart markers must be omitted at TIFF segment
+    (strip/tile) boundaries, or whether they are optional.
+
+  * It is unclear whether the segment size is required to be chosen as
+    a multiple of the specified restart interval (if any); perhaps the
+    JPEG codec is supposed to be reset at each segment boundary as if
+    there were a restart marker there, even if the boundary does not fall
+    at a multiple of the nominal restart interval.
+
+  * The spec fails to address the question of restart marker numbering:
+    do the numbers begin again within each segment, or not?
+
+That last point is particularly nasty.  If we make numbering begin again
+within each segment, we give up the ability to impose a TIFF strip/tile
+structure on an existing JPEG datastream with restarts (which was clearly a
+goal of Section 22's authors).  But the other choice interferes with random
+access to the image segments: a reader must compute the first restart
+number to be expected within a segment, and must have a way to reset its
+JPEG decoder to expect a nonzero restart number first.  This may not even
+be possible with some JPEG chips.
+
+The tile height restriction found on page 104 contradicts Section 15's
+general description of tiles.  For an image that is not vertically
+downsampled, page 104 specifies a tile height of one MCU or 8 pixels; but
+Section 15 requires tiles to be a multiple of 16 pixels high.
+
+This Tech Note does not attempt to resolve these ambiguities, so
+implementations that follow the 6.0 design should be aware that
+inter-application compatibility problems are likely to arise.
+
+
+Unnecessary complexity
+----------------------
+
+The 6.0 design creates problems for implementations that need to keep the
+JPEG codec separate from the TIFF control logic --- for example, consider
+using a JPEG chip that was not designed specifically for TIFF.  JPEG codecs
+generally want to produce or consume a standard ISO JPEG datastream, not
+just raw compressed data.  (If they were to handle raw data, a separate
+out-of-band mechanism would be needed to load tables into the codec.)
+With such a codec, the TIFF control logic must parse JPEG markers emitted
+by the codec to create the TIFF table fields (when writing) or synthesize
+JPEG markers from the TIFF fields to feed the codec (when reading).  This
+means that the control logic must know a great deal more about JPEG details
+than we would like.  The parsing and reconstruction of the markers also
+represents a fair amount of unnecessary work.
+
+Quite a few implementors have proposed writing "TIFF/JPEG" files in which
+a standard JPEG datastream is simply dumped into the file and pointed to
+by JPEGInterchangeFormat.  To avoid parsing the JPEG datastream, they
+suggest not writing the JPEG auxiliary fields (JPEGxxTables etc) nor even
+the basic TIFF strip/tile data pointers.  This approach is incompatible
+with implementations that handle the full TIFF 6.0 JPEG design, since they
+will expect to find strip/tile pointers and auxiliary fields.  Indeed this
+is arguably not TIFF at all, since *all* TIFF-reading applications expect
+to find strip or tile pointers.  A subset implementation that is not
+upward-compatible with the full spec is clearly unacceptable.  However,
+the frequency with which this idea has come up makes it clear that
+implementors find the existing Section 22 too complex.
+
+
+Overview of the solution
+========================
+
+To solve these problems, we adopt a new design for embedding
+JPEG-compressed data in TIFF files.  The new design uses only complete,
+uninterpreted ISO JPEG datastreams, so it should be much more forgiving of
+extensions to the ISO standard.  It should also be far easier to implement
+using unmodified JPEG codecs.
+
+To reduce overhead in multi-segment TIFF files, we allow JPEG overhead
+tables to be stored just once in a JPEGTables auxiliary field.  This
+feature does not violate the integrity of the JPEG datastreams, because it
+uses the notions of "tables-only datastreams" and "abbreviated image
+datastreams" as defined by the ISO standard.
+
+To prevent confusion with the old design, the new design is given a new
+Compression tag value, Compression=7.  Readers that need to handle
+existing 6.0 JPEG files may read both old and new files, using whatever
+interpretation of the 6.0 spec they did before.  Compression tag value 6
+and the field tag numbers defined by 6.0 section 22 will remain reserved
+indefinitely, even though detailed descriptions of them will be dropped
+from future editions of the TIFF specification.
+
+
+Replacement TIFF/JPEG specification
+===================================
+
+[This section of the Tech Note is expected to replace Section 22 in the
+next release of the TIFF specification.]
+
+This section describes TIFF compression scheme 7, a high-performance
+compression method for continuous-tone images.
+
+Introduction
+------------
+
+This TIFF compression method uses the international standard for image
+compression ISO/IEC 10918-1, usually known as "JPEG" (after the original
+name of the standards committee, Joint Photographic Experts Group).  JPEG
+is a joint ISO/CCITT standard for compression of continuous-tone images.
+
+The JPEG committee decided that because of the broad scope of the standard,
+no one algorithmic procedure was able to satisfy the requirements of all
+applications.  Instead, the JPEG standard became a "toolkit" of multiple
+algorithms and optional capabilities.  Individual applications may select
+a subset of the JPEG standard that meets their requirements.
+
+The most important distinction among the JPEG processes is between lossy
+and lossless compression.  Lossy compression methods provide high
+compression but allow only approximate reconstruction of the original
+image.  JPEG's lossy processes allow the encoder to trade off compressed
+file size against reconstruction fidelity over a wide range.  Typically,
+10:1 or more compression of full-color data can be obtained while keeping
+the reconstructed image visually indistinguishable from the original.  Much
+higher compression ratios are possible if a low-quality reconstructed image
+is acceptable.  Lossless compression provides exact reconstruction of the
+source data, but the achievable compression ratio is much lower than for
+the lossy processes; JPEG's rather simple lossless process typically
+achieves around 2:1 compression of full-color data.
+
+The most widely implemented JPEG subset is the "baseline" JPEG process.
+This provides lossy compression of 8-bit-per-channel data.  Optional
+extensions include 12-bit-per-channel data, arithmetic entropy coding for
+better compression, and progressive/hierarchical representations.  The
+lossless process is an independent algorithm that has little in
+common with the lossy processes.
+
+It should be noted that the optional arithmetic-coding extension is subject
+to several US and Japanese patents.  To avoid patent problems, use of
+arithmetic coding processes in TIFF files intended for inter-application
+interchange is discouraged.
+
+All of the JPEG processes are useful only for "continuous tone" data,
+in which the difference between adjacent pixel values is usually small.
+Low-bit-depth source data is not appropriate for JPEG compression, nor
+are palette-color images good candidates.  The JPEG processes work well
+on grayscale and full-color data.
+
+Describing the JPEG compression algorithms in sufficient detail to permit
+implementation would require more space than we have here.  Instead, we
+refer the reader to the References section.
+
+
+What data is being compressed?
+------------------------------
+
+In lossy JPEG compression, it is customary to convert color source data
+to YCbCr and then downsample it before JPEG compression.  This gives
+2:1 data compression with hardly any visible image degradation, and it
+permits additional space savings within the JPEG compression step proper.
+However, these steps are not considered part of the ISO JPEG standard.
+The ISO standard is "color blind": it accepts data in any color space.
+
+For TIFF purposes, the JPEG compression tag is considered to represent the
+ISO JPEG compression standard only.  The ISO standard is applied to the
+same data that would be stored in the TIFF file if no compression were
+used.  Therefore, if color conversion or downsampling are used, they must
+be reflected in the regular TIFF fields; these steps are not considered to
+be implicit in the JPEG compression tag value.  PhotometricInterpretation
+and related fields shall describe the color space actually stored in the
+file.  With the TIFF 6.0 field definitions, downsampling is permissible
+only for YCbCr data, and it must correspond to the YCbCrSubSampling field.
+(Note that the default value for this field is not 1,1; so the default for
+YCbCr is to apply downsampling!)  It is likely that future versions of TIFF
+will provide additional PhotometricInterpretation values and a more general
+way of defining subsampling, so as to allow more flexibility in
+JPEG-compressed files.  But that issue is not addressed in this Tech Note.
+
+Implementors should note that many popular JPEG codecs
+(compressor/decompressors) provide automatic color conversion and
+downsampling, so that the application may supply full-size RGB data which
+is nonetheless converted to downsampled YCbCr.  This is an implementation
+convenience which does not excuse the TIFF control layer from its
+responsibility to know what is really going on.  The
+PhotometricInterpretation and subsampling fields written to the file must
+describe what is actually in the file.
+
+A JPEG-compressed TIFF file will typically have PhotometricInterpretation =
+YCbCr and YCbCrSubSampling = [2,1] or [2,2], unless the source data was
+grayscale or CMYK.
+
+
+Basic representation of JPEG-compressed images
+----------------------------------------------
+
+JPEG compression works in either strip-based or tile-based TIFF files.
+Rather than repeating "strip or tile" constantly, we will use the term
+"segment" to mean either a strip or a tile.
+
+When the Compression field has the value 7, each image segment contains
+a complete JPEG datastream which is valid according to the ISO JPEG
+standard (ISO/IEC 10918-1).  Any sequential JPEG process can be used,
+including lossless JPEG, but progressive and hierarchical processes are not
+supported.  Since JPEG is useful only for continuous-tone images, the
+PhotometricInterpretation of the image shall not be 3 (palette color) nor
+4 (transparency mask).  The bit depth of the data is also restricted as
+specified below.
+
+Each image segment in a JPEG-compressed TIFF file shall contain a valid
+JPEG datastream according to the ISO JPEG standard's rules for
+interchange-format or abbreviated-image-format data.  The datastream shall
+contain a single JPEG frame storing that segment of the image.  The
+required JPEG markers within a segment are:
+	SOI	(must appear at very beginning of segment)
+	SOFn
+	SOS	(one for each scan, if there is more than one scan)
+	EOI	(must appear at very end of segment)
+The actual compressed data follows SOS; it may contain RSTn markers if DRI
+is used.
+
+Additional JPEG "tables and miscellaneous" markers may appear between SOI
+and SOFn, between SOFn and SOS, and before each subsequent SOS if there is
+more than one scan.  These markers include:
+	DQT
+	DHT
+	DAC	(not to appear unless arithmetic coding is used)
+	DRI
+	APPn	(shall be ignored by TIFF readers)
+	COM	(shall be ignored by TIFF readers)
+DNL markers shall not be used in TIFF files.  Readers should abort if any
+other marker type is found, especially the JPEG reserved markers;
+occurrence of such a marker is likely to indicate a JPEG extension.
+
+The tables/miscellaneous markers may appear in any order.  Readers are
+cautioned that although the SOFn marker refers to DQT tables, JPEG does not
+require those tables to precede the SOFn, only the SOS.  Missing-table
+checks should be made when SOS is reached.
+
+If no JPEGTables field is used, then each image segment shall be a complete
+JPEG interchange datastream.  Each segment must define all the tables it
+references.  To allow readers to decode segments in any order, no segment
+may rely on tables being carried over from a previous segment.
+
+When a JPEGTables field is used, image segments may omit tables that have
+been specified in the JPEGTables field.  Further details appear below.
+
+The SOFn marker shall be of type SOF0 for strict baseline JPEG data, of
+type SOF1 for non-baseline lossy JPEG data, or of type SOF3 for lossless
+JPEG data.  (SOF9 or SOF11 would be used for arithmetic coding.)  All
+segments of a JPEG-compressed TIFF image shall use the same JPEG
+compression process, in particular the same SOFn type.
+
+The data precision field of the SOFn marker shall agree with the TIFF
+BitsPerSample field.  (Note that when PlanarConfiguration=1, this implies
+that all components must have the same BitsPerSample value; when
+PlanarConfiguration=2, different components could have different bit
+depths.)  For SOF0 only precision 8 is permitted; for SOF1, precision 8 or
+12 is permitted; for SOF3, precisions 2 to 16 are permitted.
+
+The image dimensions given in the SOFn marker shall agree with the logical
+dimensions of that particular strip or tile.  For strip images, the SOFn
+image width shall equal ImageWidth and the height shall equal RowsPerStrip,
+except in the last strip; its SOFn height shall equal the number of rows
+remaining in the ImageLength.  (In other words, no padding data is counted
+in the SOFn dimensions.)  For tile images, each SOFn shall have width
+TileWidth and height TileHeight; adding and removing any padding needed in
+the edge tiles is the concern of some higher level of the TIFF software.
+(The dimensional rules are slightly different when PlanarConfiguration=2,
+as described below.)
+
+The ISO JPEG standard only permits images up to 65535 pixels in width or
+height, due to 2-byte fields in the SOFn markers.  In TIFF, this limits
+the size of an individual JPEG-compressed strip or tile, but the total
+image size can be greater.
+
+The number of components in the JPEG datastream shall equal SamplesPerPixel
+for PlanarConfiguration=1, and shall be 1 for PlanarConfiguration=2.  The
+components shall be stored in the same order as they are described at the
+TIFF field level.  (This applies both to their order in the SOFn marker,
+and to the order in which they are scanned if multiple JPEG scans are
+used.)  The component ID bytes are arbitrary so long as each component
+within an image segment is given a distinct ID.  To avoid any possible
+confusion, we require that all segments of a TIFF image use the same ID
+code for a given component.
+
+In PlanarConfiguration 1, the sampling factors given in SOFn markers shall
+agree with the sampling factors defined by the related TIFF fields (or with
+the default values that are specified in the absence of those fields).
+
+When DCT-based JPEG is used in a strip TIFF file, RowsPerStrip is required
+to be a multiple of 8 times the largest vertical sampling factor, i.e., a
+multiple of the height of an interleaved MCU.  (For simplicity of
+specification, we require this even if the data is not actually
+interleaved.)  For example, if YCbCrSubSampling = [2,2] then RowsPerStrip
+must be a multiple of 16.  An exception to this rule is made for
+single-strip images (RowsPerStrip >= ImageLength): the exact value of
+RowsPerStrip is unimportant in that case.  This rule ensures that no data
+padding is needed at the bottom of a strip, except perhaps the last strip.
+Any padding required at the right edge of the image, or at the bottom of
+the last strip, is expected to occur internally to the JPEG codec.
+
+When DCT-based JPEG is used in a tiled TIFF file, TileLength is required
+to be a multiple of 8 times the largest vertical sampling factor, i.e.,
+a multiple of the height of an interleaved MCU; and TileWidth is required
+to be a multiple of 8 times the largest horizontal sampling factor, i.e.,
+a multiple of the width of an interleaved MCU.  (For simplicity of
+specification, we require this even if the data is not actually
+interleaved.)  All edge padding required will therefore occur in the course
+of normal TIFF tile padding; it is not special to JPEG.
+
+Lossless JPEG does not impose these constraints on strip and tile sizes,
+since it is not DCT-based.
+
+Note that within JPEG datastreams, multibyte values appear in the MSB-first
+order specified by the JPEG standard, regardless of the byte ordering of
+the surrounding TIFF file.
+
+
+JPEGTables field
+----------------
+
+The only auxiliary TIFF field added for Compression=7 is the optional
+JPEGTables field.  The purpose of JPEGTables is to predefine JPEG
+quantization and/or Huffman tables for subsequent use by JPEG image
+segments.  When this is done, these rather bulky tables need not be
+duplicated in each segment, thus saving space and processing time.
+JPEGTables may be used even in a single-segment file, although there is no
+space savings in that case.
+
+JPEGTables:
+	Tag = 347 (15B.H)
+	Type = UNDEFINED
+	N = number of bytes in tables datastream, typically a few hundred
+JPEGTables provides default JPEG quantization and/or Huffman tables which
+are used whenever a segment datastream does not contain its own tables, as
+specified below.
+
+Notice that the JPEGTables field is required to have type code UNDEFINED,
+not type code BYTE.  This is to cue readers that expanding individual bytes
+to short or long integers is not appropriate.  A TIFF reader will generally
+need to store the field value as an uninterpreted byte sequence until it is
+fed to the JPEG decoder.
+
+Multibyte quantities within the tables follow the ISO JPEG convention of
+MSB-first storage, regardless of the byte ordering of the surrounding TIFF
+file.
+
+When the JPEGTables field is present, it shall contain a valid JPEG
+"abbreviated table specification" datastream.  This datastream shall begin
+with SOI and end with EOI.  It may contain zero or more JPEG "tables and
+miscellaneous" markers, namely:
+	DQT
+	DHT
+	DAC	(not to appear unless arithmetic coding is used)
+	DRI
+	APPn	(shall be ignored by TIFF readers)
+	COM	(shall be ignored by TIFF readers)
+Since JPEG defines the SOI marker to reset the DAC and DRI state, these two
+markers' values cannot be carried over into any image datastream, and thus
+they are effectively no-ops in the JPEGTables field.  To avoid confusion,
+it is recommended that writers not place DAC or DRI markers in JPEGTables.
+However readers must properly skip over them if they appear.
+
+When JPEGTables is present, readers shall load the table specifications
+contained in JPEGTables before processing image segment datastreams.
+Image segments may simply refer to these preloaded tables without defining
+them.  An image segment can still define and use its own tables, subject to
+the restrictions below.
+
+An image segment may not redefine any table defined in JPEGTables.  (This
+restriction is imposed to allow readers to process image segments in random
+order without having to reload JPEGTables between segments.)  Therefore, use
+of JPEGTables divides the available table slots into two groups: "global"
+slots are defined in JPEGTables and may be used but not redefined by
+segments; "local" slots are available for local definition and use in each
+segment.  To permit random access, a segment may not reference any local
+tables that it does not itself define.
+
+
+Special considerations for PlanarConfiguration 2
+------------------------------------------------
+
+In PlanarConfiguration 2, each image segment contains data for only one
+color component.  To avoid confusing the JPEG codec, we wish the segments
+to look like valid single-channel (i.e., grayscale) JPEG datastreams.  This
+means that different rules must be used for the SOFn parameters.
+
+In PlanarConfiguration 2, the dimensions given in the SOFn of a subsampled
+component shall be scaled down by the sampling factors compared to the SOFn
+dimensions that would be used in PlanarConfiguration 1.  This is necessary
+to match the actual number of samples stored in that segment, so that the
+JPEG codec doesn't complain about too much or too little data.  In strip
+TIFF files the computed dimensions may need to be rounded up to the next
+integer; in tiled files, the restrictions on tile size make this case
+impossible.
+
+Furthermore, all SOFn sampling factors shall be given as 1.  (This is
+merely to avoid confusion, since the sampling factors in a single-channel
+JPEG datastream have no real effect.)
+
+Any downsampling will need to happen externally to the JPEG codec, since
+JPEG sampling factors are defined with reference to the full-precision
+component.  In PlanarConfiguration 2, the JPEG codec will be working on
+only one component at a time and thus will have no reference component to
+downsample against.
+
+
+Minimum requirements for TIFF/JPEG
+----------------------------------
+
+ISO JPEG is a large and complex standard; most implementations support only
+a subset of it.  Here we define a "core" subset of TIFF/JPEG which readers
+must support to claim TIFF/JPEG compatibility.  For maximum
+cross-application compatibility, we recommend that writers confine
+themselves to this subset unless there is very good reason to do otherwise.
+
+Use the ISO baseline JPEG process: 8-bit data precision, Huffman coding,
+with no more than 2 DC and 2 AC Huffman tables.  Note that this implies
+BitsPerSample = 8 for each component.  We recommend deviating from baseline
+JPEG only if 12-bit data precision or lossless coding is required.
+
+Use no subsampling (all JPEG sampling factors = 1) for color spaces other
+than YCbCr.  (This is, in fact, required with the TIFF 6.0 field
+definitions, but may not be so in future revisions.)  For YCbCr, use one of
+the following choices:
+	YCbCrSubSampling field		JPEG sampling factors
+	1,1				1h1v, 1h1v, 1h1v
+	2,1				2h1v, 1h1v, 1h1v
+	2,2  (default value)		2h2v, 1h1v, 1h1v
+We recommend that RGB source data be converted to YCbCr for best compression
+results.  Other source data colorspaces should probably be left alone.
+Minimal readers need not support JPEG images with colorspaces other than
+YCbCr and grayscale (PhotometricInterpretation = 6 or 1).
+
+A minimal reader also need not support JPEG YCbCr images with nondefault
+values of YCbCrCoefficients or YCbCrPositioning, nor with values of
+ReferenceBlackWhite other than [0,255,128,255,128,255].  (These values
+correspond to the RGB<=>YCbCr conversion specified by JFIF, which is widely
+implemented in JPEG codecs.)
+
+Writers are reminded that a ReferenceBlackWhite field *must* be included
+when PhotometricInterpretation is YCbCr, because the default
+ReferenceBlackWhite values are inappropriate for YCbCr.
+
+If any subsampling is used, PlanarConfiguration=1 is preferred to avoid the
+possibly-confusing requirements of PlanarConfiguration=2.  In any case,
+readers are not required to support PlanarConfiguration=2.
+
+If possible, use a single interleaved scan in each image segment.  This is
+not legal JPEG if there are more than 4 SamplesPerPixel or if the sampling
+factors are such that more than 10 blocks would be needed per MCU; in that
+case, use a separate scan for each component.  (The recommended color
+spaces and sampling factors will not run into that restriction, so a
+minimal reader need not support more than one scan per segment.)
+
+To claim TIFF/JPEG compatibility, readers shall support multiple-strip TIFF
+files and the optional JPEGTables field; it is not acceptable to read only
+single-datastream files.  Support for tiled TIFF files is strongly
+recommended but not required.
+
+
+Other recommendations for implementors
+--------------------------------------
+
+The TIFF tag Compression=7 guarantees only that the compressed data is
+represented as ISO JPEG datastreams.  Since JPEG is a large and evolving
+standard, readers should apply careful error checking to the JPEG markers
+to ensure that the compression process is within their capabilities.  In
+particular, to avoid being confused by future extensions to the JPEG
+standard, it is important to abort if unknown marker codes are seen.
+
+The point of requiring that all image segments use the same JPEG process is
+to ensure that a reader need check only one segment to determine whether it
+can handle the image.  For example, consider a TIFF reader that has access
+to fast but restricted JPEG hardware, as well as a slower, more general
+software implementation.  It is desirable to check only one image segment
+to find out whether the fast hardware can be used.  Thus, writers should
+try to ensure that all segments of an image look as much "alike" as
+possible: there should be no variation in scan layout, use of options such
+as DRI, etc.  Ideally, segments will be processed identically except
+perhaps for using different local quantization or entropy-coding tables.
+
+Writers should avoid including "noise" JPEG markers (COM and APPn markers).
+Standard TIFF fields provide a better way to transport any non-image data.
+Some JPEG codecs may change behavior if they see an APPn marker they
+think they understand; since the TIFF spec requires these markers to be
+ignored, this behavior is undesirable.
+
+It is possible to convert an interchange-JPEG file (e.g., a JFIF file) to
+TIFF simply by dropping the interchange datastream into a single strip.
+(However, designers are reminded that the TIFF spec discourages huge
+strips; splitting the image is somewhat more work but may give better
+results.)  Conversion from TIFF to interchange JPEG is more complex.  A
+strip-based TIFF/JPEG file can be converted fairly easily if all strips use
+identical JPEG tables and no RSTn markers: just delete the overhead markers
+and insert RSTn markers between strips.  Converting tiled images is harder,
+since the data will usually not be in the right order (unless the tiles are
+only one MCU high).  This can still be done losslessly, but it will require
+undoing and redoing the entropy coding so that the DC coefficient
+differences can be updated.
+
+There is no default value for JPEGTables: standard TIFF files must define all
+tables that they reference.  For some closed systems in which many files will
+have identical tables, it might make sense to define a default JPEGTables
+value to avoid actually storing the tables.  Or even better, invent a
+private field selecting one of N default JPEGTables settings, so as to allow
+for future expansion.  Either of these must be regarded as a private
+extension that will render the files unreadable by other applications.
+
+
+References
+----------
+
+[1] Wallace, Gregory K.  "The JPEG Still Picture Compression Standard",
+Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
+
+This is the best short technical introduction to the JPEG algorithms.
+It is a good overview but does not provide sufficiently detailed
+information to write an implementation.
+
+[2] Pennebaker, William B. and Mitchell, Joan L.  "JPEG Still Image Data
+Compression Standard", Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
+638pp.
+
+This textbook is by far the most complete exposition of JPEG in existence.
+It includes the full text of the ISO JPEG standards (DIS 10918-1 and draft
+DIS 10918-2).  No would-be JPEG implementor should be without it.
+
+[3] ISO/IEC IS 10918-1, "Digital Compression and Coding of Continuous-tone
+Still Images, Part 1: Requirements and guidelines", February 1994.
+ISO/IEC DIS 10918-2, "Digital Compression and Coding of Continuous-tone
+Still Images, Part 2: Compliance testing", final approval expected 1994.
+
+These are the official standards documents.  Note that the Pennebaker and
+Mitchell textbook is likely to be cheaper and more useful than the official
+standards.
+
+
+Changes to Section 21: YCbCr Images
+===================================
+
+[This section of the Tech Note clarifies section 21 to make clear the
+interpretation of image dimensions in a subsampled image.  Furthermore,
+the section is changed to allow the original image dimensions not to be
+multiples of the sampling factors.  This change is necessary to support use
+of JPEG compression on odd-size images.]
+
+Add the following paragraphs to the Section 21 introduction (p. 89),
+just after the paragraph beginning "When a Class Y image is subsampled":
+
+	In a subsampled image, it is understood that all TIFF image
+	dimensions are measured in terms of the highest-resolution
+	(luminance) component.  In particular, ImageWidth, ImageLength,
+	RowsPerStrip, TileWidth, TileLength, XResolution, and YResolution
+	are measured in luminance samples.
+
+	RowsPerStrip, TileWidth, and TileLength are constrained so that
+	there are an integral number of samples of each component in a
+	complete strip or tile.  However, ImageWidth/ImageLength are not
+	constrained.  If an odd-size image is to be converted to subsampled
+	format, the writer should pad the source data to a multiple of the
+	sampling factors by replication of the last column and/or row, then
+	downsample.  The number of luminance samples actually stored in the
+	file will be a multiple of the sampling factors.  Conversely,
+	readers must ignore any extra data (outside the specified image
+	dimensions) after upsampling.
+
+	When PlanarConfiguration=2, each strip or tile covers the same
+	image area despite subsampling; that is, the total number of strips
+	or tiles in the image is the same for each component.  Therefore
+	strips or tiles of the subsampled components contain fewer samples
+	than strips or tiles of the luminance component.
+
+	If there are extra samples per pixel (see field ExtraSamples),
+	these data channels have the same number of samples as the
+	luminance component.
+
+Rewrite the YCbCrSubSampling field description (pp 91-92) as follows
+(largely to eliminate possibly-misleading references to
+ImageWidth/ImageLength of the subsampled components):
+
+	(first paragraph unchanged)
+
+	The two elements of this field are defined as follows:
+
+	Short 0: ChromaSubsampleHoriz:
+
+	1 = there are equal numbers of luma and chroma samples horizontally.
+
+	2 = there are twice as many luma samples as chroma samples
+	horizontally.
+
+	4 = there are four times as many luma samples as chroma samples
+	horizontally.
+
+	Short 1: ChromaSubsampleVert:
+
+	1 = there are equal numbers of luma and chroma samples vertically.
+
+	2 = there are twice as many luma samples as chroma samples
+	vertically.
+
+	4 = there are four times as many luma samples as chroma samples
+	vertically.
+
+	ChromaSubsampleVert shall always be less than or equal to
+	ChromaSubsampleHoriz.  Note that Cb and Cr have the same sampling
+	ratios.
+
+	In a strip TIFF file, RowsPerStrip is required to be an integer
+	multiple of ChromaSubSampleVert (unless RowsPerStrip >=
+	ImageLength, in which case its exact value is unimportant).
+	If ImageWidth and ImageLength are not multiples of
+	ChromaSubsampleHoriz and ChromaSubsampleVert respectively, then the
+	source data shall be padded to the next integer multiple of these
+	values before downsampling.
+
+	In a tiled TIFF file, TileWidth must be an integer multiple of
+	ChromaSubsampleHoriz and TileLength must be an integer multiple of
+	ChromaSubsampleVert.  Padding will occur to tile boundaries.
+
+	The default values of this field are [ 2,2 ].  Thus, YCbCr data is
+	downsampled by default!
+
diff --git a/src/3rdparty/libtiff/html/addingtags.html b/src/3rdparty/libtiff/html/addingtags.html new file mode 100644 index 0000000..452821c --- /dev/null +++ b/src/3rdparty/libtiff/html/addingtags.html @@ -0,0 +1,292 @@ + + + +Modifying The TIFF Library + + + + + +

+Defining New TIFF Tags +

+ +Libtiff has built-in knowledge of all the standard TIFF tags, as +well as extentions. The following describes how to add knowledge of +new tags as builtins to libtiff, or how to application specific tags can +be used by applications without modifying libtiff. +

+ +

TIFFFieldInfo

+ +How libtiff manages specific tags is primarily controlled by the +definition for that tag value stored internally as a TIFFFieldInfo structure. +This structure looks like this: +

+ +

+typedef	struct {
+  ttag_t    field_tag;          /* field's tag */
+  short	    field_readcount;    /* read count/TIFF_VARIABLE/TIFF_SPP */
+  short	    field_writecount;   /* write count/TIFF_VARIABLE */
+  TIFFDataType field_type;      /* type of associated data */
+  unsigned short field_bit;     /* bit in fieldsset bit vector */
+  unsigned char field_oktochange;/* if true, can change while writing */
+  unsigned char field_passcount;/* if true, pass dir count on set */
+  char	*field_name;		/* ASCII name */
+} TIFFFieldInfo;
+
+ +
    +
  • field_tag: the tag number. For instance 277 for the +SamplesPerPixel tag. Builtin tags will generally have a #define in +tiff.h for each known tag.

    + +

  • field_readcount: The number of values which should be read. +The special value TIFF_VARIABLE (-1) indicates that a variable number of +values may be read. The special value TIFFTAG_SPP (-2) indicates that there +should be one value for each sample as defined by TIFFTAG_SAMPLESPERPIXEL. +The special value TIFF_VARIABLE2 (-3) is presumably similar to TIFF_VARIABLE +though I am not sure what the distinction in behaviour is. This field +is TIFF_VARIABLE for variable length ascii fields.

    + +

  • field_writecount: The number of values which should be written. +Generally the same as field_readcount. A few built-in exceptions exist, but +I haven't analysed why they differ.

    + +

  • field_type: Type of the field. One of TIFF_BYTE, TIFF_ASCII, +TIFF_SHORT, TIFF_LONG, TIFF_RATIONAL, TIFF_SBYTE, TIFF_UNDEFINED, +TIFF_SSHORT, TIFF_SLONG, TIFF_SRATIONAL, TIFF_FLOAT, TIFF_DOUBLE or +TIFF_IFD. Note that some fields can support more than one type (for +instance short and long). These fields should have multiple TIFFFieldInfos. +

    + +

  • field_bit: Built-in tags stored in special fields in the +TIFF structure have assigned field numbers to distinguish them (ie. +FIELD_SAMPLESPERPIXEL). New tags should generally just use +FIELD_CUSTOM indicating they are stored in the generic tag list.

    + +

  • field_oktochange: TRUE if it is OK to change this tag value +while an image is being written. FALSE for stuff that must be set once +and then left unchanged (like ImageWidth, or PhotometricInterpretation for +instance).

    + +

  • field_passcount: If TRUE, then the count value must be passed +in TIFFSetField(), and TIFFGetField(), otherwise the count is not required. +This should generally be TRUE for non-ascii variable count tags unless +the count is implicit (such as with the colormap).

    + +

  • field_name: A name for the tag. Normally mixed case (studly caps) +like "StripByteCounts" and relatively short.

    + +

+ +A TIFFFieldInfo definition exists for each built-in tag in the tif_dirinfo.c +file. Some tags which support multiple data types have more than one +definition, one per data type supported.

+ +Various functions exist for getting the internal TIFFFieldInfo definitions, +including _TIFFFindFieldInfo(), and _TIFFFindFieldInfoByName(). See +tif_dirinfo.c for details. There must be some mechanism to get the whole +list, though I don't see it off hand.

+ +

Default Tag Auto-registration

+ +In libtiff 3.6.0 a new mechanism was introduced allowing libtiff to +read unrecognised tags automatically. When an unknown tags is encountered, +it is automatically internally defined with a default name and a type +derived from the tag value in the file. Applications only need to predefine +application specific tags if they need to be able to set them in a file, or +if particular calling conventions are desired for TIFFSetField() and +TIFFGetField().

+ +When tags are autodefined like this the field_readcount and +field_writecount values are always TIFF_VARIABLE. The +field_passcount is always TRUE, and the field_bit is +FIELD_CUSTOM. The field name will be "Tag %d" where the %d is the tag +number.

+ +

Defining Application Tags

+ +For various reasons, it is common for applications to want to define +their own tags to store information outside the core TIFF specification. +This is done by calling TIFFMergeFieldInfo() with one or more TIFFFieldInfos. +

+ +The libgeotiff library provides geospatial information extentions within +a TIFF file. First, a set of TIFFFieldInfo's is prepared with information +on the new tags:

+ +

+static const TIFFFieldInfo xtiffFieldInfo[] = {
+  
+  /* XXX Insert Your tags here */
+    { TIFFTAG_GEOPIXELSCALE,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
+      TRUE,	TRUE,	"GeoPixelScale" },
+    { TIFFTAG_GEOTRANSMATRIX,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
+      TRUE,	TRUE,	"GeoTransformationMatrix" },
+    { TIFFTAG_GEOTIEPOINTS,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
+      TRUE,	TRUE,	"GeoTiePoints" },
+    { TIFFTAG_GEOKEYDIRECTORY, -1,-1, TIFF_SHORT,	FIELD_CUSTOM,
+      TRUE,	TRUE,	"GeoKeyDirectory" },
+    { TIFFTAG_GEODOUBLEPARAMS,	-1,-1, TIFF_DOUBLE,	FIELD_CUSTOM,
+      TRUE,	TRUE,	"GeoDoubleParams" },
+    { TIFFTAG_GEOASCIIPARAMS,	-1,-1, TIFF_ASCII,	FIELD_CUSTOM,
+      TRUE,	FALSE,	"GeoASCIIParams" }
+};
+
+ +In order to define the tags, we call TIFFMergeFieldInfo() on the +desired TIFF handle with the list of TIFFFieldInfos.

+ +

+#define	N(a)	(sizeof (a) / sizeof (a[0]))
+
+    /* Install the extended Tag field info */
+    TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
+
+ +The tags need to be defined for each TIFF file opened - and when reading +they should be defined before the tags of the file are read, yet a valid +TIFF * is needed to merge the tags against. In order to get them +registered at the appropriate part of the setup process, it is necessary +to register our merge function as an extender callback with libtiff. +This is done with TIFFSetTagExtender(). We also keep track of the +previous tag extender (if any) so that we can call it from our extender +allowing a chain of customizations to take effect.

+ +

+static TIFFExtendProc _ParentExtender = NULL;
+
+static
+void _XTIFFInitialize(void)
+{
+    static int first_time=1;
+	
+    if (! first_time) return; /* Been there. Done that. */
+    first_time = 0;
+	
+    /* Grab the inherited method and install */
+    _ParentExtender = TIFFSetTagExtender(_XTIFFDefaultDirectory);
+}
+
+ +The extender callback is looks like this. It merges in our new fields +and then calls the next extender if there is one in effect.

+ +

+static void
+_XTIFFDefaultDirectory(TIFF *tif)
+{
+    /* Install the extended Tag field info */
+    TIFFMergeFieldInfo(tif, xtiffFieldInfo, N(xtiffFieldInfo));
+
+    /* Since an XTIFF client module may have overridden
+     * the default directory method, we call it now to
+     * allow it to set up the rest of its own methods.
+     */
+
+    if (_ParentExtender) 
+        (*_ParentExtender)(tif);
+}
+
+ +The above approach ensures that our new definitions are used when reading +or writing any TIFF file. However, since on reading we already have +default definitions for tags, it is usually not critical to pre-define them. +If tag definitions are only required for writing custom tags, you can just +call TIFFMergeFieldInfo() before setting new tags. The whole extender +architecture can then be avoided.

+ +

Adding New Builtin Tags

+ +A similar approach is taken to the above. However, the TIFFFieldInfo +should be added to the tiffFieldInfo[] list in tif_dirinfo.c. Ensure that +new tags are added in sorted order by the tag number.

+ +Normally new built-in tags should be defined with FIELD_CUSTOM; however, if +it is desirable for the tag value to have it's own field in the TIFFDirectory +structure, then you will need to #define a new FIELD_ value for it, and +add appropriate handling as follows: + + +

    +
  1. Define the tag in tiff.h. +
  2. Add a field to the directory structure in tif_dir.h + and define a FIELD_* bit (also update the definition of + FIELD_CODEC to reflect your addition). +
  3. Add an entry in the TIFFFieldInfo array defined at the top of + tif_dirinfo.c. + Note that you must keep this array sorted by tag + number and that the widest variant entry for a tag should come + first (e.g. LONG before SHORT). +
  4. Add entries in _TIFFVSetField() and _TIFFVGetField() + for the new tag. +
  5. (optional) If the value associated with the tag is not a scalar value + (e.g. the array for TransferFunction) and requires + special processing, + then add the appropriate code to TIFFReadDirectory() and + TIFFWriteDirectory(). You're best off finding a similar tag and + cribbing code. +
  6. Add support to TIFFPrintDirectory() in tif_print.c + to print the tag's value. +
+ +

+If you want to maintain portability, beware of making assumptions +about data types. Use the typedefs (uint16, etc. when dealing with +data on disk and t*_t when stuff is in memory) and be careful about +passing items through printf or similar vararg interfaces. + +

Adding New Codec-private Tags

+ +To add tags that are meaningful only when a particular compression +algorithm is used follow these steps: + +
    +
  1. Define the tag in tiff.h. +
  2. Allocate storage for the tag values in the private state block of + the codec. +
  3. Insure the state block is created when the codec is initialized. +
  4. At TIFFInitfoo time override the method pointers in the + TIFF structure + for getting, setting and printing tag values. For example, +
    +    sp->vgetparent = tif->tif_vgetfield;
    +    tif->tif_vgetfield = fooVGetField;	/* hook for codec tags */
    +    sp->vsetparent = tif->tif_vsetfield;
    +    tif->tif_vsetfield = fooVSetField;	/* hook for codec tags */
    +    tif->tif_printdir = fooPrintDir;	/* hook for codec tags */
    +
    + (Actually you may decide not to override the + tif_printdir method, but rather just specify it). +
  5. Create a private TIFFFieldInfo array for your tags and + merge them into the core tags at initialization time using + _TIFFMergeFieldInfo; e.g. +
    +    _TIFFMergeFieldInfo(tif, fooFieldInfo, N(fooFieldInfo));
    +
    + (where N is a macro used liberaly throughout the distributed code). +
  6. Fill in the get and set routines. Be sure to call the parent method + for tags that you are not handled directly. Also be sure to set the + FIELD_* bits for tags that are to be written to the file. Note that + you can create ``pseudo-tags'' by defining tags that are processed + exclusively in the get/set routines and never written to file (see + the handling of TIFFTAG_FAXMODE in tif_fax3.c + for an example of this). +
  7. Fill in the print routine, if appropriate. +
+ +Note that space has been allocated in the FIELD_* bit space for +codec-private tags. Define your bits as FIELD_CODEC+<offset> to +keep them away from the core tags. If you need more tags than there +is room for, just increase FIELD_SETLONGS at the top of +tiffiop.h. + +
+ +Last updated: $Date: 2004/09/10 14:43:18 $ + + + + diff --git a/src/3rdparty/libtiff/html/bugs.html b/src/3rdparty/libtiff/html/bugs.html new file mode 100644 index 0000000..dd17c73 --- /dev/null +++ b/src/3rdparty/libtiff/html/bugs.html @@ -0,0 +1,63 @@ + + +Bugs and the TIFF Mailing List + + + +

+ +Bugs, Bugzilla, and the TIFF Mailing List +

+ +

+This software is free. Please let us know when you find a problem or +fix a bug. + +

+Thanks to MapTools.org, libtiff now uses +bugzilla to track bugs. All bugs filed in the older bugzilla at +bugzilla.remotesensing.org (pre April 2008) have unfortunately been lost. +

+If you think you've discovered a bug, please first check to see if it is +already known by looking at the list of already reported bugs. You can do so +by visiting the buglist at +http://bugzilla.maptools.org/buglist.cgi?product=libtiff. Also verify that +the problem is still reproducable with the current development software +from CVS. +

+If you'd like to enter a new bug, you can do so at +http://bugzilla.maptools.org/enter_bug.cgi?product=libtiff. +

+If you'd like to inform us about some kind of security issue that should not +be disclosed for a period of time, then you can contact maintainers directly. +Send a copies of your report to the following people: Frank Warmerdam +<warmerdam@pobox.com>, +Andrey Kiselev +<dron@ak4719.spb.edu>. +

+ +Of course, reporting bugs is no substitute for discussion. The +tiff@lists.maptools.org mailing +list is for users of this software, and discussion TIFF issues in general. +It is managed with the Mailman software, and the web interface for subscribing +and managing your access to the list is at:

+ + http://lists.maptools.org/mailman/listinfo/tiff

+ +Posts to the list are only accepted from members of the list in order +to limit the amount of spam propagated. Also, to be approved as a member +you will need to email the list administrator with a brief description of +why you are interested in TIFF so we can weed out spammers.

+ +A Long Term +Archive including recent messages, and most messages back to 1993, +with search capabilities is available, and +has been prepared and hosted by AWare +Systems.

+ + +


+ +Last updated: $Date: 2008/09/03 08:04:26 $ + + diff --git a/src/3rdparty/libtiff/html/build.html b/src/3rdparty/libtiff/html/build.html new file mode 100644 index 0000000..e0b2157 --- /dev/null +++ b/src/3rdparty/libtiff/html/build.html @@ -0,0 +1,880 @@ + + + + +Building the TIFF Software Distribution + + +

Building the Software Distribution

+ +
+This chapter contains step-by-step instructions on how to configure +and build the TIFF software distribution. The software is most +easily built on a UNIX system, but with a little bit of work it can +easily be built and used on other non-UNIX platforms. +
+

Building on a UNIX System

+To build the software on a UNIX system you need to first run the +configure shell script that is located in the top level of the +source directory. This script probes the target system for +necessary tools and functions and constructs a build environment in +which the software may be compiled. Once configuration is done, you +simply run make (or gmake) to build the software +and then make install to do the installation; for example: +
+
+hyla% cd tiff-v3.4beta099
+hyla% ./configure
+    ...lots of messages...
+hyla% make
+    ...lots of messages...
+hyla# make install
+
+Supplied makefiles are depend on GNU make utility, so you +will need the one. Depending on your installation make +command may invoke standard system make and gmake +invoke GNU make. In this case you should use former. If you don't +have make at all, but only gmake, you should +export environment variable MAKE=gmake before +./configure. +

In general, the software is designed such that the following +should be ``make-able'' in each directory:

+
+
+make [all]      build stuff
+make install    build&install stuff
+make clean      remove .o files, executables and cruft
+make distclean  remove everything, that can be recreated
+
+Note that after running "make distclean" the +configure script must be run again to create the Makefiles +and other make-related files. +
+

Build Trees

+There are two schemes for configuring and building the software. If +you intend to build the software for only one target system, you +can configure the software so that it is built in the same +directories as the source code. +
+
+hyla% cd tiff-v3.4beta099
+hyla% ls
+COPYRIGHT       VERSION         config.sub      dist            man
+Makefile.in     config.guess    configure       html            port
+README          config.site     contrib         libtiff         tools
+hyla% ./configure
+
+

Otherwise, you can configure a build tree that is parallel to +the source tree hierarchy but which contains only configured files +and files created during the build procedure.

+
+
+hyla% cd tiff-v3.4beta099
+hyla% mkdir obj obj/mycpu
+hyla% cd obj/mycpu
+hyla% ../../configure
+
+This second scheme is useful for: +
    +
  • building multiple targets from a single source tree
  • +
  • building from a read-only source tree (e.g. if you receive the +distribution on CD-ROM)
  • +
+ +
+

Configuration Options

+The configuration process is critical to the proper compilation, +installation, and operation of the software. The configure script +runs a series of tests to decide whether or not the target system +supports required functionality and, if it does not, whether it can +emulate or workaround the missing functions. This procedure is +fairly complicated and, due to the nonstandard nature of most UNIX +systems, prone to error. The first time that you configure the +software for use you should check the output from the configure +script and look for anything that does not make sense for your +system. +

A second function of the configure script is to set the default +configuration parameters for the software. Of particular note are +the directories where the software is to be installed. By default +the software is installed in the /usr/local hierarchy. To +change this behaviour the appropriate parameters can be specified +on the command line to configure. Run ./configure --help to +get a list of possible options. Installation related options are +shown below.

+
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [/usr/local]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, `make install' will install all the files in
+`/usr/local/bin', `/usr/local/lib' etc.  You can specify
+an installation prefix other than `/usr/local' using `--prefix',
+for instance `--prefix=$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+
+ +
+

Configuring Optional Packages/Support

+The TIFF software comes with several packages that are installed +only as needed, or only if specifically configured at the time the +configure script is run. Packages can be configured via the +configure script commandline parameters. +
+
Static/Shared Objects Support
+
--enable-shared[=PKGS]    build shared +libraries [default=yes]
+--enable-static[=PKGS]    build static +libraries [default=yes]
+

These options control whether or not to configure the software +to build a shared and static binaries for the TIFF library. Use of +shared libraries can significantly reduce the disk space needed for +users of the TIFF software. If shared libarries are not used then +the code is statically linked into each application that uses it. +By default both types of binaries is configured.

+

--enable-rpath    Enable runtime linker +paths (-R libtool option)

+

Add library directories (see other options below) to the TIFF +library run-time linker path.

+
+
JPEG Support
+
--disable-jpeg    disable IJG JPEG +library usage (required for JPEG compression, enabled by default) +--with-jpeg-include-dir=DIR    location of IJG +JPEG library headers +--with-jpeg-lib-dir=DIR    location of IJG JPEG +library binary)
+
The JPEG package enables support for the handling of +TIFF images with JPEG-encoded data. Support for JPEG-encoded data +requires the Independent JPEG Group (IJG) libjpeg +distribution; this software is available at ftp.uu.net:/graphics/jpeg/. +configure script automatically tries to search the working +IJG JPEG installation. If it fails to find library, JPEG support +will be automatically disabled.If you want specify the exact paths +to library binary and headers, use above switches for that.
+
ZIP Support
+
The ZIP support enables support for the handling of +TIFF images with deflate-encoded data. Support for deflate-encoded +data requires the freely available zlib distribution +written by Jean-loup Gailly and Mark Adler; this software is +available at ftp.uu.net:/pub/archiving/zip/zlib/ +(or try quest.jpl.nasa.gov:/beta/zlib/). +If ZIP support is enabled the DIRS_LIBINC and +DIR_GZLIB parameters should also be set (see below). By +default this package is not configured.
+
+ +
+

A Sample Configuration Session

+This section shows a sample configuration session and describes the +work done. The session is shown indented in a fixed width +font with user-supplied input in a bold font. +Comments are shown in a normal or italic font. This session +was collected on a 486 machine running BSDI 1.1. +
+
+
+wullbrandt% mkdir tiff
+wullbrandt% cd tiff
+wullbrandt% ln -s /hosts/oxford/usr/people/sam/tiff src
+
+
+A build tree separate from the source tree is used here. In fact, +in this case the distribution is accessed from a read-only +NFS-mounted filesystem. +
+
+
+wullbrandt% src/configure
+Configuring TIFF Software v3.4beta015.
+
+Reading site-wide parameters from ../tiff-v3.4beta015/config.site.
+Reading local parameters from config.local.
+Gosh, aren't you lucky to have a i386-unknown-bsdi1.1 system!
+
+
+Note that configure announces the distribution version and the +deduced target configuration (i386-unknown-bsdi1.1 here). +
+
+
+Using /usr/local/bin/gcc for a C compiler (set CC to override).
+Looks like /usr/local/bin/gcc supports the -g option.
+Using " -g" for C compiler options.
+
+
+configure checked the normal shell search path for potential ANSI C +compilers. The compiler is selected according to it properly +compiling a small ANSI C test program. A specific compiler may be +requested by setting the CC environment variable to the +appropriate pathname, by supplying the parameter on the command +line, e.g. -with-CC=gcc, or by setting CC in a +configuration file. +

Note +that an ANSI C compiler is required to build the software. If a C +compiler requires options to enable ANSI C compilation, they can be +specified with the ENVOPTS parameter.

+

Once a compiler is selected configure checks to see if the +compiler accepts a -g option to enable the generation of debugging +symbols, and if the compiler includes an ANSI C preprocessor.

+
+
+
+Using /usr/ucb/make to configure the software.
+
+
+Next various system-specific libraries that may or may not be +needed are checked for (none are needed in this case). If your +system requires a library that is not automatically included it can +be specified by setting the MACHDEPLIBS parameter. +

Creating port.h. The port.h file is included by +all the C code in the library (but not the tools). It includes +definitions for functions and type definitions that are missing +from system include files, #defines to enable or disable +system-specific functionality, and other odds and ends.

+
+
+
+Creating libtiff/port.h with necessary definitions.
+... using LSB2MSB bit order for your i386 cpu
+... using big-endian byte order for your i386 cpu
+... configure use of mmap for memory-mapped files
+... O_RDONLY is in <fcntl.h>
+... using double for promoted floating point parameters
+... enabling use of inline functions
+Done creating libtiff/port.h.
+
+
+This file can take a long time to create so configure generates the +file only when it is needed, either because the file does not exist +or because a different target or compiler is to be used. Note that +running "make distclean" in the top-level directory of the +build tree will remove the port.h file (along with all the +other files generated by configure). +

Selecting emulated library functions. Certain library +functions used by the tools are not present on all systems and can +be emulated using other system functionality. configure checks for +the presence of such functions and if they are missing, will +configure emulation code from the port directory to use +instead. Building the TIFF software on unsupported systems may +require adding to the code to the port directory.

+
+
+
+Checking system libraries for functionality to emulate.
+Done checking system libraries.
+
+
+If a routine must be emulated and configure does not automatically +check for it, the routine name can be specified using the +PORTFUNCS parameter. To add emulation support for a new +function foo, create a file port/foo.c that +contains the emulation code and then set PORTFUNCS=foo in +a configuration file or modify the configure script to +automatically check for the missing function. +
+
+
+Checking for Dynamic Shared Object (DSO) support.
+Done checking for DSO support.
+
+
+If the DSO package is enabled (DSO=auto or +DSO=yes), then configure will verify the system and +compiler are capable of constructing SVR4-style DSO's in the +expected way. Note that while a system may support DSO's the +compiler may not be capable of generating the required +position-independent code and/or the compiler may not pass the +needed options through to the loader. +

Selecting utility programs. configure locates various +system utility programs that are used during installation of the +software.

+
+
+
+Selecting programs used during installation.
+Looks like mv supports the -f option to force a move.
+Looks like /bin/ln supports the -s option to create a symbolic link.
+Done selecting programs.
+
+
+

Selecting default configuration parameters. The remainder +of the work done by configure involves setting up configuration +parameters that control the placement and setup of files during the +installation procedure.

+
+
+
+Selecting default TIFF configuration parameters.
+
+Looks like manual pages go in /usr/contrib/man.
+Looks like manual pages should be installed with bsd-nroff-gzip-0.gz.
+
+TIFF configuration parameters are:
+
+[ 1] Directory for tools:               /usr/contrib/bin
+[ 2] Directory for libraries:           /usr/contrib/lib
+[ 3] Directory for include files:       /usr/contrib/include
+[ 4] Directory for manual pages:        /usr/contrib/man
+[ 5] Manual page installation scheme:   bsd-nroff-gzip-0.gz
+
+Are these ok [yes]? 
+
+
+At this point you can interactively modify any of the displayed +parameters. Hitting a carriage return or typing yes will +accept the current parameters. Typing one of the number displayed +along the left hand side causes configure to prompt for a new value +of the specified parameter. Typing anything else causes configure +to prompt for a new value for each parameter. In general +hitting carriage return will accept the current value and typing +anything that is unacceptable will cause a help message to be +displayed. A description of each of the configuration parameters is +given below. +

Once acceptable parameters are setup configure will generate all +the files that depend on these parameters. Note that certain files +may or may not be created based on the configuration of optional +packages and/or the functions supported by target system.

+
+
+
+Creating Makefile from ../tiff-v3.4beta015/Makefile.in
+Creating libtiff/Makefile from ../tiff-v3.4beta015/libtiff/Makefile.in
+Creating man/Makefile from ../tiff-v3.4beta015/man/Makefile.in
+Creating tools/Makefile from ../tiff-v3.4beta015/tools/Makefile.in
+Creating port/install.sh from ../tiff-v3.4beta015/port/install.sh.in
+Done.
+
+
+ +
+

Shared Library Support

+It is desirable to make the TIFF library be a shared object on +systems that have support for shared libraries. Unfortunately the +rules to use to build a shared library vary between operating +systems and even compilers. The distributed software includes +support for building a shared version of the library on a number of +different systems. This support is split between rules in the file +libtiff/Makefile.in that construct the shared library and +checks done by the configure script to verify that the +expected rules are supported by compilation tools for the target +system. +

To add new support for building a shared library both these +files must be updated. In the configure script search for the +section where the autoconfiguration setting of the DSO +parameter is handled and add a new case for the target system that +sets the DSOSUF, DSOLD, DSOOPTS, and +LIBCOPTS options as appropriate for the system. +DSOSUF specifies the filename suffix used for the shared +library (e.g. ``.so'' for Dynamic Shared Objects on most SVR4-based +systems). DSOLD specifies the program to use to build the +shared library from a compiled object file; typically ``${LD}'' +though on some systems it is better to use the C compiler directly +so system-dependent options and libraries are automatically +supplied. DSOOPTS are options that must be specified to +DSOLD when building the shared library. LIBCOPTS +are options to pass to the C compiler when constructing a +relocatable object file to include in a shared library; e.g. ``-K +PIC'' on a Sun system. The DSO parameter must also be set +to a unique label that identifies the target system and compilation +tools. This label is used to select a target in +libtiff/Makefile.in to do the actual work in building the +shared library. Finally, to complete support for the shared library +added the appropriate rules to libtiff/Makefile.in under the +target specified in the configure script.

+
+

Building the Software under Windows 95/98/NT/2000 with MS +VC++

+With Microsoft Visual C++ installed, and properly configured for +commandline use (you will likely need to source VCVARS32.BAT in +AUTOEXEC.bAT or somewhere similar) you should be able to use the +provided makefile.vc. +

The source package is delivered using Unix line termination +conventions, which work with MSVC but do not work with Windows +'notepad'. If you use unzip from the Info-Zip package, you +can extract the files using Windows normal line termination +conventions with a command similar to:

+
+  unzip -aa -a tiff-3.7.4.zip
+
+

By default libtiff expects that a pre-built zlib and jpeg +library are provided by the user. If this is not the case, then you +may edit libtiff\tiffconf.h using a text editor (e.g. notepad) and +comment out the entries for JPEG_SUPPORT, PIXARLOG_SUPPORT, and +ZIP_SUPPORT. Ignore the comment at the top of the file which says +that it has no influence on the build, because the statement is not +true for Windows. However, by taking this approach, libtiff will +not be able to open some TIFF files.

+

To build using the provided makefile.vc you may use:

+
+  C:\tiff-3.7.4> nmake /f makefile.vc clean
+  C:\tiff-3.7.4> nmake /f makefile.vc
+
+    or (the hard way)
+
+  C:\tiff-3.7.4> cd port
+  C:\tiff-3.7.4\port> nmake /f makefile.vc clean
+  C:\tiff-3.7.4\port> nmake /f makefile.vc
+  C:\tiff-3.7.4> cd ../libtiff
+  C:\tiff-3.7.4\libtiff> nmake /f makefile.vc clean
+  C:\tiff-3.7.4\libtiff> nmake /f makefile.vc
+  C:\tiff-3.7.4\libtiff> cd ..\tools
+  C:\tiff-3.7.4\tools> nmake /f makefile.vc clean
+  C:\tiff-3.7.4\tools> nmake /f makefile.vc
+
+

This will build the library file +libtiff\libtiff\libtiff.lib. This can be used in Win32 +programs. You may want to adjust the build options before start +compiling. All parameters contained in the nmake.opt +file.This is a plain text file you can open with your favorite text +editor.

+

The makefile also builds a DLL (libtiff.dll) with an associated +import library (libtiff_i.lib). Any builds using libtiff will need +to include the LIBTIFF\LIBTIFF directory in the include path.

+

The libtiff\tools\makefile.vc should build .exe's for +all the standard TIFF tool programs.

+

+
+

Building the Software under MS/DOS with the DJGPP v2 +compiler

+[From the file contrib/dosdjgpp/README.] +

The directory contrib/dosdjgpp contains the files +necessary to build the library and tools with the DJGPP v2 compiler +under MSDOS.

+

All you have to do is copy the files in the directory into the +respective directories and run make. If you want, you can use the +conf.bat script to do that for you, make sure that the file +is stored with MSDOS text EOL-convention (CR/LF), otherwise the +command.com will not do anything.

+

Note that you probably will not be able to build the library +with the v1.x versions of djgpp, due to two problems. First, the +top makefile calls a sub-make for each directory and you are likely +to run out of memory, since each recursive invocation of a djgpp +v1.x program requires about 130k, to avoid that, you can enter the +directories manually and call make (well, there are only two dirs). +The 2nd problem is that djgpp 1.x doesn't call the coff2exe +(stubify) program when creating an executable. This means that all +programs compiled are not converted to exe and consequently are not +available for calling directly. For the tools directory, you can +just call coff2exe for each program after make finishes, but in the +libtiff directory, a few programs are created during the make +process that have to be called for make to continue (e.g. +mkg3states). Make will probably report an error at each such stage. +To fix that, either add a coff2exe call before each program is +called or call coff2exe manually and rerun make (there 2-3 such +programs).

+
+

Building the Software on a Macintosh with MPW

+The directory contrib/mac-mpw contains support for compiling +the library and tools under the MPW Shell on a Macintosh system. +This support was contributed by Niles Ritter (ndr@tazboy.jpl.nasa.gov). +

[From the file contrib/mac-mpw/README.]

+

This directory contains all of the utilities and makefile source +to build the LIBTIFF library and tools from the MPW Shell. The file +BUILD.mpw in this directory is an executable script which uses all +of these files to create the MPW makefiles and run them.

+

The <file>.make files are not MPW makefiles as such, but +are when run through the "mactrans" program, which turns the ascii +"%nn" metacharacters into the standard weird MPW make +characters.

+

This translation trick is necessary to protect the files when +they are put into unix tarfiles, which tend to mangle the special +characters.

+
+

Building the Software on a Macintosh with CodeWarrior

+The directory contrib/mac-cw contains support for compiling +the library and tools with MetroWerks CodeWarrior 6.1 on a +Macintosh system. This support was contributed by Niles Ritter +(ndr@tazboy.jpl.nasa.gov). +

[From the file contrib/mac-cw/README.] In this +directory you will find a Makefile.script Applescript file, which +should be run in order to build the libtiff code using MetroWerks +CodeWarrior. Refer to the "metrowerks.note" instructions on +building the library for 68k and PowerPC native code, as well as +building some of the libtiff tools, which are rather unix-like, but +at least give an example of how to link everything together. +

+
+

Building the Software on a VMS System

+The VMS port was done by Karsten Spang (krs@kampsax.dk), who also "sort of" +maintains it. The VMS specific files are not in the main +directories. Instead they are placed under +[.CONTRIB.VMS...] in the distribution tree. Installation: +It is assumed that you have unpacked the tar file into a VMS +directory tree, in this text called DISK:[TIFF]. +
    +
  1. Move the VMS specific files to their proper directories. +
    +$ SET DEFAULT DISK:[TIFF.CONTRIB.VMS]
    +$ RENAME [.LIBTIFF]*.* [-.-.LIBTIFF]
    +$ RENAME [.TOOLS]*.* [-.-.TOOLS]
    +
  2. +
  3. Compile the library. +
    +$ SET DEFAULT DISK:[TIFF.LIBTIFF]
    +$ @MAKEVMS
    +
  4. +
  5. Compile the tools. +
    +$ SET DEFAULT DISK:[TIFF.TOOLS]
    +$ @MAKEVMS
    +
  6. +
  7. Define the programs. +
    +$ DEFINE TIFFSHR DISK:[TIFF.LIBTIFF]TIFFSHR
    +$ FAX2PS    :==$DISK:[TIFF.TOOLS]FAX2PS
    +$ FAX2TIFF  :==$DISK:[TIFF.TOOLS]FAX2TIFF
    +$ GIF2TIFF  :==$DISK:[TIFF.TOOLS]GIF2TIFF
    +$ PAL2RGB   :==$DISK:[TIFF.TOOLS]PAL2RGB
    +$ PPM2TIFF  :==$DISK:[TIFF.TOOLS]PPM2TIFF
    +$ RAS2TIFF  :==$DISK:[TIFF.TOOLS]RAS2TIFF
    +$ RGB2YCBCR :==$DISK:[TIFF.TOOLS]RGB2YCBCR
    +$ THUMBNAIL :==$DISK:[TIFF.TOOLS]THUMBNAIL
    +$ TIFF2BW   :==$DISK:[TIFF.TOOLS]TIFF2BW
    +$ TIFF2PS   :==$DISK:[TIFF.TOOLS]TIFF2PS
    +$ TIFFCMP   :==$DISK:[TIFF.TOOLS]TIFFCMP
    +$ TIFFCP    :==$DISK:[TIFF.TOOLS]TIFFCP
    +$ TIFFDITHER:==$DISK:[TIFF.TOOLS]TIFFDITHER
    +$ TIFFDUMP  :==$DISK:[TIFF.TOOLS]TIFFDUMP
    +$ TIFFINFO  :==$DISK:[TIFF.TOOLS]TIFFINFO
    +$ TIFFMEDIAN:==$DISK:[TIFF.TOOLS]TIFFMEDIAN
    +$ TIFFSPLIT :==$DISK:[TIFF.TOOLS]TIFFSPLIT
    +$ YCBCR     :==$DISK:[TIFF.TOOLS]YCBCR
    +
  8. +
+You will want to add these lines to your LOGIN.COM file, +after changing the name of the directory that you have used on your +machine. +

This release has been tested on OpenVMS/VAX 5.5-2, using VAX C +3.2. A previous release was tested under OpenVMS/AXP ?.? using DEC +C ?.?, it is believed that this release as well works on AXP. The +code contains some GNU C specific things. This does *not* imply, +however, that the VAX/GCC configuration has been tested, *it has +not*.

+

The command procedures (MAKEVMS.COM) for building the +library and tools, is believed to choose the correct options for +the VAX and AXP cases automatically.

+

On the AXP, IEEE floating point is used by default. If you want +VAX floating point, remove the /FLOAT=IEEE_FLOAT +qualifier, and change HAVE_IEEEFP=1 to +HAVE_IEEEFP=0 in the MAKEVMS.COM files in both +the libtiff and tools directories.

+

Compiling your own program on a VMS system:

+When compiling a source file in which you "#include +<tiffio.h>", use the following command +
+    $ CC/INCLUDE=DISK:[TIFF.LIBTIFF]
+
+This ensures that the header file is found. On the AXP, also add +/FLOAT=IEEE_FLOAT (if used when building the library). +

Linking your own program to the TIFF library on a VMS +system:

+You can link to the library in two ways: Either using the shareable +library, or using the object library. On the VAX these +possibilities are: +
    +
  1. Using the shareable TIFF library. +
    +$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS,SYS$INPUT:/OPTIONS
    +    SYS$SHARE:VAXCRTL/SHAREABLE
    +
  2. +
  3. Using the TIFF object library. +
    +$ LINK MY_PROGRAM, -
    +    DISK:[TIFF.LIBTIFF]TIFF/LIBRARY/INCLUDE=(TIF_FAX3SM,TIF_CODEC), -
    +    SYS$INPUT:/OPTIONS
    +    SYS$SHARE:VAXCRTL/SHAREABLE
    +
  4. +
+On AXP (and possibly also using DEC C on VAX) the corresponding +commands are +
    +
  1. Using the shareable TIFF library. +
    +$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/OPTIONS
    +
  2. +
  3. Using the TIFF object library. +
    +$ LINK MY_PROGRAM,DISK:[TIFF.LIBTIFF]TIFF/LIBRARY
    +
  4. +
+Method 1 uses the shortest link time and smallest .EXE +files, but it requires that TIFFSHR is defined as above at +link time and at run time. Using the compilation +procedure above, the tools are linked in this way. +

Method 2 gives somewhat longer link time and larger +.EXE files, but does not require TIFFSHR to be +defined. This method is recommended if you want to run your program +on another machine, and for some reason don't want to have the +library on that machine. If you plan to have more than one program +(including the tools) on the machine, it is recommended that you +copy the library to the other machine and use method 1.

+
+

Building the Software on an Acorn RISC OS system

+The directory contrib/acorn contains support for compiling +the library under Acorn C/C++ under Acorn's RISC OS 3.10 or above. +Subsequent pathnames will use the Acorn format: The full-stop or +period character is a pathname delimeter, and the slash character +is not interpreted; the reverse position from Unix. Thus +"libtiff/tif_acorn.c" becomes "libtiff.tif_acorn/c". +

This support was contributed by Peter Greenham. (peter@enlarion.demon.co.uk).

+

Installing LibTIFF:

+

LIBTIFF uses several files which have names longer than the +normal RISC OS maximum of ten characters. This complicates matters. +Maybe one day Acorn will address the problem and implement long +filenames properly. Until then this gets messy, especially as I'm +trying to do this with obeyfiles and not have to include binaries +in this distribution.

+

First of all, ensure you have Truncate configured on (type +*Configure Truncate On)

+

Although it is, of course, preferable to have long filenames, +LIBTIFF can be installed with short filenames, and it will compile +and link without problems. However, getting it there is more +problematic. contrib.acorn.install is an installation +obeyfile which will create a normal Acorn-style library from the +source (ie: with c, h and o folders etc.), but needs the +distribution library to have been unpacked into a location which is +capable of supporting long filenames, even if only temporarily.

+

My recommendation, until Acorn address this problem properly, is +to use Jason Tribbeck's +LongFilenames, or any other working system that gives you long +filenames, like a nearby NFS server for instance.

+

If you are using Longfilenames, even if only temporarily to +install LIBTIFF, unpack the TAR into a RAMDisc which has been +longfilenamed (ie: *addlongfs ram) and then install from +there to the hard disk. Unfortunately Longfilenames seems a bit +unhappy about copying a bunch of long-named files across the same +filing system, but is happy going between systems. You'll need to +create a ramdisk of about 2Mb.

+

Now you can run the installation script I've supplied (in +contrib.acorn), which will automate the process of installing +LIBTIFF as an Acorn-style library. The syntax is as follows:

+

install <source_dir> <dest_dir>

+

Install will then create <dest_dir> and put the library in +there. For example, having used LongFilenames on the RAMDisk and +unpacked the library into there, you can then type:

+

Obey RAM::RamDisc0.$.contrib.acorn.install RAM::RamDisc0.$ +ADFS::4.$.LIBTIFF

+

It doesn't matter if the destination location can cope with long +filenames or not. The filenames will be truncated if necessary +(*Configure Truncate On if you get errors) and all will be +well.

+

Compiling LibTIFF:

+

Once the LibTIFF folder has been created and the files put +inside, making the library should be just a matter of running +'SetVars' to set the appropriate system variables, then +running 'Makefile'.

+

OSLib

+

OSLib +is a comprehensive API for RISC OS machines, written by Jonathan +Coxhead of Acorn Computers (although OSLib is not an official Acorn +product). Using the OSLib SWI veneers produces code which is more +compact and more efficient than code written using _kernel_swi or +_swi. The Acorn port of LibTIFF can take advantage of this if +present. Edit the Makefile and go to the Static dependencies +section. The first entry is:

+
+# Static dependencies:
+@.o.tif_acorn:   @.c.tif_acorn
+        cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn 
+
+

Change the cc line to:

+
+        cc $(ccflags) -DINCLUDE_OSLIB -o @.o.tif_acorn @.c.tif_acorn 
+
+

Remember, however, that OSLib is only recommended for +efficiency's sake. It is not required.

+
+

Building the Software on Other Systems

+This section contains information that might be useful if you are +working on a non-UNIX system that is not directly supported. All +library-related files described below are located in the +libtiff directory. +

The library requires two files that are generated +on-the-fly. The file tif_fax3sm.c has the state +tables for the Group 3 and Group 4 decoders. This file is generated +by the mkg3states program on a UNIX system; for +example,

+
+
+
+cd libtiff
+cc -o mkg3states mkg3states.c
+rm -f tif_fax3sm.c
+./mkg3states -c const tif_fax3sm.c
+
+
+The -c option can be used to control whether or not the +resutling tables are generated with a const declaration. +The -s option can be used to specify a C storage class for +the table declarations. The -b option can be used to force +data values to be explicitly bracketed with ``{}'' (apparently +needed for some MS-Windows compilers); otherwise the structures are +emitted in as compact a format as possible. Consult the source code +for this program if you have questions. +

The second file required to build the library, version.h, +contains the version information returned by the +TIFFGetVersion routine. This file is built on most systems +using the mkversion program and the contents of the +VERSION and tiff.alpha files; for example,

+
+
+cd libtiff
+cc -o mkversion mkversion.c
+rm -f version.h
+./mkversion -v ../VERSION -a ../dist/tiff.alpha version.h
+
+

Otherwise, when building the library on a non-UNIX system be +sure to consult the files tiffcomp.h and tiffconf.h. +The former contains system compatibility definitions while the +latter is provided so that the software configuration can be +controlled on systems that do not support the make facility for +building the software.

+

Systems without a 32-bit compiler may not be able to handle some +of the codecs in the library; especially the Group 3 and 4 decoder. +If you encounter problems try disabling support for a particular +codec; consult the documentation.

+

Programs in the tools directory are written to assume an ANSI C +compilation environment. There may be a few POSIX'isms as well. The +code in the port directory is provided to emulate routines +that may be missing on some systems. On UNIX systems the +configure script automatically figures out which routines +are not present on a system and enables the use of the equivalent +emulation routines from the port directory. It may be +necessary to manually do this work on a non-UNIX system.

+
+

Checking out the Software

+

Assuming you have working versions of tiffgt and +tiffsv, you can just use them to view any of the sample +images available for testing (see the section +on obtaining the test images). Otherwise, you can do a cursory +check of the library with the tiffcp and tiffcmp +programs. For example,

+
+
+tiffcp -lzw cramps.tif x.tif
+tiffcmp cramps.tif x.tif
+
+

(tiffcmp should be silent if the files compare +correctly).

+
+

Table of Contents

+The following files makup the core library: +
+libtiff/tiff.h                  TIFF spec definitions
+libtiff/tiffcomp.h              non-UNIX OS-compatibility definitions
+libtiff/tiffconf.h              non-UNIX configuration definitions
+libtiff/tiffio.h                public TIFF library definitions
+libtiff/tiffiop.h               private TIFF library definitions
+libtiff/t4.h                    CCITT Group 3/4 code tables+definitions
+libtiff/tif_dir.h               private defs for TIFF directory handling
+libtiff/tif_fax3.h              CCITT Group 3/4-related definitions
+libtiff/tif_predict.h           private defs for Predictor tag support
+libtiff/uvcode.h                LogL/LogLuv codec-specific definitions
+libtiff/version.h               version string (generated by Makefile)
+
+libtiff/tif_acorn.c             Acorn-related OS support
+libtiff/tif_apple.c             Apple-related OS support
+libtiff/tif_atari.c             Atari-related OS support
+libtiff/tif_aux.c               auxilary directory-related functions
+libtiff/tif_close.c             close an open TIFF file
+libtiff/tif_codec.c             configuration table of builtin codecs
+libtiff/tif_compress.c          compression scheme support
+libtiff/tif_dir.c               directory tag interface code
+libtiff/tif_dirinfo.c           directory known tag support code
+libtiff/tif_dirread.c           directory reading code
+libtiff/tif_dirwrite.c          directory writing code
+libtiff/tif_dumpmode.c          "no" compression codec
+libtiff/tif_error.c             library error handler
+libtiff/tif_fax3.c              CCITT Group 3 and 4 codec
+libtiff/tif_fax3sm.c            G3/G4 state tables (generated by mkg3states)
+libtiff/tif_flush.c             i/o and directory state flushing
+libtiff/tif_getimage.c          TIFFRGBAImage support
+libtiff/tif_jpeg.c              JPEG codec (interface to the IJG distribution)
+libtiff/tif_luv.c               SGI LogL/LogLuv codec
+libtiff/tif_lzw.c               LZW codec
+libtiff/tif_msdos.c             MSDOS-related OS support
+libtiff/tif_next.c              NeXT 2-bit scheme codec (decoding only)
+libtiff/tif_open.c              open and simply query code
+libtiff/tif_packbits.c          Packbits codec
+libtiff/tif_pixarlog.c          Pixar codec
+libtiff/tif_predict.c           Predictor tag support
+libtiff/tif_print.c             directory printing support
+libtiff/tif_read.c              image data reading support
+libtiff/tif_strip.c             some strip-related code
+libtiff/tif_swab.c              byte and bit swapping support
+libtiff/tif_thunder.c           Thunderscan codec (decoding only)
+libtiff/tif_tile.c              some tile-related code
+libtiff/tif_unix.c              UNIX-related OS support
+libtiff/tif_version.c           library version support
+libtiff/tif_vms.c               VMS-related OS support
+libtiff/tif_warning.c           library warning handler
+libtiff/tif_win3.c              Windows-3.1-related OS support
+libtiff/tif_win32.c             Win32 (95/98/NT) related OS support
+libtiff/tif_write.c             image data writing support
+libtiff/tif_zip.c               Deflate codec
+
+libtiff/mkg3states.c            program to generate G3/G4 decoder state tables
+libtiff/mkspans.c               program to generate black-white span tables
+libtiff/mkversion.c             program to generate libtiff/version.h.
+
+
+Last updated: $Date: 2005/12/24 22:25:05 $ + + diff --git a/src/3rdparty/libtiff/html/contrib.html b/src/3rdparty/libtiff/html/contrib.html new file mode 100644 index 0000000..d138900 --- /dev/null +++ b/src/3rdparty/libtiff/html/contrib.html @@ -0,0 +1,209 @@ + + + +Contributed TIFF Software + + + + + +

+ +Contributed TIFF Software +

+ + +

+The contrib directory has contributed software that +uses the TIFF library or which is associated with the library +(typically glue and guidance for ports to non-UNIX platforms, or tools that +aren't directly TIFF related). + +
+ +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+contrib/vms + +scripts and files from Karsten Spang for building + the library and tools under VMS +
+contrib/dbs + +various tools from Dan & Chris Sears, including a simple X-based viewer +
+contrib/ras + +two programs by Patrick Naughton for converting + between Sun rasterfile format and TIFF (these + require libpixrect.a, as opposed to the one in + tools that doesn't) +
+contrib/mac-mpw
+contrib/mac-cw +
+scripts and files from Niles Ritter for building +the library and tools under Macintosh/MPW C and +code warrior. +
+contrib/acorn + +scripts and files from Peter Greenham for building + the library and tools on an Acorn RISC OS system. +
+contrib/win32 + +scripts and files from Scott Wagner for building +the library under Windows NT and Windows 95. (The makefile.vc in the +libtiff/libtiff directory may be sufficient for most users.) +
+contrib/win_dib + +two separate implementations of TIFF to DIB code suitable for any Win32 +platform. Contributed by Mark James, and Philippe Tenenhaus. +
+contrib/ojpeg + +Patch for IJG JPEG library related to support for some Old JPEG in TIFF files. +Contributed by Scott Marovich. +
+contrib/dosdjgpp + +scripts and files from Alexander Lehmann for building + the library under MSDOS with the DJGPP v2 compiler. +
+contrib/tags + +scripts and files from Niles Ritter for adding private + tag support at runtime, without changing libtiff. +
+contrib/mfs + +code from Mike Johnson to read+write images in memory +without modifying the library +
+contrib/pds + +various routines from Conrad Poelman; a TIFF image iterator and + code to support ``private sub-directories'' +
+contrib/iptcutil + + +A utility by Bill Radcliffe to +convert an extracted IPTC Newsphoto caption from a binary blob to +ASCII text, and vice versa. IPTC binary blobs can be extracted from +images via the ImageMagick convert(1) +utility. + + +
+contrib/addtiffo + + +A utility (and supporting subroutine) for building +one or more reduce resolution +overviews to an existing TIFF file. Supplied by +Frank Warmerdam. + +
+contrib/stream + + +A class (TiffStream) for accessing TIFF files through a C++ stream +interface. Supplied by Avi Bleiweiss. + +
+ +

+Questions regarding these packages are usually best directed toward +their authors. + +

+


+ +Last updated: $Date: 2006/01/03 01:42:30 $ + + + diff --git a/src/3rdparty/libtiff/html/document.html b/src/3rdparty/libtiff/html/document.html new file mode 100644 index 0000000..12f138f --- /dev/null +++ b/src/3rdparty/libtiff/html/document.html @@ -0,0 +1,48 @@ + + + +TIFF Documentation + + + + +

+ +TIFF Documentation +

+ +

+A copy of the 6.0 specification is available from Adobe at +http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf, or from the libtiff +ftp site at +ftp://ftp.remotesensing.org/pub/libtiff/doc/TIFF6.pdf.

+ +

+Draft TIFF Technical Note #2 covers problems +with the TIFF 6.0 design for embedding JPEG-compressed data in TIFF, and +describes an alternative.

+ +Other Adobe information on TIFF can be retrieved from: + + +http://partners.adobe.com/public/developer/tiff/index.html + +

+Joris Van Damme maintains a list of known tags and their descriptions and +definitions. It is available online at + +http://www.awaresystems.be/imaging/tiff/tifftags.html + +

+There is a FAQ, related both to TIFF format and libtiff library: + +http://www.awaresystems.be/imaging/tiff/faq.html + +


+ +
+ Last updated: $Date: 2009-08-20 22:31:00 $ +
+ + + diff --git a/src/3rdparty/libtiff/html/images.html b/src/3rdparty/libtiff/html/images.html new file mode 100644 index 0000000..150ed0c --- /dev/null +++ b/src/3rdparty/libtiff/html/images.html @@ -0,0 +1,41 @@ + + + +TIFF Test Images + + + + +

+ +TIFF Test Images +

+ +

+Test images are available for most formats supported by the library. +Most of the images included in the test kit are also part of this +documentation (albeit in TIFF rather than GIF or JFIF). +The images are kept in a separate archive that should be located in +the same directory as this software. + +
+ +

+The latest archive of test images is located at + +ftp://ftp.remotesensing.org/pub/libtiff/pics-3.8.0.tar.gz + +

+There are two other good sources for TIFF test images: +the contributed software contrib/dbs includes several +programs that generate test images suitable for debugging, and +the tiffcp program can be used to generate a variety +of images with different storage characteristics. + +

+


+ +Last updated: $Date: 2006/01/02 23:50:44 $ + + + diff --git a/src/3rdparty/libtiff/html/images/back.gif b/src/3rdparty/libtiff/html/images/back.gif new file mode 100644 index 0000000..11d0c35 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/back.gif differ diff --git a/src/3rdparty/libtiff/html/images/bali.jpg b/src/3rdparty/libtiff/html/images/bali.jpg new file mode 100644 index 0000000..1f5c146 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/bali.jpg differ diff --git a/src/3rdparty/libtiff/html/images/cat.gif b/src/3rdparty/libtiff/html/images/cat.gif new file mode 100644 index 0000000..5bd3fac Binary files /dev/null and b/src/3rdparty/libtiff/html/images/cat.gif differ diff --git a/src/3rdparty/libtiff/html/images/cover.jpg b/src/3rdparty/libtiff/html/images/cover.jpg new file mode 100644 index 0000000..8698cfb Binary files /dev/null and b/src/3rdparty/libtiff/html/images/cover.jpg differ diff --git a/src/3rdparty/libtiff/html/images/cramps.gif b/src/3rdparty/libtiff/html/images/cramps.gif new file mode 100644 index 0000000..9153f9a Binary files /dev/null and b/src/3rdparty/libtiff/html/images/cramps.gif differ diff --git a/src/3rdparty/libtiff/html/images/dave.gif b/src/3rdparty/libtiff/html/images/dave.gif new file mode 100644 index 0000000..c36d447 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/dave.gif differ diff --git a/src/3rdparty/libtiff/html/images/info.gif b/src/3rdparty/libtiff/html/images/info.gif new file mode 100644 index 0000000..783d631 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/info.gif differ diff --git a/src/3rdparty/libtiff/html/images/jello.jpg b/src/3rdparty/libtiff/html/images/jello.jpg new file mode 100644 index 0000000..df99e66 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/jello.jpg differ diff --git a/src/3rdparty/libtiff/html/images/jim.gif b/src/3rdparty/libtiff/html/images/jim.gif new file mode 100644 index 0000000..9a18a03 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/jim.gif differ diff --git a/src/3rdparty/libtiff/html/images/note.gif b/src/3rdparty/libtiff/html/images/note.gif new file mode 100644 index 0000000..7177d68 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/note.gif differ diff --git a/src/3rdparty/libtiff/html/images/oxford.gif b/src/3rdparty/libtiff/html/images/oxford.gif new file mode 100644 index 0000000..dd4b86e Binary files /dev/null and b/src/3rdparty/libtiff/html/images/oxford.gif differ diff --git a/src/3rdparty/libtiff/html/images/quad.jpg b/src/3rdparty/libtiff/html/images/quad.jpg new file mode 100644 index 0000000..4b7df17 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/quad.jpg differ diff --git a/src/3rdparty/libtiff/html/images/ring.gif b/src/3rdparty/libtiff/html/images/ring.gif new file mode 100644 index 0000000..2a614f4 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/ring.gif differ diff --git a/src/3rdparty/libtiff/html/images/smallliz.jpg b/src/3rdparty/libtiff/html/images/smallliz.jpg new file mode 100644 index 0000000..8eb827f Binary files /dev/null and b/src/3rdparty/libtiff/html/images/smallliz.jpg differ diff --git a/src/3rdparty/libtiff/html/images/strike.gif b/src/3rdparty/libtiff/html/images/strike.gif new file mode 100644 index 0000000..0709d19 Binary files /dev/null and b/src/3rdparty/libtiff/html/images/strike.gif differ diff --git a/src/3rdparty/libtiff/html/images/warning.gif b/src/3rdparty/libtiff/html/images/warning.gif new file mode 100644 index 0000000..f51eb4b Binary files /dev/null and b/src/3rdparty/libtiff/html/images/warning.gif differ diff --git a/src/3rdparty/libtiff/html/index.html b/src/3rdparty/libtiff/html/index.html new file mode 100644 index 0000000..e43a708 --- /dev/null +++ b/src/3rdparty/libtiff/html/index.html @@ -0,0 +1,123 @@ + + + + LibTIFF - TIFF Library and Utilities + + + + + +

LibTIFF - TIFF Library and Utilities

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Home Pagehttp://www.remotesensing.org/libtiff/
Home Page Mirrorhttp://libtiff.maptools.org/
Latest Stable Releasev3.9.2
Master Download Siteftp.remotesensing.org, directory pub/libtiff
Mirror Download Sitehttp://libtiff.maptools.org/dl/
Windows BinariesGnuWin32 Project
Mailing Listtiff@lists.maptools.org, + Subscription, + Archive. + Please, read the TIFF FAQ + before asking questions.
Anonymous CVSexport CVSROOT=:pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot
+ cvs login

+ (use empty password)
+ cvs checkout -r branch-3-9 libtiff
+ to get stable libtiff branch, or
+ cvs checkout libtiff
+ to get bleeding edge development version of libtiff from CVS HEAD.
+
+

+ This software provides support for the Tag Image File Format (TIFF), + a widely used format for storing image data. The latest version of + the TIFF specification is available on-line + in several different formats. +

+

+ Included in this software distribution is a library, libtiff, for reading + and writing TIFF, a small collection of tools for doing simple + manipulations of TIFF images, and documentation on the + library and tools. Libtiff is a portable software, it was built and + tested on various systems: UNIX flavors (Linux, BSD, Solaris, MacOS X), + Windows, OpenVMS. It should be possible to port libtiff and additional + tools on other OSes. +

+

+ The library, along with associated tool programs, should handle most of + your needs for reading and writing TIFF images on 32- and 64-bit + machines. This software can also be used on older 16-bit systems + though it may require some effort and you may need to leave out some of + the compression support. +

+

+ The software was originally authored and maintained by Sam Leffler. + While he keeps a fatherly eye on the mailing list, he is no longer + responsible for day to day maintenance. +

+

+ Questions should be sent to the TIFF mailing list: + tiff@lists.maptools.org, with + a subscription interface at + http://lists.maptools.org/mailman/listinfo/tiff. +

+

+ The persons responsible for putting up this site and putting together + versions >= 3.5.1 are + Frank Warmerdam, + Andrey Kiselev, Bob Friesenhahn, +Joris Van Damme and Lee Howard. +

+

+ The following sections are included in this documentation: +

+ +
+

+ Last updated $Date: 2009-08-28 16:24:13 $. +

+ + diff --git a/src/3rdparty/libtiff/html/internals.html b/src/3rdparty/libtiff/html/internals.html new file mode 100644 index 0000000..3cc9673 --- /dev/null +++ b/src/3rdparty/libtiff/html/internals.html @@ -0,0 +1,572 @@ + + + +Modifying The TIFF Library + + + + +

+ +Modifying The TIFF Library +

+ + +

+This chapter provides information about the internal structure of +the library, how to control the configuration when building it, and +how to add new support to the library. +The following sections are found in this chapter: + +

+ + +


Library Configuration

+ +Information on compiling the library is given +elsewhere in this documentation. +This section describes the low-level mechanisms used to control +the optional parts of the library that are configured at build +time. Control is based on +a collection of C defines that are specified either on the compiler +command line or in a configuration file such as port.h +(as generated by the configure script for UNIX systems) +or tiffconf.h. + +

+Configuration defines are split into three areas: +

    +
  • those that control which compression schemes are + configured as part of the builtin codecs, +
  • those that control support for groups of tags that + are considered optional, and +
  • those that control operating system or machine-specific support. +
+ +

+If the define COMPRESSION_SUPPORT is not defined +then a default set of compression schemes is automatically +configured: +

    +
  • CCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, and 32771), +
  • the Macintosh PackBits algorithm (compression 32773), +
  • a 4-bit run-length encoding scheme from ThunderScan (compression 32809), +
  • a 2-bit encoding scheme used by NeXT (compression 32766), and +
  • two experimental schemes intended for images with high dynamic range +(compression 34676 and 34677). +
+ +

+ +To override the default compression behaviour define +COMPRESSION_SUPPORT and then one or more additional defines +to enable configuration of the appropriate codecs (see the table +below); e.g. + +

    +#define	COMPRESSION_SUPPORT
    +#define	CCITT_SUPPORT
    +#define	PACKBITS_SUPPORT
    +
+ +Several other compression schemes are configured separately from +the default set because they depend on ancillary software +packages that are not distributed with libtiff. + +

+Support for JPEG compression is controlled by JPEG_SUPPORT. +The JPEG codec that comes with libtiff is designed for +use with release 5 or later of the Independent JPEG Group's freely +available software distribution. +This software can be retrieved from the directory +ftp.uu.net:/graphics/jpeg/. + + +

+NOTE: +Enabling JPEG support automatically enables support for +the TIFF 6.0 colorimetry and YCbCr-related tags. + +

+Experimental support for the deflate algorithm is controlled by +DEFLATE_SUPPORT. +The deflate codec that comes with libtiff is designed +for use with version 0.99 or later of the freely available +libz library written by Jean-loup Gailly and Mark Adler. +The data format used by this library is described +in the files +zlib-3.1.doc, +and +deflate-1.1.doc, +available in the directory +ftp.uu.net:/pub/archiving/zip/doc. +The library can be retried from the directory +ftp.uu.net:/pub/archiving/zip/zlib/ +(or try quest.jpl.nasa.gov:/beta/zlib/). + +

+NOTE: +The deflate algorithm is experimental. Do not expect +to exchange files using this compression scheme; +it is included only because the similar, and more common, +LZW algorithm is claimed to be governed by licensing restrictions. + + +

+By default tiffconf.h defines +COLORIMETRY_SUPPORT, +YCBCR_SUPPORT, +and +CMYK_SUPPORT. + +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DefineDescription
CCITT_SUPPORTCCITT Group 3 and 4 algorithms (compression codes 2, 3, 4, + and 32771)
PACKBITS_SUPPORTMacintosh PackBits algorithm (compression 32773)
LZW_SUPPORTLempel-Ziv & Welch (LZW) algorithm (compression 5)
THUNDER_SUPPORT4-bit +run-length encoding scheme from ThunderScan (compression 32809)
NEXT_SUPPORT2-bit encoding scheme used by NeXT (compression 32766)
OJPEG_SUPPORTobsolete JPEG scheme defined in the 6.0 spec (compression 6)
JPEG_SUPPORTcurrent JPEG scheme defined in TTN2 (compression 7)
ZIP_SUPPORTexperimental Deflate scheme (compression 32946)
PIXARLOG_SUPPORTPixar's compression scheme for high-resolution color images (compression 32909)
SGILOG_SUPPORTSGI's compression scheme for high-resolution color images (compression 34676 and 34677)
COLORIMETRY_SUPPORTsupport for the TIFF 6.0 colorimetry tags
YCBCR_SUPPORTsupport for the TIFF 6.0 YCbCr-related tags
CMYK_SUPPORTsupport for the TIFF 6.0 CMYK-related tags
ICC_SUPPORTsupport for the ICC Profile tag; see +The ICC Profile Format Specification, +Annex B.3 "Embedding ICC Profiles in TIFF Files"; +available at +http://www.color.org +
+ + +


General Portability Comments

+ +This software is developed on Silicon Graphics UNIX +systems (big-endian, MIPS CPU, 32-bit ints, +IEEE floating point). +The configure shell script generates the appropriate +include files and make files for UNIX systems. +Makefiles exist for non-UNIX platforms that the +code runs on -- this work has mostly been done by other people. + +

+In general, the code is guaranteed to work only on SGI machines. +In practice it is highly portable to any 32-bit or 64-bit system and much +work has been done to insure portability to 16-bit systems. +If you encounter portability problems please return fixes so +that future distributions can be improved. + +

+The software is written to assume an ANSI C compilation environment. +If your compiler does not support ANSI function prototypes, const, +and <stdarg.h> then you will have to make modifications to the +software. In the past I have tried to support compilers without const +and systems without <stdarg.h>, but I am +no longer interested in these +antiquated environments. With the general availability of +the freely available GCC compiler, I +see no reason to incorporate modifications to the software for these +purposes. + +

+An effort has been made to isolate as many of the +operating system-dependencies +as possible in two files: tiffcomp.h and +libtiff/tif_<os>.c. The latter file contains +operating system-specific routines to do I/O and I/O-related operations. +The UNIX (tif_unix.c), +Macintosh (tif_apple.c), +and VMS (tif_vms.c) +code has had the most use; +the MS/DOS support (tif_msdos.c) assumes +some level of UNIX system call emulation (i.e. +open, +read, +write, +fstat, +malloc, +free). + +

+Native CPU byte order is determined on the fly by +the library and does not need to be specified. +The HOST_FILLORDER and HOST_BIGENDIAN +definitions are not currently used, but may be employed by +codecs for optimization purposes. + +

+The following defines control general portability: + +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + +
BSDTYPESDefine this if your system does NOT define the + usual BSD typedefs: u_char, + u_short, u_int, u_long.
HAVE_IEEEFPDefine this as 0 or 1 according to the floating point + format suported by the machine. If your machine does + not support IEEE floating point then you will need to + add support to tif_machdep.c to convert between the + native format and IEEE format.
HAVE_MMAPDefine this if there is mmap-style support for +mapping files into memory (used only to read data).
HOST_FILLORDERDefine the native CPU bit order: one of FILLORDER_MSB2LSB + or FILLORDER_LSB2MSB
HOST_BIGENDIANDefine the native CPU byte order: 1 if big-endian (Motorola) + or 0 if little-endian (Intel); this may be used + in codecs to optimize code
+ +

+On UNIX systems HAVE_MMAP is defined through the running of +the configure script; otherwise support for memory-mapped +files is disabled. +Note that tiffcomp.h defines HAVE_IEEEFP to be +1 (BSDTYPES is not defined). + + +


Types and Portability

+ +The software makes extensive use of C typedefs to promote portability. +Two sets of typedefs are used, one for communication with clients +of the library and one for internal data structures and parsing of the +TIFF format. There are interactions between these two to be careful +of, but for the most part you should be able to deal with portability +purely by fiddling with the following machine-dependent typedefs: + + +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint88-bit unsigned integertiff.h
int88-bit signed integertiff.h
uint1616-bit unsigned integertiff.h
int1616-bit signed integertiff.h
uint3232-bit unsigned integertiff.h
int3232-bit signed integertiff.h
dblparam_tpromoted type for floatstiffcomp.h
+ +

+(to clarify dblparam_t, it is the type that float parameters are +promoted to when passed by value in a function call.) + +

+The following typedefs are used throughout the library and interfaces +to refer to certain objects whose size is dependent on the TIFF image +structure: + + +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
typedef unsigned int ttag_t; directory tag
typedef uint16 tdir_t; directory index
typedef uint16 tsample_t; sample number
typedef uint32 tstrip_t; strip number
typedef uint32 ttile_t; tile number
typedef int32 tsize_t; i/o size in bytes
typedef void* tdata_t; image data ref
typedef void* thandle_t; client data handle
typedef int32 toff_t; file offset (should be off_t)
typedef unsigned char* tidata_t; internal image data
+ +

+Note that tstrip_t, ttile_t, and tsize_t +are constrained to be +no more than 32-bit quantities by 32-bit fields they are stored +in in the TIFF image. Likewise tsample_t is limited by the 16-bit +field used to store the SamplesPerPixel tag. tdir_t +constrains +the maximum number of IFDs that may appear in an image and may +be an arbitrary size (without penalty). ttag_t must be either +int, unsigned int, pointer, or double +because the library uses a varargs +interface and ANSI C restricts the type of the parameter before an +ellipsis to be a promoted type. toff_t is defined as +int32 because +TIFF file offsets are (unsigned) 32-bit quantities. A signed +value is used because some interfaces return -1 on error (sigh). +Finally, note that tidata_t is used internally to the library to +manipulate internal data. User-specified data references are +passed as opaque handles and only cast at the lowest layers where +their type is presumed. + + +


General Comments

+ +The library is designed to hide as much of the details of TIFF from +applications as +possible. In particular, TIFF directories are read in their entirety +into an internal format. Only the tags known by the library are +available to a user and certain tag data may be maintained that a user +does not care about (e.g. transfer function tables). + +


Adding New Builtin Codecs

+ +To add builtin support for a new compression algorithm, you can either +use the "tag-extension" trick to override the handling of the +TIFF Compression tag (see Adding New Tags), +or do the following to add support directly to the core library: + +
    +
  1. Define the tag value in tiff.h. +
  2. Edit the file tif_codec.c to add an entry to the + _TIFFBuiltinCODECS array (see how other algorithms are handled). +
  3. Add the appropriate function prototype declaration to + tiffiop.h (close to the bottom). +
  4. Create a file with the compression scheme code, by convention files + are named tif_*.c (except perhaps on some systems where the + tif_ prefix pushes some filenames over 14 chars. +
  5. Edit Makefile.in (and any other Makefiles) + to include the new source file. +
+ +

+A codec, say foo, can have many different entry points: + +

+TIFFInitfoo(tif, scheme)/* initialize scheme and setup entry points in tif */
+fooSetupDecode(tif)	/* called once per IFD after tags has been frozen */
+fooPreDecode(tif, sample)/* called once per strip/tile, after data is read,
+			    but before the first row is decoded */
+fooDecode*(tif, bp, cc, sample)/* decode cc bytes of data into the buffer */
+    fooDecodeRow(...)	/* called to decode a single scanline */
+    fooDecodeStrip(...)	/* called to decode an entire strip */
+    fooDecodeTile(...)	/* called to decode an entire tile */
+fooSetupEncode(tif)	/* called once per IFD after tags has been frozen */
+fooPreEncode(tif, sample)/* called once per strip/tile, before the first row in
+			    a strip/tile is encoded */
+fooEncode*(tif, bp, cc, sample)/* encode cc bytes of user data (bp) */
+    fooEncodeRow(...)	/* called to decode a single scanline */
+    fooEncodeStrip(...)	/* called to decode an entire strip */
+    fooEncodeTile(...)	/* called to decode an entire tile */
+fooPostEncode(tif)	/* called once per strip/tile, just before data is written */
+fooSeek(tif, row)	/* seek forwards row scanlines from the beginning
+			   of a strip (row will always be >0 and <rows/strip */
+fooCleanup(tif)		/* called when compression scheme is replaced by user */
+
+ +

+Note that the encoding and decoding variants are only needed when +a compression algorithm is dependent on the structure of the data. +For example, Group 3 2D encoding and decoding maintains a reference +scanline. The sample parameter identifies which sample is to be +encoded or decoded if the image is organized with PlanarConfig=2 +(separate planes). This is important for algorithms such as JPEG. +If PlanarConfig=1 (interleaved), then sample will always be 0. + +


Other Comments

+ +The library handles most I/O buffering. There are two data buffers +when decoding data: a raw data buffer that holds all the data in a +strip, and a user-supplied scanline buffer that compression schemes +place decoded data into. When encoding data the data in the +user-supplied scanline buffer is encoded into the raw data buffer (from +where it is written). Decoding routines should never have to explicitly +read data -- a full strip/tile's worth of raw data is read and scanlines +never cross strip boundaries. Encoding routines must be cognizant of +the raw data buffer size and call TIFFFlushData1() when necessary. +Note that any pending data is automatically flushed when a new strip/tile is +started, so there's no need do that in the tif_postencode routine (if +one exists). Bit order is automatically handled by the library when +a raw strip or tile is filled. If the decoded samples are interpreted +by the decoding routine before they are passed back to the user, then +the decoding logic must handle byte-swapping by overriding the +tif_postdecode +routine (set it to TIFFNoPostDecode) and doing the required work +internally. For an example of doing this look at the horizontal +differencing code in the routines in tif_predict.c. + +

+The variables tif_rawcc, tif_rawdata, and +tif_rawcp in a TIFF structure +are associated with the raw data buffer. tif_rawcc must be non-zero +for the library to automatically flush data. The variable +tif_scanlinesize is the size a user's scanline buffer should be. The +variable tif_tilesize is the size of a tile for tiled images. This +should not normally be used by compression routines, except where it +relates to the compression algorithm. That is, the cc parameter to the +tif_decode* and tif_encode* +routines should be used in terminating +decompression/compression. This ensures these routines can be used, +for example, to decode/encode entire strips of data. + +

+In general, if you have a new compression algorithm to add, work from +the code for an existing routine. In particular, +tif_dumpmode.c +has the trivial code for the "nil" compression scheme, +tif_packbits.c is a +simple byte-oriented scheme that has to watch out for buffer +boundaries, and tif_lzw.c has the LZW scheme that has the most +complexity -- it tracks the buffer boundary at a bit level. +Of course, using a private compression scheme (or private tags) limits +the portability of your TIFF files. + +

+


+ +Last updated: $Date: 2004/09/10 14:47:31 $ + + + + diff --git a/src/3rdparty/libtiff/html/intro.html b/src/3rdparty/libtiff/html/intro.html new file mode 100644 index 0000000..61c01d4 --- /dev/null +++ b/src/3rdparty/libtiff/html/intro.html @@ -0,0 +1,68 @@ + + + +Introduction to the TIFF Documentation + + + + +

+ +Introduction to the TIFF Documentation +

+ + +

+The following definitions are used throughout this documentation. +They are consistent with the terminology used in the TIFF 6.0 specification. + +

+
Sample +
The unit of information stored in an image; often called a + channel elsewhere. Sample values are numbers, usually unsigned + integers, but possibly in some other format if the SampleFormat + tag is specified in a TIFF +
Pixel +
A collection of one or more samples that go together. +
Row +
An Nx1 rectangular collection of pixels. +
Tile +
An NxM rectangular organization of data (or pixels). +
Strip +
A tile whose width is the full image width. +
Compression +
A scheme by which pixel or sample data are stored in + an encoded form, specifically with the intent of reducing the + storage cost. +
Codec +
Software that implements the decoding and encoding algorithms + of a compression scheme. + + +

+In order to better understand how TIFF works (and consequently this +software) it is important to recognize the distinction between the +physical organization of image data as it is stored in a TIFF and how +the data is interpreted and manipulated as pixels in an image. TIFF +supports a wide variety of storage and data compression schemes that +can be used to optimize retrieval time and/or minimize storage space. +These on-disk formats are independent of the image characteristics; it +is the responsibility of the TIFF reader to process the on-disk storage +into an in-memory format suitable for an application. Furthermore, it +is the responsibility of the application to properly interpret the +visual characteristics of the image data. TIFF defines a framework for +specifying the on-disk storage format and image characteristics with +few restrictions. This permits significant complexity that can be +daunting. Good applications that handle TIFF work by handling as wide +a range of storage formats as possible, while constraining the +acceptable image characteristics to those that make sense for the +application. + + +

+


+ +Last updated: $Date: 1999/08/09 20:21:21 $ + + + diff --git a/src/3rdparty/libtiff/html/libtiff.html b/src/3rdparty/libtiff/html/libtiff.html new file mode 100644 index 0000000..6a2c42e --- /dev/null +++ b/src/3rdparty/libtiff/html/libtiff.html @@ -0,0 +1,747 @@ + + + + Using The TIFF Library + + + + + + + + + + +
+

Using The TIFF Library

+

+ libtiff is a set of C functions (a library) that support + the manipulation of TIFF image files. + The library requires an ANSI C compilation environment for building + and presumes an ANSI C environment for use. +

+
+
+

+ libtiff + provides interfaces to image data at several layers of abstraction (and cost). + At the highest level image data can be read into an 8-bit/sample, + ABGR pixel raster format without regard for the underlying data organization, + colorspace, or compression scheme. Below this high-level interface + the library provides scanline-, strip-, and tile-oriented interfaces that + return data decompressed but otherwise untransformed. These interfaces + require that the application first identify the organization of stored + data and select either a strip-based or tile-based API for manipulating + data. At the lowest level the library + provides access to the raw uncompressed strips or tiles, + returning the data exactly as it appears in the file. +

+

+ The material presented in this chapter is a basic introduction + to the capabilities of the library; it is not an attempt to describe + everything a developer needs to know about the library or about TIFF. + Detailed information on the interfaces to the library are given in + the UNIX + manual pages that accompany this software. +

+

+ Michael Still has also written a useful introduction to libtiff for the + IBM DeveloperWorks site available at + http://www.ibm.com/developerworks/linux/library/l-libtiff. +

+

+ The following sections are found in this chapter: +

+ +
+

How to tell which version you have

+

+ The software version can be found by looking at the file named + VERSION + that is located at the top of the source tree; the precise alpha number + is given in the file dist/tiff.alpha. + If you have need to refer to this + specific software, you should identify it as: +

+

+ TIFF <version> <alpha> +

+

+ where <version> is whatever you get from + "cat VERSION" and <alpha> is + what you get from "cat dist/tiff.alpha". +

+

+ Within an application that uses libtiff the TIFFGetVersion + routine will return a pointer to a string that contains software version + information. + The library include file <tiffio.h> contains a C pre-processor + define TIFFLIB_VERSION that can be used to check library + version compatiblity at compile time. +

+
+

Library Datatypes

+

+ libtiff defines a portable programming interface through the + use of a set of C type definitions. + These definitions, defined in in the files tiff.h and + tiffio.h, + isolate the libtiff API from the characteristics + of the underlying machine. + To insure portable code and correct operation, applications that use + libtiff should use the typedefs and follow the function + prototypes for the library API. +

+
+

Memory Management

+

+ libtiff uses a machine-specific set of routines for managing + dynamically allocated memory. + _TIFFmalloc, _TIFFrealloc, and _TIFFfree + mimic the normal ANSI C routines. + Any dynamically allocated memory that is to be passed into the library + should be allocated using these interfaces in order to insure pointer + compatibility on machines with a segmented architecture. + (On 32-bit UNIX systems these routines just call the normal malloc, + realloc, and free routines in the C library.) +

+

+ To deal with segmented pointer issues libtiff also provides + _TIFFmemcpy, _TIFFmemset, and _TIFFmemmove + routines that mimic the equivalent ANSI C routines, but that are + intended for use with memory allocated through _TIFFmalloc + and _TIFFrealloc. +

+
+

Error Handling

+

+ libtiff handles most errors by returning an invalid/erroneous + value when returning from a function call. + Various diagnostic messages may also be generated by the library. + All error messages are directed to a single global error handler + routine that can be specified with a call to TIFFSetErrorHandler. + Likewise warning messages are directed to a single handler routine + that can be specified with a call to TIFFSetWarningHandler +

+
+

Basic File Handling

+

+ The library is modeled after the normal UNIX stdio library. + For example, to read from an existing TIFF image the + file must first be opened: +

+

+ #include "tiffio.h"
+ main()
+ {
+     TIFF* tif = TIFFOpen("foo.tif", "r");
+     ... do stuff ...
+     TIFFClose(tif);
+ }
+

+

+ The handle returned by TIFFOpen is opaque, that is + the application is not permitted to know about its contents. + All subsequent library calls for this file must pass the handle + as an argument. +

+

+ To create or overwrite a TIFF image the file is also opened, but with + a "w" argument: +

+

+ #include "tiffio.h"
+ main()
+ {
+     TIFF* tif = TIFFOpen("foo.tif", "w");
+     ... do stuff ...
+     TIFFClose(tif);
+ }
+

+

+ If the file already exists it is first truncated to zero length. +

+ + + + + +
Note that unlike the stdio library TIFF image files may not be + opened for both reading and writing; + there is no support for altering the contents of a TIFF file.
+

+ libtiff buffers much information associated with writing a + valid TIFF image. Consequently, when writing a TIFF image it is necessary + to always call TIFFClose or TIFFFlush to flush any + buffered information to a file. Note that if you call TIFFClose + you do not need to call TIFFFlush. +

+
+

TIFF Directories

+

+ TIFF supports the storage of multiple images in a single file. + Each image has an associated data structure termed a directory + that houses all the information about the format and content of the + image data. + Images in a file are usually related but they do not need to be; it + is perfectly alright to store a color image together with a black and + white image. + Note however that while images may be related their directories are + not. + That is, each directory stands on its own; their is no need to read + an unrelated directory in order to properly interpret the contents + of an image. +

+

+ libtiff provides several routines for reading and writing + directories. In normal use there is no need to explicitly + read or write a directory: the library automatically reads the first + directory in a file when opened for reading, and directory information + to be written is automatically accumulated and written when writing + (assuming TIFFClose or TIFFFlush are called). +

+

+ For a file open for reading the TIFFSetDirectory routine can + be used to select an arbitrary directory; directories are referenced by + number with the numbering starting at 0. Otherwise the + TIFFReadDirectory and TIFFWriteDirectory routines can + be used for sequential access to directories. + For example, to count the number of directories in a file the following + code might be used: +

+

+ #include "tiffio.h"
+ main(int argc, char* argv[])
+ {
+     TIFF* tif = TIFFOpen(argv[1], "r");
+     if (tif) {
+         int dircount = 0;
+         do {
+             dircount++;
+         } while (TIFFReadDirectory(tif));
+         printf("%d directories in %s\n", dircount, argv[1]);
+         TIFFClose(tif);
+     }
+     exit(0);
+ }
+

+

+ Finally, note that there are several routines for querying the + directory status of an open file: + TIFFCurrentDirectory returns the index of the current + directory and + TIFFLastDirectory returns an indication of whether the + current directory is the last directory in a file. + There is also a routine, TIFFPrintDirectory, that can + be called to print a formatted description of the contents of + the current directory; consult the manual page for complete details. +

+
+

TIFF Tags

+

+ Image-related information such as the image width and height, number + of samples, orientation, colorimetric information, etc. + are stored in each image + directory in fields or tags. + Tags are identified by a number that is usually a value registered + with the Aldus (now Adobe) Corporation. + Beware however that some vendors write + TIFF images with tags that are unregistered; in this case interpreting + their contents is usually a waste of time. +

+

+ libtiff reads the contents of a directory all at once + and converts the on-disk information to an appropriate in-memory + form. While the TIFF specification permits an arbitrary set of + tags to be defined and used in a file, the library only understands + a limited set of tags. + Any unknown tags that are encountered in a file are ignored. + There is a mechanism to extend the set of tags the library handles + without modifying the library itself; + this is described elsewhere. +

+

+ libtiff provides two interfaces for getting and setting tag + values: TIFFGetField and TIFFSetField. + These routines use a variable argument list-style interface to pass + parameters of different type through a single function interface. + The get interface takes one or more pointers to memory locations + where the tag values are to be returned and also returns one or + zero according to whether the requested tag is defined in the directory. + The set interface takes the tag values either by-reference or + by-value. + The TIFF specification defines + default values for some tags. + To get the value of a tag, or its default value if it is undefined, + the TIFFGetFieldDefaulted interface may be used. +

+

+ The manual pages for the tag get and set routines specifiy the exact data types + and calling conventions required for each tag supported by the library. +

+
+

TIFF Compression Schemes

+

+ libtiff includes support for a wide variety of + data compression schemes. + In normal operation a compression scheme is automatically used when + the TIFF Compression tag is set, either by opening a file + for reading, or by setting the tag when writing. +

+

+ Compression schemes are implemented by software modules termed codecs + that implement decoder and encoder routines that hook into the + core library i/o support. + Codecs other than those bundled with the library can be registered + for use with the TIFFRegisterCODEC routine. + This interface can also be used to override the core-library + implementation for a compression scheme. +

+
+

Byte Order

+

+ The TIFF specification says, and has always said, that + a correct TIFF + reader must handle images in big-endian and little-endian byte order. + libtiff conforms in this respect. + Consequently there is no means to force a specific + byte order for the data written to a TIFF image file (data is + written in the native order of the host CPU unless appending to + an existing file, in which case it is written in the byte order + specified in the file). +

+
+

Data Placement

+

+ The TIFF specification requires that all information except an + 8-byte header can be placed anywhere in a file. + In particular, it is perfectly legitimate for directory information + to be written after the image data itself. + Consequently TIFF is inherently not suitable for passing through a + stream-oriented mechanism such as UNIX pipes. + Software that require that data be organized in a file in a particular + order (e.g. directory information before image data) does not + correctly support TIFF. + libtiff provides no mechanism for controlling the placement + of data in a file; image data is typically written before directory + information. +

+
+

TIFFRGBAImage Support

+

+ libtiff provides a high-level interface for reading image + data from a TIFF file. This interface handles the details of + data organization and format for a wide variety of TIFF files; + at least the large majority of those files that one would normally + encounter. Image data is, by default, returned as ABGR + pixels packed into 32-bit words (8 bits per sample). Rectangular + rasters can be read or data can be intercepted at an intermediate + level and packed into memory in a format more suitable to the + application. + The library handles all the details of the format of data stored on + disk and, in most cases, if any colorspace conversions are required: + bilevel to RGB, greyscale to RGB, CMYK to RGB, YCbCr to RGB, 16-bit + samples to 8-bit samples, associated/unassociated alpha, etc. +

+

+ There are two ways to read image data using this interface. If + all the data is to be stored in memory and manipulated at once, + then the routine TIFFReadRGBAImage can be used: +

+

+

+ #include "tiffio.h"
+ main(int argc, char* argv[])
+ {
+     TIFF* tif = TIFFOpen(argv[1], "r");
+     if (tif) {
+         uint32 w, h;
+         size_t npixels;
+         uint32* raster;
+         
+         TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &w);
+         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &h);
+         npixels = w * h;
+         raster = (uint32*) _TIFFmalloc(npixels * sizeof (uint32));
+         if (raster != NULL) {
+             if (TIFFReadRGBAImage(tif, w, h, raster, 0)) {
+                 ...process raster data...
+             }
+             _TIFFfree(raster);
+         }
+         TIFFClose(tif);
+     }
+     exit(0);
+ }
+

+

+ Note above that _TIFFmalloc is used to allocate memory for + the raster passed to TIFFReadRGBAImage; this is important + to insure the ``appropriate type of memory'' is passed on machines + with segmented architectures. +

+

+ Alternatively, TIFFReadRGBAImage can be replaced with a + more low-level interface that permits an application to have more + control over this reading procedure. The equivalent to the above + is: +

+

+ #include "tiffio.h"
+ main(int argc, char* argv[])
+ {
+     TIFF* tif = TIFFOpen(argv[1], "r");
+     if (tif) {
+         TIFFRGBAImage img;
+         char emsg[1024];
+         
+         if (TIFFRGBAImageBegin(&img, tif, 0, emsg)) {
+             size_t npixels;
+             uint32* raster;
+             
+             npixels = img.width * img.height;
+             raster = (uint32*) _TIFFmalloc(npixels * sizeof (uint32));
+             if (raster != NULL) {
+                 if (TIFFRGBAImageGet(&img, raster, img.width, img.height)) {
+                     ...process raster data...
+                 }
+                 _TIFFfree(raster);
+             }
+             TIFFRGBAImageEnd(&img);
+         } else
+             TIFFError(argv[1], emsg);
+         TIFFClose(tif);
+     }
+     exit(0);
+ }
+

+

+ However this usage does not take advantage of the more fine-grained + control that's possible. That is, by using this interface it is + possible to: +

+
    +
  • repeatedly fetch (and manipulate) an image without opening + and closing the file
  • +
  • interpose a method for packing raster pixel data according to + application-specific needs (or write the data at all)
  • +
  • interpose methods that handle TIFF formats that are not already + handled by the core library
  • +
+

+ The first item means that, for example, image viewers that want to + handle multiple files can cache decoding information in order to + speedup the work required to display a TIFF image. +

+

+ The second item is the main reason for this interface. By interposing + a "put method" (the routine that is called to pack pixel data in + the raster) it is possible share the core logic that understands how + to deal with TIFF while packing the resultant pixels in a format that + is optimized for the application. This alternate format might be very + different than the 8-bit per sample ABGR format the library writes by + default. For example, if the application is going to display the image + on an 8-bit colormap display the put routine might take the data and + convert it on-the-fly to the best colormap indices for display. +

+

+ The last item permits an application to extend the library + without modifying the core code. + By overriding the code provided an application might add support + for some esoteric flavor of TIFF that it needs, or it might + substitute a packing routine that is able to do optimizations + using application/environment-specific information. +

+

+ The TIFF image viewer found in tools/sgigt.c is an example + of an application that makes use of the TIFFRGBAImage + support. +

+
+

Scanline-based Image I/O

+

+ The simplest interface provided by libtiff is a + scanline-oriented interface that can be used to read TIFF + images that have their image data organized in strips + (trying to use this interface to read data written in tiles + will produce errors.) + A scanline is a one pixel high row of image data whose width + is the width of the image. + Data is returned packed if the image data is stored with samples + packed together, or as arrays of separate samples if the data + is stored with samples separated. + The major limitation of the scanline-oriented interface, other + than the need to first identify an existing file as having a + suitable organization, is that random access to individual + scanlines can only be provided when data is not stored in a + compressed format, or when the number of rows in a strip + of image data is set to one (RowsPerStrip is one). +

+

+ Two routines are provided for scanline-based i/o: + TIFFReadScanline + and + TIFFWriteScanline. + For example, to read the contents of a file that + is assumed to be organized in strips, the following might be used: +

+

+ #include "tiffio.h"
+ main()
+ {
+     TIFF* tif = TIFFOpen("myfile.tif", "r");
+     if (tif) {
+         uint32 imagelength;
+         tdata_t buf;
+         uint32 row;
+         
+         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
+         buf = _TIFFmalloc(TIFFScanlineSize(tif));
+         for (row = 0; row < imagelength; row++)
+             tiffreadscanline(tif, buf, row);
+         _tifffree(buf);
+         tiffclose(tif);
+     }
+ }
+

+

+ TIFFScanlineSize returns the number of bytes in + a decoded scanline, as returned by TIFFReadScanline. + Note however that if the file had been create with samples + written in separate planes, then the above code would only + read data that contained the first sample of each pixel; + to handle either case one might use the following instead: +

+

+ #include "tiffio.h"
+ main()
+ {
+     TIFF* tif = TIFFOpen("myfile.tif", "r");
+     if (tif) {
+         uint32 imagelength;
+         tdata_t buf;
+         uint32 row;
+         
+         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
+         TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &config);
+         buf = _TIFFmalloc(TIFFScanlineSize(tif));
+         if (config == PLANARCONFIG_CONTIG) {
+             for (row = 0; row < imagelength; row++)
+                 tiffreadscanline(tif, buf, row);
+         } else if (config == planarconfig_separate) {
+             uint16 s, nsamples;
+             
+             tiffgetfield(tif, tifftag_samplesperpixel, &nsamples);
+             for (s = 0; s < nsamples; s++)
+                 for (row = 0; row < imagelength; row++)
+                     tiffreadscanline(tif, buf, row, s);
+         }
+         _tifffree(buf);
+         tiffclose(tif);
+     }
+ }
+

+

+ Beware however that if the following code were used instead to + read data in the case PLANARCONFIG_SEPARATE,... +

+

+             for (row = 0; row < imagelength; row++)
+                 for (s = 0; s < nsamples; s++)
+                     tiffreadscanline(tif, buf, row, s);
+

+

+ ...then problems would arise if RowsPerStrip was not one + because the order in which scanlines are requested would require + random access to data within strips (something that is not supported + by the library when strips are compressed). +

+
+

Strip-oriented Image I/O

+

+ The strip-oriented interfaces provided by the library provide + access to entire strips of data. Unlike the scanline-oriented + calls, data can be read or written compressed or uncompressed. + Accessing data at a strip (or tile) level is often desirable + because there are no complications with regard to random access + to data within strips. +

+

+ A simple example of reading an image by strips is: +

+

+ #include "tiffio.h"
+ main()
+ {
+     TIFF* tif = TIFFOpen("myfile.tif", "r");
+     if (tif) {
+         tdata_t buf;
+         tstrip_t strip;
+         
+         buf = _TIFFmalloc(TIFFStripSize(tif));
+         for (strip = 0; strip < tiffnumberofstrips(tif); strip++)
+             tiffreadencodedstrip(tif, strip, buf, (tsize_t) -1);
+         _tifffree(buf);
+         tiffclose(tif);
+     }
+ }
+

+

+ Notice how a strip size of -1 is used; TIFFReadEncodedStrip + will calculate the appropriate size in this case. +

+

+ The above code reads strips in the order in which the + data is physically stored in the file. If multiple samples + are present and data is stored with PLANARCONFIG_SEPARATE + then all the strips of data holding the first sample will be + read, followed by strips for the second sample, etc. +

+

+ Finally, note that the last strip of data in an image may have fewer + rows in it than specified by the RowsPerStrip tag. A + reader should not assume that each decoded strip contains a full + set of rows in it. +

+

+ The following is an example of how to read raw strips of data from + a file: +

+

+ #include "tiffio.h"
+ main()
+ {
+     TIFF* tif = TIFFOpen("myfile.tif", "r");
+     if (tif) {
+         tdata_t buf;
+         tstrip_t strip;
+         uint32* bc;
+         uint32 stripsize;
+         
+         TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc);
+         stripsize = bc[0];
+         buf = _TIFFmalloc(stripsize);
+         for (strip = 0; strip < tiffnumberofstrips(tif); strip++) {
+             if (bc[strip] > stripsize) {
+                 buf = _TIFFrealloc(buf, bc[strip]);
+                 stripsize = bc[strip];
+             }
+             TIFFReadRawStrip(tif, strip, buf, bc[strip]);
+         }
+         _TIFFfree(buf);
+         TIFFClose(tif);
+     }
+ }
+

+

+ As above the strips are read in the order in which they are + physically stored in the file; this may be different from the + logical ordering expected by an application. +

+
+

Tile-oriented Image I/O

+

+ Tiles of data may be read and written in a manner similar to strips. + With this interface, an image is + broken up into a set of rectangular areas that may have dimensions + less than the image width and height. All the tiles + in an image have the same size, and the tile width and length must each + be a multiple of 16 pixels. Tiles are ordered left-to-right and + top-to-bottom in an image. As for scanlines, samples can be packed + contiguously or separately. When separated, all the tiles for a sample + are colocated in the file. That is, all the tiles for sample 0 appear + before the tiles for sample 1, etc. +

+

+ Tiles and strips may also be extended in a z dimension to form + volumes. Data volumes are organized as "slices". That is, all the + data for a slice is colocated. Volumes whose data is organized in + tiles can also have a tile depth so that data can be organized in + cubes. +

+

+ There are actually two interfaces for tiles. + One interface is similar to scanlines, to read a tiled image, + code of the following sort might be used: +

+

+ main()
+ {
+     TIFF* tif = TIFFOpen("myfile.tif", "r");
+     if (tif) {
+         uint32 imageWidth, imageLength;
+         uint32 tileWidth, tileLength;
+         uint32 x, y;
+         tdata_t buf;
+         
+         TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
+         TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
+         TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
+         TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
+         buf = _TIFFmalloc(TIFFTileSize(tif));
+         for (y = 0; y < imagelength; y += tilelength)
+             for (x = 0; x < imagewidth; x += tilewidth)
+                 tiffreadtile(tif, buf, x, y, 0);
+         _tifffree(buf);
+         tiffclose(tif);
+     }
+ }
+

+

+ (once again, we assume samples are packed contiguously.) +

+

+ Alternatively a direct interface to the low-level data is provided + a la strips. Tiles can be read with + TIFFReadEncodedTile or TIFFReadRawTile, + and written with TIFFWriteEncodedTile or + TIFFWriteRawTile. For example, to read all the tiles in an image: +

+

+ #include "tiffio.h"
+ main()
+ {
+     TIFF* tif = TIFFOpen("myfile.tif", "r");
+     if (tif) {
+         tdata_t buf;
+         ttile_t tile;
+         
+         buf = _TIFFmalloc(TIFFTileSize(tif));
+         for (tile = 0; tile < tiffnumberoftiles(tif); tile++)
+             tiffreadencodedtile(tif, tile, buf, (tsize_t) -1);
+         _tifffree(buf);
+         tiffclose(tif);
+     }
+ }
+

+
+

Other Stuff

+

+ Some other stuff will almost certainly go here... +

+
+

+ Last updated: $Date: 2005/12/28 06:53:18 $ +

+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFClose.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFClose.3tiff.html new file mode 100644 index 0000000..42e3ba8 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFClose.3tiff.html @@ -0,0 +1,87 @@ + + + + + + +TIFFClose + + + +

TIFFClose

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFClose − close a previously opened +TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

void TIFFClose(TIFF *tif)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFClose closes a file that was previously opened +with TIFFOpen(3TIFF). Any buffered data are flushed +to the file, including the contents of the current directory +(if modified); and all resources are reclaimed.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the routine. Likewise, +warning messages are directed to the +TIFFWarning(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF), TIFFOpen(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFDataWidth.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFDataWidth.3tiff.html new file mode 100644 index 0000000..237296e --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFDataWidth.3tiff.html @@ -0,0 +1,98 @@ + + + + + + +TIFFDataWidth + + + +

TIFFDataWidth

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFDataWidth − Get the size of TIFF data types

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFDataWidth(TIFFDataType +type)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFDataWidth returns a size of type in +bytes. Currently following data types are supported:
+TIFF_BYTE
+TIFF_ASCII
+TIFF_SBYTE
+TIFF_UNDEFINED
+TIFF_SHORT
+TIFF_SSHORT
+TIFF_LONG
+TIFF_SLONG
+TIFF_FLOAT
+TIFF_IFD
+TIFF_RATIONAL
+TIFF_SRATIONAL
+TIFF_DOUBLE

+
+ +

RETURN VALUES

+ + + + + +
+

TIFFDataWidth returns a number of bytes occupied +by the item of given type. 0 returned when uknown data type +supplied.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF),

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFError.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFError.3tiff.html new file mode 100644 index 0000000..5d39a13 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFError.3tiff.html @@ -0,0 +1,106 @@ + + + + + + +TIFFError + + + +

TIFFError

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFError, TIFFSetErrorHandler − library error +handling interface

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

void TIFFError(const char *module, const +char *fmt, ...)

+ +

#include <stdarg.h>

+ +

typedef void (*TIFFErrorHandler)(const char +*module, const char *fmt, +va_list ap);
+TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler +handler);

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFError invokes the library-wide error handling +function to (normally) write an error message to the +stderr. The fmt parameter is a +printf(3S) format string, and any number arguments +can be supplied. The module parameter, if non-zero, +is printed before the message; it typically is used to +identify the software module in which an error is +detected.

+ +

Applications that desire to capture control in the event +of an error should use TIFFSetErrorHandler to +override the default error handler. A NULL +(0) error handling function may be installed to suppress +error messages.

+
+ +

RETURN VALUES

+ + + + + +
+

TIFFSetErrorHandler returns a reference to the +previous error handling function.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFWarning(3TIFF), libtiff(3TIFF), +printf(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFFlush.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFFlush.3tiff.html new file mode 100644 index 0000000..f32ccd3 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFFlush.3tiff.html @@ -0,0 +1,113 @@ + + + + + + +TIFFFlush + + + +

TIFFFlush

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFFlush, TIFFFlushData − flush pending writes to +an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFFlush(TIFF *tif)
+int TIFFFlushData(TIFF *
tif)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFFlush causes any pending writes for the +specified file (including writes for the current directory) +to be done. In normal operation this call is never needed +− the library automatically does any flushing +required.

+ +

TIFFFlushData flushes any pending image data for +the specified file to be written out; directory-related data +are not flushed. In normal operation this call is never +needed − the library automatically does any flushing +required.

+
+ +

RETURN VALUES

+ + + + + +
+

0 is returned if an error is encountered, otherwise 1 is +returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFWriteEncodedStrip(3TIFF), +TIFFWriteEncodedTile(3TIFF), +TIFFWriteRawStrip(3TIFF), +TIFFWriteRawTile(3TIFF), +TIFFWriteScanline(3TIFF), TIFFWriteTile(3TIFF) +libtiff(3TIFF),

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFGetField.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFGetField.3tiff.html new file mode 100644 index 0000000..e644b1d --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFGetField.3tiff.html @@ -0,0 +1,1446 @@ + + + + + + +TIFFGetField + + + +

TIFFGetField

+NAME
+SYNOPSIS
+DESCRIPTION
+AUTOREGISTERED TAGS
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFGetField, TIFFVGetField − get the value(s) of a +tag in an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFGetField(TIFF *tif, ttag_t +tag, ...)

+ +

#include <stdarg.h>

+ +

int TIFFVGetField(TIFF *tif, ttag_t +tag, va_list ap)
+int TIFFGetFieldDefaulted(TIFF *
tif, +ttag_t tag, ...)
+int TIFFVGetFieldDefaulted(TIFF *
tif, +ttag_t tag, va_list ap)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFGetField returns the value of a tag or +pseudo-tag associated with the the current directory of the +opened TIFF file tif. (A +pseudo-tag is a parameter that is used to control the +operation of the TIFF library but whose value +is not read or written to the underlying file.) The file +must have been previously opened with +TIFFOpen(3TIFF). The tag is identified by tag, +one of the values defined in the include file tiff.h +(see also the table below). The type and number of values +returned is dependent on the tag being requested. The +programming interface uses a variable argument list as +prescribed by the stdarg(3) interface. The returned +values should only be interpreted if TIFFGetField +returns 1.

+ +

TIFFVGetField is functionally equivalent to +TIFFGetField except that it takes a pointer to a +variable argument list. TIFFVGetField is useful for +layering interfaces on top of the functionality provided by +TIFFGetField.

+ +

TIFFGetFieldDefaulted and +TIFFVGetFieldDefaulted are identical to +TIFFGetField and TIFFVGetField, except that if +a tag is not defined in the current directory and it has a +default value, then the default value is returned.

+ +

The tags understood by libtiff(3TIFF), the number +of parameter values, and the types for the returned values +are shown below. The data types are specified as in C and +correspond to the types used to specify tag values to +TIFFSetField(3TIFF). Remember that +TIFFGetField returns parameter values, so all the +listed data types are pointers to storage where values +should be returned. Consult the TIFF +specification (or relevant industry specification) for +information on the meaning of each tag and their possible +values.

+ + +

Tag Name Count Types Notes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

TIFFTAG_ARTIST

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_BADFAXLINES

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_BITSPERSAMPLE

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_CLEANFAXDATA

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_COLORMAP

+
+ +

3

+
+ +

uint16**

+
+ +

1<<BitsPerSample arrays

+
+ +

TIFFTAG_COMPRESSION

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_CONSECUTIVEBADFAXLINES

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_COPYRIGHT

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_DATATYPE

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_DATETIME

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_DOCUMENTNAME

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_DOTRANGE

+
+ +

2

+
+ +

uint16*

+
+
+ +

TIFFTAG_EXTRASAMPLES

+
+ +

2

+
+ +

uint16*,uint16**

+
+ +

count & types array

+
+ +

TIFFTAG_FAXFILLFUNC

+
+ +

1

+
+ +

TIFFFaxFillFunc*

+
+ +

G3/G4 compression pseudo-tag

+
+ +

TIFFTAG_FAXMODE

+
+ +

1

+
+ +

int*

+
+ +

G3/G4 compression pseudo-tag

+
+ +

TIFFTAG_FILLORDER

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_GROUP3OPTIONS

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_GROUP4OPTIONS

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_HALFTONEHINTS

+
+ +

2

+
+ +

uint16*

+
+
+ +

TIFFTAG_HOSTCOMPUTER

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_ICCPROFILE

+
+ +

2

+
+ +

uint32*,void**

+
+ +

count, profile data

+
+ +

TIFFTAG_IMAGEDEPTH

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_IMAGEDESCRIPTION

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_IMAGELENGTH

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_IMAGEWIDTH

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_INKNAMES

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_INKSET

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_JPEGCOLORMODE

+
+ +

1

+
+ +

int*

+
+ +

JPEG pseudo-tag

+
+ +

TIFFTAG_JPEGQUALITY

+
+ +

1

+
+ +

int*

+
+ +

JPEG pseudo-tag

+
+ +

TIFFTAG_JPEGTABLES

+
+ +

2

+
+ +

uint32*,void**

+
+ +

count & tables

+
+ +

TIFFTAG_JPEGTABLESMODE

+
+ +

1

+
+ +

int*

+
+ +

JPEG pseudo-tag

+
+ +

TIFFTAG_MAKE

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_MATTEING

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_MAXSAMPLEVALUE

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_MINSAMPLEVALUE

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_MODEL

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_ORIENTATION

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_PAGENAME

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_PAGENUMBER

+
+ +

2

+
+ +

uint16*

+
+
+ +

TIFFTAG_PHOTOMETRIC

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_PHOTOSHOP

+
+ +

2

+
+ +

uint32*,void**

+
+ +

count, data

+
+ +

TIFFTAG_PLANARCONFIG

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_PREDICTOR

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_PRIMARYCHROMATICITIES

+
+ +

1

+
+ +

float**

+
+ +

6-entry array

+
+ +

TIFFTAG_REFERENCEBLACKWHITE

+
+ +

1

+
+ +

float**

+
+ +

2*SamplesPerPixel array

+
+ +

TIFFTAG_RESOLUTIONUNIT

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_RICHTIFFIPTC

+
+ +

2

+
+ +

uint32*,void**

+
+ +

count, data

+
+ +

TIFFTAG_ROWSPERSTRIP

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_SAMPLEFORMAT

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_SAMPLESPERPIXEL

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_SMAXSAMPLEVALUE

+
+ +

1

+
+ +

double*

+
+
+ +

TIFFTAG_SMINSAMPLEVALUE

+
+ +

1

+
+ +

double*

+
+
+ +

TIFFTAG_SOFTWARE

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_STONITS

+
+ +

1

+
+ +

double**

+
+
+ +

TIFFTAG_STRIPBYTECOUNTS

+
+ +

1

+
+ +

uint32**

+
+
+ +

TIFFTAG_STRIPOFFSETS

+
+ +

1

+
+ +

uint32**

+
+
+ +

TIFFTAG_SUBFILETYPE

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_SUBIFD

+
+ +

2

+
+ +

uint16*,uint32**

+
+ +

count & offsets array

+
+ +

TIFFTAG_TARGETPRINTER

+
+ +

1

+
+ +

char**

+
+
+ +

TIFFTAG_THRESHHOLDING

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_TILEBYTECOUNTS

+
+ +

1

+
+ +

uint32**

+
+
+ +

TIFFTAG_TILEDEPTH

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_TILELENGTH

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_TILEOFFSETS

+
+ +

1

+
+ +

uint32**

+
+
+ +

TIFFTAG_TILEWIDTH

+
+ +

1

+
+ +

uint32*

+
+
+ +

TIFFTAG_TRANSFERFUNCTION

+
+ +

1 or 3†

+
+ +

uint16**1<<BitsPerSample entry arrays

+
+ +

TIFFTAG_WHITEPOINT

+
+ +

1

+
+ +

float**

+
+ +

2-entry array

+
+ +

TIFFTAG_XMLPACKET

+
+ +

2

+
+ +

uint32*,void**

+
+ +

count, data

+
+ +

TIFFTAG_XPOSITION

+
+ +

1

+
+ +

float*

+
+
+ +

TIFFTAG_XRESOLUTION

+
+ +

1

+
+ +

float*

+
+
+ +

TIFFTAG_YCBCRCOEFFICIENTS

+
+ +

1

+
+ +

float**

+
+ +

3-entry array

+
+ +

TIFFTAG_YCBCRPOSITIONING

+
+ +

1

+
+ +

uint16*

+
+
+ +

TIFFTAG_YCBCRSUBSAMPLING

+
+ +

2

+
+ +

uint16*

+
+
+ +

TIFFTAG_YPOSITION

+
+ +

1

+
+ +

float*

+
+
+ +

TIFFTAG_YRESOLUTION

+
+ +

1

+
+ +

float*‡

+
+
+ + + + + +
+

† If SamplesPerPixel is one, then a single +array is returned; otherwise three arrays are returned.
+‡ The contents of this field are quite complex. See +The ICC Profile Format Specification, Annex B.3 +"Embedding ICC Profiles in TIFF Files" (available +at http://www.color.org) for an explanation.

+
+ +

AUTOREGISTERED TAGS

+ + + + + +
+

If you can’t find the tag in the table above that +means this is unsupported tag. But you still be able to read +it’s value if you know the data type of that tag. For +example, if you want to read the LONG value from the tag +33424 and ASCII string from the tag 36867 you can use the +following code:

+
+ + + + + +
+
uint16  count;
+void    *data;
+
+TIFFGetField(tiff, 33424, &count, &data);
+printf("Tag %d: %d, count %d0, 33424, *(uint32 *)data, count);
+TIFFGetField(tiff, 36867, &count, &data);
+printf("Tag %d: %s, count %d0, 36867, (char *)data, count);
+
+
+ + + + + + +
+

is not supported by libtiff(3TIFF), library

+
+ +

RETURN VALUES

+ + + + + +
+

1 is returned if the tag is defined in the current +directory; otherwise a 0 is returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

Unknown field, tag 0x%x. An unknown tag was +supplied.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFSetField(3TIFF), +TIFFSetDirectory(3TIFF), +TIFFReadDirectory(3TIFF), +TIFFWriteDirectory(3TIFF) libtiff(3TIFF),

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFOpen.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFOpen.3tiff.html new file mode 100644 index 0000000..6bc85d8 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFOpen.3tiff.html @@ -0,0 +1,421 @@ + + + + + + +TIFFOpen + + + +

TIFFOpen

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BYTE ORDER
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFOpen, TIFFFdOpen, TIFFClientOpen − open a +TIFF file for reading or writing

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

TIFF* TIFFOpen(const char *filename, +const char *mode)
+TIFF* TIFFFdOpen(const int
fd, const char +*filename, const char +*mode)

+ +

typedef tsize_t (*TIFFReadWriteProc)(thandle_t, +tdata_t, tsize_t);
+typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int);
+typedef int (*TIFFCloseProc)(thandle_t);
+typedef toff_t (*TIFFSizeProc)(thandle_t);
+typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*, +toff_t*);
+typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, +toff_t);

+ +

TIFF* TIFFClientOpen(const char +*filename, const char *mode, +thandle_t clientdata, TIFFReadWriteProc +readproc, TIFFReadWriteProc +writeproc, TIFFSeekProc seekproc, +TIFFCloseProc closeproc, TIFFSizeProc +sizeproc, TIFFMapFileProc mapproc, +TIFFUnmapFileProc unmapproc)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFOpen opens a TIFF file whose +name is filename and returns a handle to be used in +subsequent calls to routines in libtiff. If the open +operation fails, then zero is returned. The mode +parameter specifies if the file is to be opened for reading +(‘‘r’’), writing +(‘‘w’’), or appending +(‘‘a’’) and, optionally, whether to +override certain default aspects of library operation (see +below). When a file is opened for appending, existing data +will not be touched; instead new data will be written as +additional subfiles. If an existing file is opened for +writing, all previous data is overwritten.

+ +

If a file is opened for reading, the first +TIFF directory in the file is automatically +read (also see TIFFSetDirectory(3TIFF) for reading +directories other than the first). If a file is opened for +writing or appending, a default directory is automatically +created for writing subsequent data. This directory has all +the default values specified in TIFF Revision +6.0: BitsPerSample=1, ThreshHolding=bilevel +art scan, FillOrder=1 (most significant bit of each +data byte is filled first), Orientation=1 (the 0th +row represents the visual top of the image, and the 0th +column represents the visual left hand side), +SamplesPerPixel=1, RowsPerStrip=infinity, +ResolutionUnit=2 (inches), and Compression=1 +(no compression). To alter these values, or to define values +for additional fields, TIFFSetField(3TIFF) must be +used.

+ +

TIFFFdOpen is like TIFFOpen except that it +opens a TIFF file given an open file +descriptor fd. The file’s name and mode must +reflect that of the open descriptor. The object associated +with the file descriptor must support random +access.

+ +

TIFFClientOpen is like TIFFOpen except that +the caller supplies a collection of functions that the +library will use to do UNIX -like I/O +operations. The readproc and writeproc are +called to read and write data at the current file position. +seekproc is called to change the current file +position a la lseek(2). closeproc is invoked +to release any resources associated with an open file. +sizeproc is invoked to obtain the size in bytes of a +file. mapproc and unmapproc are called to map +and unmap a file’s contents in memory; c.f. +mmap(2) and munmap(2). The clientdata +parameter is an opaque ‘‘handle’’ +passed to the client-specified routines passed as parameters +to TIFFClientOpen.

+
+ +

OPTIONS

+ + + + + +
+

The open mode parameter can include the following flags +in addition to the ‘‘r’’, +‘‘w’’, and +‘‘a’’ flags. Note however that +option flags must follow the read-write-append +specification.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

l

+
+ +

When creating a new file force information be written +with Little-Endian byte order (but see below). By default +the library will create new files using the native +CPU byte order.

+
+
+ +

b

+
+ +

When creating a new file force information be written +with Big-Endian byte order (but see below). By default the +library will create new files using the native +CPU byte order.

+
+
+ +

L

+
+ +

Force image data that is read or written to be treated +with bits filled from Least Significant Bit ( +LSB ) to Most Significant Bit ( +MSB ). Note that this is the opposite to the +way the library has worked from its inception.

+
+
+ +

B

+
+ +

Force image data that is read or written to be treated +with bits filled from Most Significant Bit ( +MSB ) to Least Significant Bit ( +LSB ); this is the default.

+
+
+ +

H

+
+ +

Force image data that is read or written to be treated +with bits filled in the same order as the native +CPU.

+
+
+ +

M

+
+ +

Enable the use of memory-mapped files for images opened +read-only. If the underlying system does not support +memory-mapped files or if the specific image being opened +cannot be memory-mapped then the library will fallback to +using the normal system interface for reading information. +By default the library will attempt to use memory-mapped +files.

+
+
+ +

m

+
+ +

Disable the use of memory-mapped files.

+
+
+ +

C

+
+ +

Enable the use of ‘‘strip +chopping’’ when reading images that are +comprised of a single strip or tile of uncompressed data. +Strip chopping is a mechanism by which the library will +automatically convert the single-strip image to multiple +strips, each of which has about 8 Kilobytes of data. This +facility can be useful in reducing the amount of memory used +to read an image because the library normally reads each +strip in its entirety. Strip chopping does however alter the +apparent contents of the image because when an image is +divided into multiple strips it looks as though the +underlying file contains multiple separate strips. Finally, +note that default handling of strip chopping is a +compile-time configuration parameter. The default behaviour, +for backwards compatibility, is to enable strip +chopping.

+
+
+ +

c

+
+ +

Disable the use of strip chopping when reading +images.

+
+
+ +

h

+
+ +

Read TIFF header only, do not load the first image +directory. That could be useful in case of the broken first +directory. We can open the file and proceed to the other +directories.

+
+
+ +

BYTE ORDER

+ + + + + +
+

The TIFF specification (all +versions) states that compliant readers must be +capable of reading images written in either byte order. +Nonetheless some software that claims to support the reading +of TIFF images is incapable of reading images +in anything but the native CPU byte order on +which the software was written. (Especially notorious are +applications written to run on Intel-based machines.) By +default the library will create new files with the native +byte-order of the CPU on which the +application is run. This ensures optimal performance and is +portable to any application that conforms to the TIFF +specification. To force the library to use a specific +byte-order when creating a new file the +‘‘b’’ and +‘‘l’’ option flags may be included +in the call to open a file; for example, +‘‘wb’’ or +‘‘wl’’.

+
+ +

RETURN VALUES

+ + + + + +
+

Upon successful completion TIFFOpen, +TIFFFdOpen, and TIFFClientOpen return a +TIFF pointer. Otherwise, NULL is +returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine. Likewise, warning messages +are directed to the TIFFWarning(3TIFF) routine.

+ +

"%s": Bad mode. The specified +mode parameter was not one of +‘‘r’’ (read), +‘‘w’’ (write), or +‘‘a’’ (append).

+ +

%s: Cannot open. TIFFOpen() was unable to +open the specified filename for read/writing.

+ +

Cannot read TIFF header. An error occurred while +attempting to read the header information.

+ +

Error writing TIFF header. An error occurred while +writing the default header information for a new file.

+ +

Not a TIFF file, bad magic number %d (0x%x). The +magic number in the header was not (hex) 0x4d4d or (hex) +0x4949.

+ +

Not a TIFF file, bad version number %d (0x%x). The +version field in the header was not 42 (decimal).

+ +

Cannot append to file that has opposite byte +ordering. A file with a byte ordering opposite to the +native byte ordering of the current machine was opened for +appending (‘‘a’’). This is a +limitation of the library.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF), TIFFClose(3TIFF)

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFPrintDirectory.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFPrintDirectory.3tiff.html new file mode 100644 index 0000000..a5f418a --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFPrintDirectory.3tiff.html @@ -0,0 +1,225 @@ + + + + + + +TIFFPrintDirectory + + + +

TIFFPrintDirectory

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFPrintDirectory − print a description of a +TIFF directory

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

void TIFFPrintDirectory(TIFF *tif, FILE +*fd, long flags)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFPrintDirectory prints a description of the +current directory in the specified TIFF file +to the standard I/O output stream fd. The +flags parameter is used to control the level of +detail of the printed information; it is a bit-or of the +flags defined in tiffio.h:

+ + +

#define TIFFPRINT_NONE 0x0 /* no extra info */

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

#define

+
+ +

TIFFPRINT_STRIPS

+
+ +

0x1

+
+ +

/* strips/tiles info */

+
+ +

#define

+
+ +

TIFFPRINT_CURVES

+
+ +

0x2

+
+ +

/* color/gray response curves */

+
+ +

#define

+
+ +

TIFFPRINT_COLORMAP

+
+ +

0x4

+
+ +

/* colormap */

+
+ +

#define

+
+ +

TIFFPRINT_JPEGQTABLES

+
+ +

0x100

+
+ +

/* JPEG Q matrices */

+
+ +

#define

+
+ +

TIFFPRINT_JPEGACTABLES

+
+ +

0x200

+
+ +

/* JPEG AC tables */

+
+ +

#define

+
+ +

TIFFPRINT_JPEGDCTABLES

+
+ +

0x200

+
+ +

/* JPEG DC tables */

+
+ +

NOTES

+ + + + + +
+

In C++ the flags parameter defaults to 0.

+
+ +

RETURN VALUES

+ + + + + +
+

None.

+
+ +

DIAGNOSTICS

+ + + + + +
+

None.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF), TIFFOpen(3TIFF), +TIFFReadDirectory(3TIFF), +TIFFSetDirectory(3TIFF)

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFRGBAImage.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFRGBAImage.3tiff.html new file mode 100644 index 0000000..7bbee0f --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFRGBAImage.3tiff.html @@ -0,0 +1,319 @@ + + + + + + +TIFFRGBAImage + + + +

TIFFRGBAImage

+NAME
+SYNOPSIS
+DESCRIPTION
+ALTERNATE RASTER FORMATS
+SIMULTANEOUS RASTER STORE AND DISPLAY
+SUPPORTING ADDITIONAL TIFF FORMATS
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFRGBAImageOK, TIFFRGBAImageBegin, TIFFRGBAImageGet, +TIFFRGBAImageEnd − read and decode an image into a +raster

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

typedef unsigned char TIFFRGBValue; typedef struct +_TIFFRGBAImage TIFFRGBAImage;

+ +

int TIFFRGBAImageOK(TIFF *tif, char +emsg[1024])
+int TIFFRGBAImageBegin(TIFFRGBAImage *
img, +TIFF* tif, int stopOnError, +char emsg[1024])
+int TIFFRGBAImageGet(TIFFRGBAImage *
img, +uint32* raster, uint32 width , +uint32 height)
+void TIFFRGBAImageEnd(TIFFRGBAImage +*
img)

+
+ +

DESCRIPTION

+ + + + + +
+

The routines described here provide a high-level +interface through which TIFF images may be +read into memory. Images may be strip- or tile-based and +have a variety of different characteristics: bits/sample, +samples/pixel, photometric, etc. Decoding state is +encapsulated in a TIFFRGBAImage structure making it +possible to capture state for multiple images and quickly +switch between them. The target raster format can be +customized to a particular application’s needs by +installing custom routines that manipulate image data +according to application requirements.

+ +

The default usage for these routines is: check if an +image can be processed using TIFFRGBAImageOK, +construct a decoder state block using +TIFFRGBAImageBegin, read and decode an image into a +target raster using TIFFRGBAImageGet, and then +release resources using TIFFRGBAImageEnd. +TIFFRGBAImageGet can be called multiple times to +decode an image using different state parameters. If +multiple images are to be displayed and there is not enough +space for each of the decoded rasters, multiple state blocks +can be managed and then calls can be made to +TIFFRGBAImageGet as needed to display an image.

+ +

The generated raster is assumed to be an array of +width times height 32-bit entries, where +width must be less than or equal to the width of the +image (height may be any non-zero size). If the +raster dimensions are smaller than the image, the image data +is cropped to the raster bounds. If the raster height is +greater than that of the image, then the image data are +placed in the lower part of the raster. (Note that the +raster is assume to be organized such that the pixel at +location (x,y) is +raster[y*width+x]; with the +raster origin in the lower-left hand corner.)

+ +

Raster pixels are 8-bit packed red, green, blue, alpha +samples. The macros TIFFGetR, TIFFGetG, +TIFFGetB, and TIFFGetA should be used to +access individual samples. Images without Associated Alpha +matting information have a constant Alpha of 1.0 (255).

+ +

TIFFRGBAImageGet converts non-8-bit images by +scaling sample values. Palette, grayscale, bilevel, +CMYK , and YCbCr images are converted to +RGB transparently. Raster pixels are returned +uncorrected by any colorimetry information present in the +directory.

+ +

The parameter stopOnError specifies how to act if +an error is encountered while reading the image. If +stopOnError is non-zero, then an error will terminate +the operation; otherwise TIFFRGBAImageGet will +continue processing data until all the possible data in the +image have been requested.

+
+ +

ALTERNATE RASTER FORMATS

+ + + + + +
+

To use the core support for reading and processing +TIFF images, but write the resulting raster +data in a different format one need only override the +‘‘put methods’’ used to store +raster data. These methods are are defined in the +TIFFRGBAImage structure and initially setup by +TIFFRGBAImageBegin to point to routines that pack +raster data in the default ABGR pixel format. +Two different routines are used according to the physical +organization of the image data in the file: +PlanarConfiguration=1 (packed samples), and +PlanarConfiguration=2 (separated samples). Note that +this mechanism can be used to transform the data before +storing it in the raster. For example one can convert data +to colormap indices for display on a colormap display.

+
+ +

SIMULTANEOUS RASTER STORE AND DISPLAY

+ + + + + +
+

It is simple to display an image as it is being read into +memory by overriding the put methods as described above for +supporting alternate raster formats. Simply keep a reference +to the default put methods setup by +TIFFRGBAImageBegin and then invoke them before or +after each display operation. For example, the +tiffgt(1) utility uses the following put method to +update the display as the raster is being filled:

+ +
static void
+putContigAndDraw(TIFFRGBAImage* img, uint32* raster,
+    uint32 x, uint32 y, uint32 w, uint32 h,
+    int32 fromskew, int32 toskew,
+    unsigned char* cp)
+{
+    (*putContig)(img, raster, x, y, w, h, fromskew, toskew, cp);
+    if (x+w == width) {
+     w = width;
+     if (img->orientation == ORIENTATION_TOPLEFT)
+         lrectwrite(0, y-(h-1), w-1, y, raster-x-(h-1)*w);
+     else
+         lrectwrite(0, y, w-1, y+h-1, raster);
+    }
+}
+
+ +

(the original routine provided by the library is saved in +the variable putContig.)

+
+ +

SUPPORTING ADDITIONAL TIFF FORMATS

+ + + + + +
+

The TIFFRGBAImage routines support the most +commonly encountered flavors of TIFF. It is +possible to extend this support by overriding the +‘‘get method’’ invoked by +TIFFRGBAImageGet to read TIFF image +data. Details of doing this are a bit involved, it is best +to make a copy of an existing get method and modify it to +suit the needs of an application.

+
+ +

NOTES

+ + + + + +
+

Samples must be either 1, 2, 4, 8, or 16 bits. +Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. +SamplesPerPixel minus ExtraSamples).

+ +

Palette image colormaps that appear to be incorrectly +written as 8-bit values are automatically scaled to +16-bits.

+
+ +

RETURN VALUES

+ + + + + +
+

All routines return 1 if the operation was successful. +Otherwise, 0 is returned if an error was encountered and +stopOnError is zero.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

Sorry, can not handle %d-bit pictures. The image +had BitsPerSample other than 1, 2, 4, 8, or 16.

+ +

Sorry, can not handle %d-channel images. The image +had SamplesPerPixel other than 1, 3, or 4.

+ +

Missing needed "PhotometricInterpretation" +tag. The image did not have a tag that describes how to +display the data.

+ +

No "PhotometricInterpretation" tag, assuming +RGB. The image was missing a tag that describes how to +display it, but because it has 3 or 4 samples/pixel, it is +assumed to be RGB.

+ +

No "PhotometricInterpretation" tag, assuming +min-is-black. The image was missing a tag that describes +how to display it, but because it has 1 sample/pixel, it is +assumed to be a grayscale or bilevel image.

+ +

No space for photometric conversion table. There +was insufficient memory for a table used to convert image +samples to 8-bit RGB.

+ +

Missing required "Colormap" tag. A +Palette image did not have a required Colormap +tag.

+ +

No space for tile buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

No space for strip buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

Can not handle format. The image has a format +(combination of BitsPerSample, +SamplesPerPixel, and +PhotometricInterpretation) that can not be +handled.

+ +

No space for B&W mapping table. There was +insufficient memory to allocate a table used to map +grayscale data to RGB.

+ +

No space for Palette mapping table. There was +insufficient memory to allocate a table used to map data to +8-bit RGB.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFReadRGBAImage(3TIFF), +TIFFReadRGBAImageOriented(3TIFF), +TIFFReadRGBAStrip(3TIFF), +TIFFReadRGBATile(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadDirectory.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadDirectory.3tiff.html new file mode 100644 index 0000000..5bb828e --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadDirectory.3tiff.html @@ -0,0 +1,218 @@ + + + + + + +TIFFReadDirectory + + + +

TIFFReadDirectory

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadDirectory − get the contents of the +next directory in an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFReadDirectory(TIFF +*tif)

+
+ +

DESCRIPTION

+ + + + + +
+

Read the next directory in the specified file and +make it the current directory. Applications only need to +call TIFFReadDirectory to read multiple subfiles in a +single TIFF file— the first directory in a +file is automatically read when TIFFOpen is +called.

+
+ +

NOTES

+ + + + + +
+

If the library is compiled with +STRIPCHOP_SUPPORT enabled, then images that have a +single uncompressed strip or tile of data are automatically +treated as if they were made up of multiple strips or tiles +of approximately 8 kilobytes each. This operation is done +only in-memory; it does not alter the contents of the file. +However, the construction of the ‘‘chopped +strips’’ is visible to the application through +the number of strips [tiles] returned by +TIFFNumberOfStrips +[TIFFNumberOfTiles].

+
+ +

RETURN VALUES

+ + + + + +
+

If the next directory was successfully read, 1 is +returned. Otherwise, 0 is returned if an error was +encountered, or if there are no more directories to be +read.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine. All warning messages are +directed to the TIFFWarning(3TIFF) routine.

+ +

Seek error accessing TIFF directory. An error +occurred while positioning to the location of the +directory.

+ +

Wrong data type %d for field "%s". +The tag entry in the directory had an incorrect data type. +For example, an ImageDescription tag with a +SHORT data type.

+ +

TIFF directory is missing required "%s" +field. The specified tag is required to be present by +the TIFF 5.0 specification, but is missing. The +directory is (usually) unusable.

+ +

%s: Rational with zero denominator. A +directory tag has a RATIONAL value whose +denominator is zero.

+ +

Incorrect count %d for field "%s" (%lu, +expecting %lu); tag ignored. The specified tag’s +count field is bad. For example, a count other than 1 for a +SubFileType tag.

+ +

Cannot handle different per-sample values for +field "%s". The tag has SamplesPerPixel +values and they are not all the same; e.g. +BitsPerSample. The library is unable to handle images +of this sort.

+ +

Count mismatch for field "%s"; +expecting %d, got %d. The count field in a tag does not +agree with the number expected by the library. This should +never happen, so if it does, the library refuses to read the +directory.

+ +

Invalid TIFF directory; tags are not sorted in +ascending order. The directory tags are not properly +sorted as specified in the TIFF 5.0 +specification. This error is not fatal.

+ +

Ignoring unknown field with tag %d (0x%x). An +unknown tag was encountered in the directory; the library +ignores all such tags.

+ +

TIFF directory is missing requred +"ImageLength" field. The image violates the +specification by not having a necessary field. There is no +way for the library to recover from this error.

+ +

TIFF directory is missing requred +"PlanarConfig" field. The image violates the +specification by not having a necessary field. There is no +way for the library to recover from this error.

+ +

TIFF directory is missing requred +"StripOffsets" field. The image has multiple +strips, but is missing the tag that specifies the file +offset to each strip of data. There is no way for the +library to recover from this error.

+ +

TIFF directory is missing requred +"TileOffsets" field. The image has multiple +tiles, but is missing the tag that specifies the file offset +to each tile of data. There is no way for the library to +recover from this error.

+ +

TIFF directory is missing required +"StripByteCounts" field. The image has +multiple strips, but is missing the tag that specifies the +size of each strip of data. There is no way for the library +to recover from this error.

+ +

TIFF directory is missing required +"StripByteCounts" field, calculating from +imagelength. The image violates the specification by not +having a necessary field. However, when the image is +comprised of only one strip or tile, the library will +estimate the missing value based on the file size.

+ +

Bogus "StripByteCounts" field, ignoring +and calculating from imagelength. Certain vendors +violate the specification by writing zero for the +StripByteCounts tag when they want to leave the value +unspecified. If the image has a single strip, the library +will estimate the missing value based on the file +size.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFWriteDirectory(3TIFF), +TIFFSetDirectory(3TIFF), +TIFFSetSubDirectory(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadEncodedStrip.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadEncodedStrip.3tiff.html new file mode 100644 index 0000000..39d411d --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadEncodedStrip.3tiff.html @@ -0,0 +1,133 @@ + + + + + + +TIFFReadEncodedStrip + + + +

TIFFReadEncodedStrip

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadEncodedStrip − read and decode a strip +of data from an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFReadEncodedStrip(TIFF +*tif, tstrip_t strip, +tdata_t buf, tsize_t +size)

+
+ +

DESCRIPTION

+ + + + + +
+

Read the specified strip of data and place up to +size bytes of decompressed information in the (user +supplied) data buffer.

+
+ +

NOTES

+ + + + + +
+

The value of strip is a ‘‘raw +strip number.’’ That is, the caller must take +into account whether or not the data are organized in +separate planes (PlanarConfiguration=2). To read a +full strip of data the data buffer should typically be at +least as large as the number returned by +TIFFStripSize(3TIFF). If the -1 passed in size +parameter, the whole strip will be read. You should be sure +you have enough space allocated for the buffer.

+ +

The library attempts to hide bit- and byte-ordering +differences between the image and the native machine by +converting data to the native machine order. Bit reversal is +done if the FillOrder tag is opposite to the native +machine bit order. 16- and 32-bit samples are automatically +byte-swapped if the file was written with a byte order +opposite to the native machine byte order,

+
+ +

RETURN VALUES

+ + + + + +
+

The actual number of bytes of data that were placed +in buf is returned; TIFFReadEncodedStrip +returns −1 if an error was encountered.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFReadRawStrip(3TIFF), +TIFFReadScanline(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadEncodedTile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadEncodedTile.3tiff.html new file mode 100644 index 0000000..752b1ea --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadEncodedTile.3tiff.html @@ -0,0 +1,130 @@ + + + + + + +TIFFReadEncodedTile + + + +

TIFFReadEncodedTile

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadEncodedTile − read and decode a tile of +data from an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFReadEncodedTile(TIFF *tif, +ttile_t tile, tdata_t buf, +tsize_t size)

+
+ +

DESCRIPTION

+ + + + + +
+

Read the specified tile of data and place up to +size bytes of decompressed information in the (user +supplied) data buffer.

+
+ +

NOTES

+ + + + + +
+

The value of tile is a ‘‘raw tile +number.’’ That is, the caller must take into +account whether or not the data are organized in separate +planes (PlanarConfiguration=2). +TIFFComputeTile automatically does this when +converting an (x,y,z,sample) coordinate quadruple to a tile +number. To read a full tile of data the data buffer should +be at least as large as the value returned by +TIFFTileSize.

+ +

The library attempts to hide bit- and byte-ordering +differences between the image and the native machine by +converting data to the native machine order. Bit reversal is +done if the FillOrder tag is opposite to the native +machine bit order. 16- and 32-bit samples are automatically +byte-swapped if the file was written with a byte order +opposite to the native machine byte order,

+
+ +

RETURN VALUES

+ + + + + +
+

The actual number of bytes of data that were placed in +buf is returned; TIFFReadEncodedTile returns +−1 if an error was encountered.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFReadRawTile(3TIFF), +TIFFReadTile(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadRGBAImage.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadRGBAImage.3tiff.html new file mode 100644 index 0000000..165284e --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadRGBAImage.3tiff.html @@ -0,0 +1,301 @@ + + + + + + +TIFFReadRGBAImage + + + +

TIFFReadRGBAImage

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadRGBAImage, TIFFReadRGBAImageOriented − read +and decode an image into a fixed-format raster

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

#define TIFFGetR(abgr) ((abgr) & 0xff)
+#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)
+#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)
+#define TIFFGetA(abgr) (((abgr) >> 24) & +0xff)

+ +

int TIFFReadRGBAImage(TIFF *tif, +uint32 width, uint32 height, +uint32 *raster, int +stopOnError)
+int TIFFReadRGBAImageOriented(TIFF *
tif, +uint32 width, uint32 height, +uint32 *raster, int orientation, +int stopOnError)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFReadRGBAImage reads a strip- or tile-based +image into memory, storing the result in the user supplied +raster. The raster is assumed to be an array of +width times height 32-bit entries, where +width must be less than or equal to the width of the +image (height may be any non-zero size). If the +raster dimensions are smaller than the image, the image data +is cropped to the raster bounds. If the raster height is +greater than that of the image, then the image data are +placed in the lower part of the raster. (Note that the +raster is assume to be organized such that the pixel at +location (x,y) is +raster[y*width+x]; with the +raster origin in the lower-left hand corner.)

+ +

TIFFReadRGBAImageOriented works like +TIFFReadRGBAImage with except of that user can +specify the raster origin position with the +orientation parameter. Four orientations +supported:

+
+ + + + + +
+

ORIENTATION_TOPLEFT

+ + + + + +
+

origin in top-left corner,

+
+ + + + + +
+

ORIENTATION_TOPRIGHT

+ + + + + +
+

origin in top-right corner,

+
+ + + + + +
+

ORIENTATION_BOTLEFT

+ + + + + +
+

origin in bottom-left corner and

+
+ + + + + +
+

ORIENTATION_BOTRIGHT

+ + + + + +
+

origin in bottom-right corner.

+
+ + + + + +
+

If you choose ORIENTATION_BOTLEFT result will be +the same as returned by the TIFFReadRGBAImage.

+ +

Raster pixels are 8-bit packed red, green, blue, alpha +samples. The macros TIFFGetR, TIFFGetG, +TIFFGetB, and TIFFGetA should be used to +access individual samples. Images without Associated Alpha +matting information have a constant Alpha of 1.0 (255).

+ +

TIFFReadRGBAImage converts non-8-bit images by +scaling sample values. Palette, grayscale, bilevel, +CMYK , and YCbCr images are converted to +RGB transparently. Raster pixels are returned +uncorrected by any colorimetry information present in the +directory.

+ +

The paramater stopOnError specifies how to act if +an error is encountered while reading the image. If +stopOnError is non-zero, then an error will terminate +the operation; otherwise TIFFReadRGBAImage will +continue processing data until all the possible data in the +image have been requested.

+
+ +

NOTES

+ + + + + +
+

In C++ the stopOnError parameter defaults to +0.

+ +

Samples must be either 1, 2, 4, 8, or 16 bits. +Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. +SamplesPerPixel minus ExtraSamples).

+ +

Palettte image colormaps that appear to be incorrectly +written as 8-bit values are automatically scaled to +16-bits.

+ +

TIFFReadRGBAImage is just a wrapper around the +more general TIFFRGBAImage(3TIFF) facilities.

+
+ +

RETURN VALUES

+ + + + + +
+

1 is returned if the image was successfully read and +converted. Otherwise, 0 is returned if an error was +encountered and stopOnError is zero.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

Sorry, can not handle %d-bit pictures. The image +had BitsPerSample other than 1, 2, 4, 8, or 16.

+ +

Sorry, can not handle %d-channel images. The image +had SamplesPerPixel other than 1, 3, or 4.

+ +

Missing needed "PhotometricInterpretation" +tag. The image did not have a tag that describes how to +display the data.

+ +

No "PhotometricInterpretation" tag, assuming +RGB. The image was missing a tag that describes how to +display it, but because it has 3 or 4 samples/pixel, it is +assumed to be RGB.

+ +

No "PhotometricInterpretation" tag, assuming +min-is-black. The image was missing a tag that describes +how to display it, but because it has 1 sample/pixel, it is +assumed to be a grayscale or bilevel image.

+ +

No space for photometric conversion table. There +was insufficient memory for a table used to convert image +samples to 8-bit RGB.

+ +

Missing required "Colormap" tag. A +Palette image did not have a required Colormap +tag.

+ +

No space for tile buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

No space for strip buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

Can not handle format. The image has a format +(combination of BitsPerSample, +SamplesPerPixel, and +PhotometricInterpretation) that +TIFFReadRGBAImage can not handle.

+ +

No space for B&W mapping table. There was +insufficient memory to allocate a table used to map +grayscale data to RGB.

+ +

No space for Palette mapping table. There was +insufficient memory to allocate a table used to map data to +8-bit RGB.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFRGBAImage(3TIFF), +TIFFReadRGBAStrip(3TIFF), +TIFFReadRGBATile(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadRGBAStrip.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadRGBAStrip.3tiff.html new file mode 100644 index 0000000..df09f64 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadRGBAStrip.3tiff.html @@ -0,0 +1,208 @@ + + + + + + +TIFFReadRGBAStrip + + + +

TIFFReadRGBAStrip

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadRGBAStrip − read and decode an image strip +into a fixed-format raster

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

#define TIFFGetR(abgr) ((abgr) & 0xff)
+#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff)
+#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff)
+#define TIFFGetA(abgr) (((abgr) >> 24) & +0xff)

+ +

int TIFFReadRGBAStrip(TIFF *tif, +uint32 row, uint32 +*raster)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFReadRGBAStrip reads a single strip of a +strip-based image into memory, storing the result in the +user supplied RGBA raster. The raster is assumed to +be an array of width times rowsperstrip 32-bit entries, +where width is the width of the image (TIFFTAG_IMAGEWIDTH) +and rowsperstrip is the maximum lines in a strip +(TIFFTAG_ROWSPERSTRIP).

+ +

The row value should be the row of the first row +in the strip (strip * rowsperstrip, zero based).

+ +

Note that the raster is assume to be organized such that +the pixel at location (x,y) is +raster[y*width+x]; with the +raster origin in the lower-left hand corner of the +strip. That is bottom to top organization. When reading a +partial last strip in the file the last line of the image +will begin at the beginning of the buffer.

+ +

Raster pixels are 8-bit packed red, green, blue, alpha +samples. The macros TIFFGetR, TIFFGetG, +TIFFGetB, and TIFFGetA should be used to +access individual samples. Images without Associated Alpha +matting information have a constant Alpha of 1.0 (255).

+ +

See the TIFFRGBAImage(3TIFF) page for more details +on how various image types are converted to RGBA values.

+
+ +

NOTES

+ + + + + +
+

Samples must be either 1, 2, 4, 8, or 16 bits. +Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. +SamplesPerPixel minus ExtraSamples).

+ +

Palette image colormaps that appear to be incorrectly +written as 8-bit values are automatically scaled to +16-bits.

+ +

TIFFReadRGBAStrip is just a wrapper around the +more general TIFFRGBAImage(3TIFF) facilities. +It’s main advantage over the similar +TIFFReadRGBAImage() function is that for large images +a single buffer capable of holding the whole image +doesn’t need to be allocated, only enough for one +strip. The TIFFReadRGBATile() function does a similar +operation for tiled images.

+
+ +

RETURN VALUES

+ + + + + +
+

1 is returned if the image was successfully read and +converted. Otherwise, 0 is returned if an error was +encountered.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

Sorry, can not handle %d-bit pictures. The image +had BitsPerSample other than 1, 2, 4, 8, or 16.

+ +

Sorry, can not handle %d-channel images. The image +had SamplesPerPixel other than 1, 3, or 4.

+ +

Missing needed "PhotometricInterpretation" +tag. The image did not have a tag that describes how to +display the data.

+ +

No "PhotometricInterpretation" tag, assuming +RGB. The image was missing a tag that describes how to +display it, but because it has 3 or 4 samples/pixel, it is +assumed to be RGB.

+ +

No "PhotometricInterpretation" tag, assuming +min-is-black. The image was missing a tag that describes +how to display it, but because it has 1 sample/pixel, it is +assumed to be a grayscale or bilevel image.

+ +

No space for photometric conversion table. There +was insufficient memory for a table used to convert image +samples to 8-bit RGB.

+ +

Missing required "Colormap" tag. A +Palette image did not have a required Colormap +tag.

+ +

No space for tile buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

No space for strip buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

Can not handle format. The image has a format +(combination of BitsPerSample, +SamplesPerPixel, and +PhotometricInterpretation) that +TIFFReadRGBAImage can not handle.

+ +

No space for B&W mapping table. There was +insufficient memory to allocate a table used to map +grayscale data to RGB.

+ +

No space for Palette mapping table. There was +insufficient memory to allocate a table used to map data to +8-bit RGB.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFRGBAImage(3TIFF), +TIFFReadRGBAImage(3TIFF), +TIFFReadRGBATile(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadRGBATile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadRGBATile.3tiff.html new file mode 100644 index 0000000..ed67b83 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadRGBATile.3tiff.html @@ -0,0 +1,261 @@ + + + + + + +TIFFReadRGBATile + + + +

TIFFReadRGBATile

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadRGBATile − read and decode an image tile +into a fixed-format raster

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

#define TIFFGetR(abgr)

+
+ +

((abgr) & 0xff)

+
+ +

#define TIFFGetG(abgr)

+
+ +

(((abgr) >> 8) & 0xff)

+
+ +

#define TIFFGetB(abgr)

+
+ +

(((abgr) >> 16) & 0xff)

+
+ +

#define TIFFGetA(abgr)

+
+ +

(((abgr) >> 24) & 0xff)

+
+ + + + + +
+

int TIFFReadRGBATile(TIFF *tif, +uint32 x, uint32 y, uint32 +*raster)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFReadRGBATile reads a single tile of a +tile-based image into memory, storing the result in the user +supplied RGBA raster. The raster is assumed to be an +array of width times length 32-bit entries, where width is +the width of a tile (TIFFTAG_TILEWIDTH) and length is the +height of a tile (TIFFTAG_TILELENGTH).

+ +

The x and y values are the offsets from the +top left corner to the top left corner of the tile to be +read. They must be an exact multiple of the tile width and +length.

+ +

Note that the raster is assume to be organized such that +the pixel at location (x,y) is +raster[y*width+x]; with the +raster origin in the lower-left hand corner of the +tile. That is bottom to top organization. Edge tiles which +partly fall off the image will be filled out with +appropriate zeroed areas.

+ +

Raster pixels are 8-bit packed red, green, blue, alpha +samples. The macros TIFFGetR, TIFFGetG, +TIFFGetB, and TIFFGetA should be used to +access individual samples. Images without Associated Alpha +matting information have a constant Alpha of 1.0 (255).

+ +

See the TIFFRGBAImage(3TIFF) page for more details +on how various image types are converted to RGBA values.

+
+ +

NOTES

+ + + + + +
+

Samples must be either 1, 2, 4, 8, or 16 bits. +Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. +SamplesPerPixel minus ExtraSamples).

+ +

Palette image colormaps that appear to be incorrectly +written as 8-bit values are automatically scaled to +16-bits.

+ +

TIFFReadRGBATile is just a wrapper around the more +general TIFFRGBAImage(3TIFF) facilities. It’s +main advantage over the similar TIFFReadRGBAImage() +function is that for large images a single buffer capable of +holding the whole image doesn’t need to be allocated, +only enough for one tile. The TIFFReadRGBAStrip() +function does a similar operation for stripped images.

+
+ +

RETURN VALUES

+ + + + + +
+

1 is returned if the image was successfully read and +converted. Otherwise, 0 is returned if an error was +encountered.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

Sorry, can not handle %d-bit pictures. The image +had BitsPerSample other than 1, 2, 4, 8, or 16.

+ +

Sorry, can not handle %d-channel images. The image +had SamplesPerPixel other than 1, 3, or 4.

+ +

Missing needed "PhotometricInterpretation" +tag. The image did not have a tag that describes how to +display the data.

+ +

No "PhotometricInterpretation" tag, assuming +RGB. The image was missing a tag that describes how to +display it, but because it has 3 or 4 samples/pixel, it is +assumed to be RGB.

+ +

No "PhotometricInterpretation" tag, assuming +min-is-black. The image was missing a tag that describes +how to display it, but because it has 1 sample/pixel, it is +assumed to be a grayscale or bilevel image.

+ +

No space for photometric conversion table. There +was insufficient memory for a table used to convert image +samples to 8-bit RGB.

+ +

Missing required "Colormap" tag. A +Palette image did not have a required Colormap +tag.

+ +

No space for tile buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

No space for strip buffer. There was insufficient +memory to allocate an i/o buffer.

+ +

Can not handle format. The image has a format +(combination of BitsPerSample, +SamplesPerPixel, and +PhotometricInterpretation) that +TIFFReadRGBAImage can not handle.

+ +

No space for B&W mapping table. There was +insufficient memory to allocate a table used to map +grayscale data to RGB.

+ +

No space for Palette mapping table. There was +insufficient memory to allocate a table used to map data to +8-bit RGB.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFRGBAImage(3TIFF), +TIFFReadRGBAImage(3TIFF), +TIFFReadRGBAStrip(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadRawStrip.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadRawStrip.3tiff.html new file mode 100644 index 0000000..bd14f72 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadRawStrip.3tiff.html @@ -0,0 +1,109 @@ + + + + + + +TIFFReadRawStrip + + + +

TIFFReadRawStrip

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadRawStrip − return the undecoded contents of +a strip of data from an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFReadRawStrip(TIFF *tif, +tstrip_t strip, tdata_t buf, +tsize_t size)

+
+ +

DESCRIPTION

+ + + + + +
+

Read the contents of the specified strip into the (user +supplied) data buffer. Note that the value of strip +is a ‘‘raw strip number.’’ That is, +the caller must take into account whether or not the data is +organized in separate planes (PlanarConfiguration=2). +To read a full strip of data the data buffer should +typically be at least as large as the number returned by +TIFFStripSize.

+
+ +

RETURN VALUES

+ + + + + +
+

The actual number of bytes of data that were placed in +buf is returned; TIFFReadEncodedStrip returns +−1 if an error was encountered.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFReadEncodedStrip(3TIFF), +TIFFReadScanline(3TIFF), TIFFStripSize(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadRawTile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadRawTile.3tiff.html new file mode 100644 index 0000000..bae2b46 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadRawTile.3tiff.html @@ -0,0 +1,111 @@ + + + + + + +TIFFReadRawTile + + + +

TIFFReadRawTile

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadRawTile − return an undecoded tile of data +from an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFReadRawTile(TIFF *tif, +ttile_t tile, tdata_t buf, +tsize_t size)

+
+ +

DESCRIPTION

+ + + + + +
+

Read the contents of the specified tile into the (user +supplied) data buffer. Note that the value of tile is +a ‘‘raw tile number.’’ That is, the +caller must take into account whether or not the data is +organized in separate planes (PlanarConfiguration=2). +TIFFComputeTile automatically does this when +converting an (x,y,z,sample) coordinate quadruple to a tile +number. To read a full tile of data the data buffer should +typically be at least as large as the value returned by +TIFFTileSize.

+
+ +

RETURN VALUES

+ + + + + +
+

The actual number of bytes of data that were placed in +buf is returned; TIFFReadEncodedTile returns +−1 if an error was encountered.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFReadEncodedTile(3TIFF), +TIFFReadTile(3TIFF), TIFFTileSize(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadScanline.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadScanline.3tiff.html new file mode 100644 index 0000000..423645c --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadScanline.3tiff.html @@ -0,0 +1,157 @@ + + + + + + +TIFFReadScanline + + + +

TIFFReadScanline

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadScanline − read and decode a scanline of +data from an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFReadScanline(TIFF *tif, +tdata_t buf, uint32 row, +tsample_t sample)

+
+ +

DESCRIPTION

+ + + + + +
+

Read the data for the specified row into the (user +supplied) data buffer buf. The data are returned +decompressed and, in the native byte- and bit-ordering, but +are otherwise packed (see further below). The buffer must be +large enough to hold an entire scanline of data. +Applications should call the routine TIFFScanlineSize +to find out the size (in bytes) of a scanline buffer. The +row parameter is always used by +TIFFReadScanline; the sample parameter is used +only if data are organized in separate planes +(PlanarConfiguration=2).

+
+ +

NOTES

+ + + + + +
+

The library attempts to hide bit- and byte-ordering +differences between the image and the native machine by +converting data to the native machine order. Bit reversal is +done if the FillOrder tag is opposite to the native +machine bit order. 16- and 32-bit samples are automatically +byte-swapped if the file was written with a byte order +opposite to the native machine byte order,

+ +

In C++ the sample parameter defaults to 0.

+
+ +

RETURN VALUES

+ + + + + +
+

TIFFReadScanline returns −1 if it detects an +error; otherwise 1 is returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

Compression algorithm does not support random +access. Data was requested in a non-sequential order +from a file that uses a compression algorithm and that has +RowsPerStrip greater than one. That is, data in the +image is stored in a compressed form, and with multiple rows +packed into a strip. In this case, the library does not +support random access to the data. The data should either be +accessed sequentially, or the file should be converted so +that each strip is made up of one row of data.

+
+ +

BUGS

+ + + + + +
+

Reading subsampled YCbCR data does not work correctly +because, for PlanarConfiguration=2 the size of a +scanline is not calculated on a per-sample basis, and for +PlanarConfiguration=1 the library does not unpack the +block-interleaved samples; use the strip- and tile-based +interfaces to read these formats.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFReadEncodedStrip(3TIFF), +TIFFReadRawStrip(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFReadTile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFReadTile.3tiff.html new file mode 100644 index 0000000..ff726b4 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFReadTile.3tiff.html @@ -0,0 +1,133 @@ + + + + + + +TIFFReadTile + + + +

TIFFReadTile

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadTile − read and decode a tile of data from +an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFReadTile(TIFF *tif, +tdata_t buf, uint32 x, +uint32 y, uint32 z, +tsample_t sample)

+
+ +

DESCRIPTION

+ + + + + +
+

Return the data for the tile containing the +specified coordinates. The data placed in buf are +returned decompressed and, typically, in the native byte- +and bit-ordering, but are otherwise packed (see further +below). The buffer must be large enough to hold an entire +tile of data. Applications should call the routine +TIFFTileSize to find out the size (in bytes) of a +tile buffer. The x and y parameters are always +used by TIFFReadTile. The z parameter is used +if the image is deeper than 1 slice +(ImageDepth>1). The sample parameter is +used only if data are organized in separate planes +(PlanarConfiguration=2).

+
+ +

NOTES

+ + + + + +
+

The library attempts to hide bit- and byte-ordering +differences between the image and the native machine by +converting data to the native machine order. Bit reversal is +done if the FillOrder tag is opposite to the native +machine bit order. 16- and 32-bit samples are automatically +byte-swapped if the file was written with a byte order +opposite to the native machine byte order,

+
+ +

RETURN VALUES

+ + + + + +
+

TIFFReadTile returns −1 if it detects an +error; otherwise the number of bytes in the decoded tile is +returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFCheckTile(3TIFF), +TIFFComputeTile(3TIFF), TIFFOpen(3TIFF), +TIFFReadEncodedTile(3TIFF), +TIFFReadRawTile(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFSetDirectory.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFSetDirectory.3tiff.html new file mode 100644 index 0000000..a0e5cfc --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFSetDirectory.3tiff.html @@ -0,0 +1,122 @@ + + + + + + +TIFFSetDirectory + + + +

TIFFSetDirectory

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFSetDirectory, TIFFSetSubDirectory − set the +current directory for an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFSetDirectory(TIFF *tif, +tdir_t dirnum)
+int TIFFSetSubDirectory(TIFF *
tif, uint32 +diroff)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFSetDirectory changes the current directory and +reads its contents with TIFFReadDirectory. The +parameter dirnum specifies the subfile/directory as +an integer number, with the first directory numbered +zero.

+ +

TIFFSetSubDirectory acts like +TIFFSetDirectory, except the directory is specified +as a file offset instead of an index; this is required for +accessing subdirectories linked through a SubIFD +tag.

+
+ +

RETURN VALUES

+ + + + + +
+

On successful return 1 is returned. Otherwise, 0 is +returned if dirnum or diroff specifies a +non-existent directory, or if an error was encountered while +reading the directory’s contents.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

%s: Error fetching directory count. An error was +encountered while reading the ‘‘directory +count’’ field.

+ +

%s: Error fetching directory link. An error was +encountered while reading the ‘‘link +value’’ that points to the next directory in a +file.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFCurrentDirectory(3TIFF), +TIFFOpen(3TIFF), TIFFReadDirectory(3TIFF), +TIFFWriteDirectory(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFSetField.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFSetField.3tiff.html new file mode 100644 index 0000000..2e70225 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFSetField.3tiff.html @@ -0,0 +1,1362 @@ + + + + + + +TIFFSetField + + + +

TIFFSetField

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFSetField, TIFFVSetField − set the value(s) of a +tag in a TIFF file open for writing

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFSetField(TIFF *tif, ttag_t +tag, ...)

+ +

#include <stdarg.h>

+ +

int TIFFVSetField(TIFF *tif, ttag_t +tag, va_list ap)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFSetField sets the value of a field or +pseudo-tag in the current directory associated with the open +TIFF file tif. (A pseudo-tag is +a parameter that is used to control the operation of the +TIFF library but whose value is not read or +written to the underlying file.) To set the value of a field +the file must have been previously opened for writing with +TIFFOpen(3TIFF); pseudo-tags can be set whether the +file was opened for reading or writing. The field is +identified by tag, one of the values defined in the +include file tiff.h (see also the table below). The +actual value is specified using a variable argument list, as +prescribed by the stdarg(3) interface (or, on some +machines, the varargs(3) interface.)

+ +

TIFFVSetField is functionally equivalent to +TIFFSetField except that it takes a pointer to a +variable argument list. TIFFVSetField is useful for +writing routines that are layered on top of the +functionality provided by TIFFSetField.

+ +

The tags understood by libtiff, the number of +parameter values, and the expected types for the parameter +values are shown below. The data types are: char* is +null-terminated string and corresponds to the +ASCII data type; uint16 is an unsigned +16-bit value; uint32 is an unsigned 32-bit value; +uint16* is an array of unsigned 16-bit values. +void* is an array of data values of unspecified +type.

+ +

Consult the TIFF specification for +information on the meaning of each tag.

+ + +

Tag Name Count Types Notes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

TIFFTAG_ARTIST

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_BADFAXLINES

+
+ +

1

+
+ +

uint32

+
+
+ +

TIFFTAG_BITSPERSAMPLE

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_CLEANFAXDATA

+
+ +

1

+
+ +

uint16

+
+
+ +

TIFFTAG_COLORMAP

+
+ +

3

+
+ +

uint16*

+
+ +

1<<BitsPerSample arrays

+
+ +

TIFFTAG_COMPRESSION

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_CONSECUTIVEBADFAXLINES

+
+ +

1

+
+ +

uint32

+
+
+ +

TIFFTAG_COPYRIGHT

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_DATETIME

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_DOCUMENTNAME

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_DOTRANGE

+
+ +

2

+
+ +

uint16

+
+
+ +

TIFFTAG_EXTRASAMPLES

+
+ +

2

+
+ +

uint16,uint16*

+
+ +

† count & types array

+
+ +

TIFFTAG_FAXFILLFUNC

+
+ +

1

+
+ +

TIFFFaxFillFunc

+
+ +

G3/G4 compression pseudo-tag

+
+ +

TIFFTAG_FAXMODE

+
+ +

1

+
+ +

int

+
+ +

† G3/G4 compression pseudo-tag

+
+ +

TIFFTAG_FILLORDER

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_GROUP3OPTIONS

+
+ +

1

+
+ +

uint32

+
+ +

+
+ +

TIFFTAG_GROUP4OPTIONS

+
+ +

1

+
+ +

uint32

+
+ +

+
+ +

TIFFTAG_HALFTONEHINTS

+
+ +

2

+
+ +

uint16

+
+
+ +

TIFFTAG_HOSTCOMPUTER

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_ICCPROFILE

+
+ +

2

+
+ +

uint32,void*

+
+ +

count, profile data

+
+ +

TIFFTAG_IMAGEDEPTH

+
+ +

1

+
+ +

uint32

+
+ +

+
+ +

TIFFTAG_IMAGEDESCRIPTION

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_IMAGELENGTH

+
+ +

1

+
+ +

uint32

+
+
+ +

TIFFTAG_IMAGEWIDTH

+
+ +

1

+
+ +

uint32

+
+ +

+
+ +

TIFFTAG_INKNAMES

+
+ +

2

+
+ +

uint16, char*

+
+
+ +

TIFFTAG_INKSET

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_JPEGCOLORMODE

+
+ +

1

+
+ +

int

+
+ +

† JPEG pseudo-tag

+
+ +

TIFFTAG_JPEGQUALITY

+
+ +

1

+
+ +

int

+
+ +

JPEG pseudo-tag

+
+ +

TIFFTAG_JPEGTABLES

+
+ +

2

+
+ +

uint32*,void*

+
+ +

† count & tables

+
+ +

TIFFTAG_JPEGTABLESMODE

+
+ +

1

+
+ +

int

+
+ +

† JPEG pseudo-tag

+
+ +

TIFFTAG_MAKE

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_MATTEING

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_MAXSAMPLEVALUE

+
+ +

1

+
+ +

uint16

+
+
+ +

TIFFTAG_MINSAMPLEVALUE

+
+ +

1

+
+ +

uint16

+
+
+ +

TIFFTAG_MODEL

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_ORIENTATION

+
+ +

1

+
+ +

uint16

+
+
+ +

TIFFTAG_PAGENAME

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_PAGENUMBER

+
+ +

2

+
+ +

uint16

+
+
+ +

TIFFTAG_PHOTOMETRIC

+
+ +

1

+
+ +

uint16

+
+
+ +

TIFFTAG_PHOTOSHOP

+
+ +

?

+
+ +

uint32,void*

+
+ +

count, data

+
+ +

TIFFTAG_PLANARCONFIG

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_PREDICTOR

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_PRIMARYCHROMATICITIES

+
+ +

1

+
+ +

float*

+
+ +

6-entry array

+
+ +

TIFFTAG_REFERENCEBLACKWHITE

+
+ +

1

+
+ +

float*

+
+ +

† 2*SamplesPerPixel array

+
+ +

TIFFTAG_RESOLUTIONUNIT

+
+ +

1

+
+ +

uint16

+
+
+ +

TIFFTAG_RICHTIFFIPTC

+
+ +

2

+
+ +

uint32,void*

+
+ +

count, data

+
+ +

TIFFTAG_ROWSPERSTRIP

+
+ +

1

+
+ +

uint32

+
+ +

† must be > 0

+
+ +

TIFFTAG_SAMPLEFORMAT

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_SAMPLESPERPIXEL

+
+ +

1

+
+ +

uint16

+
+ +

† value must be <= 4

+
+ +

TIFFTAG_SMAXSAMPLEVALUE

+
+ +

1

+
+ +

double

+
+
+ +

TIFFTAG_SMINSAMPLEVALUE

+
+ +

1

+
+ +

double

+
+
+ +

TIFFTAG_SOFTWARE

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_STONITS

+
+ +

1

+
+ +

double

+
+ +

+
+ +

TIFFTAG_SUBFILETYPE

+
+ +

1

+
+ +

uint32

+
+
+ +

TIFFTAG_SUBIFD

+
+ +

2

+
+ +

uint16,uint32*

+
+ +

count & offsets array

+
+ +

TIFFTAG_TARGETPRINTER

+
+ +

1

+
+ +

char*

+
+
+ +

TIFFTAG_THRESHHOLDING

+
+ +

1

+
+ +

uint16

+
+
+ +

TIFFTAG_TILEDEPTH

+
+ +

1

+
+ +

uint32

+
+ +

+
+ +

TIFFTAG_TILELENGTH

+
+ +

1

+
+ +

uint32

+
+ +

† must be a multiple of 8

+
+ +

TIFFTAG_TILEWIDTH

+
+ +

1

+
+ +

uint32

+
+ +

† must be a multiple of 8

+
+ +

TIFFTAG_TRANSFERFUNCTION

+
+ +

1 or 3‡ uint16*

+
+ +

1<<BitsPerSample entry arrays

+
+ +

TIFFTAG_WHITEPOINT

+
+ +

1

+
+ +

float*

+
+ +

2-entry array

+
+ +

TIFFTAG_XMLPACKET

+
+ +

2

+
+ +

uint32,void*

+
+ +

count, data

+
+ +

TIFFTAG_XPOSITION

+
+ +

1

+
+ +

float

+
+
+ +

TIFFTAG_XRESOLUTION

+
+ +

1

+
+ +

float

+
+
+ +

TIFFTAG_YCBCRCOEFFICIENTS

+
+ +

1

+
+ +

float*

+
+ +

† 3-entry array

+
+ +

TIFFTAG_YCBCRPOSITIONING

+
+ +

1

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_YCBCRSAMPLING

+
+ +

2

+
+ +

uint16

+
+ +

+
+ +

TIFFTAG_YPOSITION

+
+ +

1

+
+ +

float

+
+
+ +

TIFFTAG_YRESOLUTION

+
+ +

1

+
+ +

float

+
+
+ + + + + +
+

† Tag may not have its values changed once data is +written.
+‡ If SamplesPerPixel is one, then a single +array is passed; otherwise three arrays should be +passed.
+* The contents of this field are quite complex. See The +ICC Profile Format Specification, Annex B.3 +"Embedding ICC Profiles in TIFF Files" (available +at http://www.color.org) for an explanation.

+
+ +

RETURN VALUES

+ + + + + +
+

1 is returned if the operation was successful. Otherwise, +0 is returned if an error was detected.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

%s: Cannot modify tag "%s" while +writing. Data has already been written to the file, so +the specified tag’s value can not be changed. This +restriction is applied to all tags that affect the format of +written data.

+ +

%d: Bad value for "%s". An invalid value +was supplied for the named tag.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFGetField(3TIFF), +TIFFSetDirectory(3TIFF), +TIFFWriteDirectory(3TIFF), +TIFFReadDirectory(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWarning.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWarning.3tiff.html new file mode 100644 index 0000000..df17073 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWarning.3tiff.html @@ -0,0 +1,108 @@ + + + + + + +TIFFWarning + + + +

TIFFWarning

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWarning, TIFFSetWarningHandler − library +warning interface

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

void TIFFWarning(const char *module, +const char *fmt, ...)

+ +

#include <stdargh.h>

+ +

typedef void (*TIFFWarningHandler)(const char +*module, const char *fmt, +va_list ap);

+ +

TIFFWarningHandler +TIFFSetWarningHandler(TIFFWarningHandler +handler);

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFWarning invokes the library-wide warning +handler function to (normally) write a warning message to +the stderr. The fmt parameter is a +printf(3S) format string, and any number arguments +can be supplied. The module parameter is interpreted +as a string that, if non-zero, should be printed before the +message; it typically is used to identify the software +module in which a warning is detected.

+ +

Applications that desire to capture control in the event +of a warning should use TIFFSetWarningHandler to +override the default warning handler. A NULL +(0) warning handler function may be installed to suppress +error messages.

+
+ +

RETURN VALUES

+ + + + + +
+

TIFFSetWarningHandler returns a reference to the +previous error handling function.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFError(3TIFF), libtiff(3TIFF), +printf(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWriteDirectory.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWriteDirectory.3tiff.html new file mode 100644 index 0000000..07a443e --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWriteDirectory.3tiff.html @@ -0,0 +1,176 @@ + + + + + + +TIFFWriteDirectory + + + +

TIFFWriteDirectory

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWriteDirectory, TIFFRewriteDirectory, +TIFFCheckpointDirectory − write the current directory +in an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFWriteDirectory(TIFF *tif)
+int TIFFRewriteDirectory(TIFF *
tif)
+int TIFFCheckpointDirectory(TIFF *
tif)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFWriteDirectory will write the contents of the +current directory to the file and setup to create a new +subfile in the same file. Applications only need to call +TIFFWriteDirectory when writing multiple subfiles to +a single TIFF file. TIFFWriteDirectory +is automatically called by TIFFClose and +TIFFFlush to write a modified directory if the file +is open for writing.

+ +

The TIFFRewriteDirectory function operates +similarly to TIFFWriteDirectory, but can be called +with directories previously read or written that already +have an established location in the file. It will rewrite +the directory, but instead of place it at it’s old +location (as TIFFWriteDirectory would) it will place +them at the end of the file, correcting the pointer from the +preceeding directory or file header to point to it’s +new location. This is particularly important in cases where +the size of the directory and pointed to data has grown, so +it won’t fit in the space available at the old +location.

+ +

The TIFFCheckpointDirectory writes the current +state of the tiff directory into the file to make what is +currently in the file readable. Unlike +TIFFWriteDirectory, TIFFCheckpointDirectory does not +free up the directory data structures in memory, so they can +be updated (as strips/tiles are written) and written again. +Reading such a partial file you will at worst get a tiff +read error for the first strip/tile encountered that is +incomplete, but you will at least get all the valid data in +the file before that. When the file is complete, just use +TIFFWriteDirectory as usual to finish it off +cleanly.

+
+ +

RETURN VALUES

+ + + + + +
+

1 is returned when the contents are successfully written +to the file. Otherwise, 0 is returned if an error was +encountered when writing the directory contents.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

Error post-encoding before directory write. Before +writing the contents of the current directory, any pending +data are flushed. This message indicates that an error +occurred while doing this.

+ +

Error flushing data before directory write. Before +writing the contents of the current directory, any pending +data are flushed. This message indicates that an error +occurred while doing this.

+ +

Cannot write directory, out of space. There was +not enough space to allocate a temporary area for the +directory that was to be written.

+ +

Error writing directory count. A write error +occurred when writing the count of fields in the +directory.

+ +

Error writing directory contents. A write error +occurred when writing the directory fields.

+ +

Error writing directory link. A write error +occurred when writing the link to the next directory.

+ +

Error writing data for field "%s". A +write error occurred when writing indirect data for the +specified field.

+ +

Error writing TIFF header. A write error occurred +when re-writing header at the front of the file.

+ +

Error fetching directory count. A read error +occurred when fetching the directory count field for a +previous directory. This can occur when setting up a link to +the directory that is being written.

+ +

Error fetching directory link. A read error +occurred when fetching the directory link field for a +previous directory. This can occur when setting up a link to +the directory that is being written.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFError(3TIFF), +TIFFReadDirectory(3TIFF), +TIFFSetDirectory(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWriteEncodedStrip.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWriteEncodedStrip.3tiff.html new file mode 100644 index 0000000..5a45f59 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWriteEncodedStrip.3tiff.html @@ -0,0 +1,153 @@ + + + + + + +TIFFWriteEncodedStrip + + + +

TIFFWriteEncodedStrip

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWritedEncodedStrip − compress and write a +strip of data to an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFWriteEncodedStrip(TIFF +*tif, tstrip_t strip, +tdata_t buf, tsize_t +size)

+
+ +

DESCRIPTION

+ + + + + +
+

Compress size bytes of raw data from +buf and write the result to the specified strip; +replacing any previously written data. Note that the value +of strip is a ‘‘raw strip +number.’’ That is, the caller must take into +account whether or not the data are organized in separate +planes (PlanarConfiguration=2).

+
+ +

NOTES

+ + + + + +
+

The library writes encoded data using the native +machine byte order. Correctly implemented TIFF +readers are expected to do any necessary byte-swapping +to correctly process image data with BitsPerSample greater +than 8.

+ +

The strip number must be valid according to the +current settings of the ImageLength and +RowsPerStrip tags. An image may be dynamically grown +by increasing the value of ImageLength prior to each +call to TIFFWriteEncodedStrip.

+
+ +

RETURN VALUES

+ + + + + +
+

−1 is returned if an error was encountered. +Otherwise, the value of size is returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

%s: File not open for writing. The file was +opened for reading, not writing.

+ +

Can not write scanlines to a tiled image. The +image is assumed to be organized in tiles because the +TileWidth and TileLength tags have been set +with TIFFSetField(3TIFF).

+ +

%s: Must set "ImageWidth" before +writing data. The image’s width has not be set +before the first write. See TIFFSetField(3TIFF) for +information on how to do this.

+ +

%s: Must set "PlanarConfiguration" +before writing data. The organization of data has not be +defined before the first write. See +TIFFSetField(3TIFF) for information on how to do +this.

+ +

%s: No space for strip arrays". There +was not enough space for the arrays that hold strip offsets +and byte counts.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFWriteScanline(3TIFF), +TIFFWriteRawStrip(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWriteEncodedTile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWriteEncodedTile.3tiff.html new file mode 100644 index 0000000..0e6e1ba --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWriteEncodedTile.3tiff.html @@ -0,0 +1,147 @@ + + + + + + +TIFFWriteEncodedTile + + + +

TIFFWriteEncodedTile

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWritedEncodedTile − compress and write a +tile of data to an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFWriteEncodedTile(TIFF +*tif, ttile_t tile, tdata_t +buf, tsize_t size)

+
+ +

DESCRIPTION

+ + + + + +
+

Compress size bytes of raw data from +buf and append the result to the end of the +specified tile. Note that the value of tile is a +‘‘raw tile number.’’ That is, the +caller must take into account whether or not the data are +organized in separate places (PlanarConfiguration=2). +TIFFComputeTile automatically does this when +converting an (x,y,z,sample) coordinate quadruple to a tile +number.

+
+ +

NOTES

+ + + + + +
+

The library writes encoded data using the native +machine byte order. Correctly implemented TIFF +readers are expected to do any necessary byte-swapping +to correctly process image data with BitsPerSample greater +than 8.

+
+ +

RETURN VALUES

+ + + + + +
+

−1 is returned if an error was encountered. +Otherwise, the value of size is returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

%s: File not open for writing. The file was +opened for reading, not writing.

+ +

Can not write tiles to a stripped image. The +image is assumed to be organized in strips because neither +of the TileWidth or TileLength tags have been +set with TIFFSetField(3TIFF).

+ +

%s: Must set "ImageWidth" before +writing data. The image’s width has not be set +before the first write. See TIFFSetField(3TIFF) for +information on how to do this.

+ +

%s: Must set "PlanarConfiguration" +before writing data. The organization of data has not be +defined before the first write. See +TIFFSetField(3TIFF) for information on how to do +this.

+ +

%s: No space for tile arrays". There was +not enough space for the arrays that hold tile offsets and +byte counts.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFWriteTile(3TIFF), +TIFFWriteRawTile(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWriteRawStrip.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWriteRawStrip.3tiff.html new file mode 100644 index 0000000..95b4857 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWriteRawStrip.3tiff.html @@ -0,0 +1,144 @@ + + + + + + +TIFFWriteRawstrip + + + +

TIFFWriteRawstrip

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWriteRawStrip − write a strip of raw data to an +open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFWriteRawStrip(TIFF *tif, +tstrip_t strip, tdata_t buf, +tsize_t size)

+
+ +

DESCRIPTION

+ + + + + +
+

Append size bytes of raw data to the specified +strip.

+
+ +

NOTES

+ + + + + +
+

The strip number must be valid according to the current +settings of the ImageLength and RowsPerStrip +tags. An image may be dynamically grown by increasing the +value of ImageLength prior to each call to +TIFFWriteRawStrip.

+
+ +

RETURN VALUES

+ + + + + +
+

−1 is returned if an error occurred. Otherwise, the +value of size is returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

%s: File not open for writing. The file was opened +for reading, not writing.

+ +

Can not write scanlines to a tiled image. The +image is assumed to be organized in tiles because the +TileWidth and TileLength tags have been set +with TIFFSetField(3TIFF).

+ +

%s: Must set "ImageWidth" before writing +data. The image’s width has not be set before the +first write. See TIFFSetField(3TIFF) for information +on how to do this.

+ +

%s: Must set "PlanarConfiguration" before +writing data. The organization of data has not be +defined before the first write. See +TIFFSetField(3TIFF) for information on how to do +this.

+ +

%s: No space for strip arrays". There was not +enough space for the arrays that hold strip offsets and byte +counts.

+ +

%s: Strip %d out of range, max %d. The specified +strip is not a valid strip according to the currently +specified image dimensions.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFWriteEncodedStrip(3TIFF), +TIFFWriteScanline(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWriteRawTile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWriteRawTile.3tiff.html new file mode 100644 index 0000000..3d18ed1 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWriteRawTile.3tiff.html @@ -0,0 +1,128 @@ + + + + + + +TIFFWriteRawtile + + + +

TIFFWriteRawtile

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWriteRawTile − write a tile of raw data to an +open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFWriteRawTile(TIFF *tif, +ttile_t tile, tdata_t buf, +tsize_t size)

+
+ +

DESCRIPTION

+ + + + + +
+

Append size bytes of raw data to the specified +tile.

+
+ +

RETURN VALUES

+ + + + + +
+

−1 is returned if an error occurred. Otherwise, the +value of size is returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

%s: File not open for writing. The file was opened +for reading, not writing.

+ +

Can not write tiles to a stripped image. The image +is assumed to be organized in strips because neither of the +TileWidth or TileLength tags have been set +with TIFFSetField(3TIFF).

+ +

%s: Must set "ImageWidth" before writing +data. The image’s width has not be set before the +first write. See TIFFSetField(3TIFF) for information +on how to do this.

+ +

%s: Must set "PlanarConfiguration" before +writing data. The organization of data has not be +defined before the first write. See +TIFFSetField(3TIFF) for information on how to do +this.

+ +

%s: No space for tile arrays". There was not +enough space for the arrays that hold tile offsets and byte +counts.

+ +

%s: Specified tile %d out of range, max %d. The +specified tile is not valid according to the currently +specified image dimensions.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFWriteEncodedTile(3TIFF), +TIFFWriteScanline(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWriteScanline.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWriteScanline.3tiff.html new file mode 100644 index 0000000..bb9323d --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWriteScanline.3tiff.html @@ -0,0 +1,206 @@ + + + + + + +TIFFWriteScanline + + + +

TIFFWriteScanline

+NAME
+SYNOPSIS
+DESCRIPTION
+NOTES
+RETURN VALUES
+DIAGNOSTICS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWriteScanline − write a scanline to an open +TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFWriteScanline(TIFF *tif, +tdata_t buf, uint32 row, +tsample_t sample)

+
+ +

DESCRIPTION

+ + + + + +
+

Write data to a file at the specified row. The +sample parameter is used only if data are organized +in separate planes (PlanarConfiguration=2). The data +are assumed to be uncompressed and in the native bit- and +byte-order of the host machine. The data written to the file +is compressed according to the compression scheme of the +current TIFF directory (see further below). +If the current scanline is past the end of the current +subfile, the ImageLength field is automatically +increased to include the scanline (except for +PlanarConfiguration=2, where the ImageLength +cannot be changed once the first data are written). If the +ImageLength is increased, the StripOffsets and +StripByteCounts fields are similarly enlarged to +reflect data written past the previous end of image.

+
+ +

NOTES

+ + + + + +
+

The library writes encoded data using the native machine +byte order. Correctly implemented TIFF +readers are expected to do any necessary byte-swapping to +correctly process image data with BitsPerSample greater than +8. The library attempts to hide bit-ordering differences +between the image and the native machine by converting data +from the native machine order.

+ +

In C++ the sample parameter defaults to 0.

+ +

Once data are written to a file for the current +directory, the values of certain tags may not be altered; +see TIFFSetField(3TIFF) for more information.

+ +

It is not possible to write scanlines to a file that uses +a tiled organization. The routine TIFFIsTiled can be +used to determine if the file is organized as tiles or +strips.

+
+ +

RETURN VALUES

+ + + + + +
+

TIFFWriteScanline returns −1 if it +immediately detects an error and 1 for a successful +write.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+ +

%s: File not open for writing . The file was +opened for reading, not writing.

+ +

Can not write scanlines to a tiled image. An +attempt was made to write a scanline to a tiled image. The +image is assumed to be organized in tiles because the +TileWidth and TileLength tags have been set +with TIFFSetField(3TIFF).

+ +

Compression algorithm does not support random +access. Data was written in a non-sequential order to a +file that uses a compression algorithm and that has +RowsPerStrip greater than one. That is, data in the +image is to be stored in a compressed form, and with +multiple rows packed into a strip. In this case, the library +does not support random access to the data. The data should +either be written as entire strips, sequentially by rows, or +the value of RowsPerStrip should be set to one.

+ +

%s: Must set "ImageWidth" before writing +data. The image’s width has not be set before the +first write. See TIFFSetField(3TIFF) for information +on how to do this.

+ +

%s: Must set "PlanarConfiguration" before +writing data. The organization of data has not be +defined before the first write. See +TIFFSetField(3TIFF) for information on how to do +this.

+ +

Can not change "ImageLength" when using +separate planes. Separate image planes are being used +(PlanarConfiguration=2), but the number of rows has +not been specified before the first write. The library +supports the dynamic growth of an image only when data are +organized in a contiguous manner +(PlanarConfiguration=1).

+ +

%d: Sample out of range, max %d. The sample +parameter was greater than the value of the SamplesPerPixel +tag.

+ +

%s: No space for strip arrays . There was not +enough space for the arrays that hold strip offsets and byte +counts.

+
+ +

BUGS

+ + + + + +
+

Writing subsampled YCbCR data does not work correctly +because, for PlanarConfiguration=2 the size of a +scanline is not calculated on a per-sample basis, and for +PlanarConfiguration=1 the library does not pack the +block-interleaved samples.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), +TIFFWriteEncodedStrip(3TIFF), +TIFFWriteRawStrip(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFWriteTile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFWriteTile.3tiff.html new file mode 100644 index 0000000..d6bc5d8 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFWriteTile.3tiff.html @@ -0,0 +1,115 @@ + + + + + + +TIFFWriteTile + + + +

TIFFWriteTile

+NAME
+SYNOPSIS
+DESCRIPTION
+RETURN VALUES
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFWriteTile − encode and write a tile of data to +an open TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFWriteTile(TIFF *tif, +tdata_t buf, uint32 x, +uint32 y, uint32 z, +tsample_t sample)

+
+ +

DESCRIPTION

+ + + + + +
+

Write the data for the tile containing the +specified coordinates. The data in buf are is +(potentially) compressed, and written to the indicated file, +normally being appended to the end of the file. The buffer +must be contain an entire tile of data. Applications should +call the routine TIFFTileSize to find out the size +(in bytes) of a tile buffer. The x and y +parameters are always used by TIFFWriteTile. The +z parameter is used if the image is deeper than 1 +slice (ImageDepth>1). The sample parameter +is used only if data are organized in separate planes +(PlanarConfiguration=2).

+
+ +

RETURN VALUES

+ + + + + +
+

TIFFWriteTile returns −1 if it detects an +error; otherwise the number of bytes in the tile is +returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed to the +TIFFError(3TIFF) routine.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFCheckTile(3TIFF), +TIFFComputeTile(3TIFF), TIFFOpen(3TIFF), +TIFFReadTile(3TIFF), TIFFWriteScanline(3TIFF), +TIFFWriteEncodedTile(3TIFF), +TIFFWriteRawTile(3TIFF), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFbuffer.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFbuffer.3tiff.html new file mode 100644 index 0000000..3d610ca --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFbuffer.3tiff.html @@ -0,0 +1,116 @@ + + + + + + +TIFFBUFFER + + + +

TIFFBUFFER

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFReadBufferSetup, TIFFWriteBufferSetup − I/O +buffering control routines

+
+ +

SYNOPSIS

+ + + + + +
+
#include <tiffio.h>
+
+int TIFFReadBufferSetup(TIFF *tif, tdata_t buffer, tsize_t size);
+int TIFFWriteBufferSetup(TIFF *tif, tdata_t buffer, tsize_t size);
+
+
+ +

DESCRIPTION

+ + + + + + +
+

The following routines are provided for client-control of +the I/O buffers used by the library. Applications need never +use these routines; they are provided only for +‘‘intelligent clients’’ that wish to +optimize memory usage and/or eliminate potential copy +operations that can occur when working with images that have +data stored without compression.

+ +

TIFFReadBufferSetup sets up the data buffer used +to read raw (encoded) data from a file. If the specified +pointer is NULL (zero), then a buffer of the +appropriate size is allocated. Otherwise the caller must +guarantee that the buffer is large enough to hold any +individual strip of raw data. TIFFReadBufferSetup +returns a non-zero value if the setup was successful and +zero otherwise.

+ +

TIFFWriteBufferSetup sets up the data buffer used +to write raw (encoded) data to a file. If the specified +size is −1 then the buffer size is selected to +hold a complete tile or strip, or at least 8 kilobytes, +whichever is greater. If the specified buffer is +NULL (zero), then a buffer of the appropriate +size is dynamically allocated. TIFFWriteBufferSetup +returns a non-zero value if the setup was successful and +zero otherwise.

+
+ +

DIAGNOSTICS

+ + + + + +
+

%s: No space for data buffer at scanline %ld. +TIFFReadBufferSetup was unable to dynamically +allocate space for a data buffer.

+ +

%s: No space for output buffer. +TIFFWriteBufferSetup was unable to dynamically +allocate space for a data buffer.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFcodec.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFcodec.3tiff.html new file mode 100644 index 0000000..8567b30 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFcodec.3tiff.html @@ -0,0 +1,116 @@ + + + + + + +CODEC + + + +

CODEC

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFFindCODEC, TIFFRegisterCODEC, TIFFUnRegisterCODEC, +TIFFIsCODECConfigured − codec-related utility +routines

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

const TIFFCodec* TIFFFindCODEC(uint16 +scheme);
+TIFFCodec* TIFFRegisterCODEC(uint16
scheme, +const char *method, TIFFInitMethod +init);
+void TIFFUnRegisterCODEC(TIFFCodec +*
codec);
+int TIFFIsCODECConfigured(uint16
+scheme);

+
+ +

DESCRIPTION

+ + + + + +
+

libtiff supports a variety of compression schemes +implemented by software codecs. Each codec adheres to +a modular interface that provides for the decoding and +encoding of image data; as well as some other methods for +initialization, setup, cleanup, and the control of default +strip and tile sizes. Codecs are identified by the +associated value of the TIFF +Compression tag; e.g. 5 for LZW +compression.

+ +

The TIFFRegisterCODEC routine can be used to +augment or override the set of codecs available to an +application. If the specified scheme already has a +registered codec then it is overridden and any images +with data encoded with this compression scheme will be +decoded using the supplied coded.

+ +

TIFFIsCODECConfigured returns 1 if the codec is +configured and working. Otherwise 0 will be returned.

+
+ +

DIAGNOSTICS

+ + + + + +
+

No space to register compression scheme %s. +TIFFRegisterCODEC was unable to allocate memory for +the data structures needed to register a codec.

+ +

Cannot remove compression scheme %s; not +registered. TIFFUnRegisterCODEC did not locate +the specified codec in the table of registered compression +schemes.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFcolor.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFcolor.3tiff.html new file mode 100644 index 0000000..7e4eea5 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFcolor.3tiff.html @@ -0,0 +1,975 @@ + + + + + + +COLOR + + + +

COLOR

+NAME
+SYNOPSIS
+DESCRIPTION
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFYCbCrToRGBInit, TIFFYCbCrtoRGB, TIFFCIELabToRGBInit, +TIFFCIELabToXYZ, TIFFXYZToRGB − color conversion +routines.

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB +*ycbcr, float *luma, float +*refBlackWhite");"
+void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *
ycbcr, +uint32 Y, int32 Cb, int32 +Cr, uint32 *R, uint32 +*G, uint32 *B );

+ +

int TIFFCIELabToRGBInit(TIFFCIELabToRGB +*cielab, TIFFDisplay *display, +float *refWhite);
+void TIFFCIELabToXYZ(TIFFCIELabToRGB *
cielab, +uint32 L, int32 a, int32 +b, float *X, float *Y, +float *Z);
+void TIFFXYZToRGB(TIFFCIELabToRGB *
cielab, +float X, float Y, float +Z",uint32*"R, +uint32 *G, uint32 *B);

+
+ +

DESCRIPTION

+ + + + + +
+

TIFF supports several color spaces for images stored in +that format. There is usually a problem of application to +handle the data properly and convert between different +colorspaces for displaying and printing purposes. To +simplify this task libtiff implements several color +conversion routines itself. In particular, these routines +used in TIFFRGBAImage(3TIFF) interface.

+ +

TIFFYCbCrToRGBInit() used to initialize +YCbCr to RGB conversion state. Allocating and +freeing of the ycbcr structure belongs to programmer. +TIFFYCbCrToRGB defined in tiffio.h as

+
+ + + + + +
+
typedef struct {                /* YCbCr->RGB support */
+        TIFFRGBValue* clamptab; /* range clamping table */
+
+
+ + + + + +

int*

+ + + + + + + + + + + + + + + + + + + + + + + +
+ +

Cr_r_tab;
+int*

+
+
+ +

Cb_b_tab;
+int32*

+
+
+ +

Cr_g_tab;
+int32*

+
+
+ +

Cb_g_tab;

+
+
+ + + + + +
+

int32* Y_tab;
+} TIFFYCbCrToRGB;

+ + + + + +
+

luma is a float array of three values representing +proportions of the red, green and blue in luminance, Y (see +section 21 of the TIFF 6.0 specification, where the YCbCr +images discussed). TIFFTAG_YCBCRCOEFFICIENTS holds +that values in TIFF file. refBlackWhite is a float +array of 6 values which specifies a pair of headroom and +footroom image data values (codes) for each image component +(see section 20 of the TIFF 6.0 specification where the +colorinmetry fields discussed). +TIFFTAG_REFERENCEBLACKWHITE is responsible for +storing these values in TIFF file. Following code snippet +should helps to understand the the technique:

+
+ + + + + +
+
float *luma, *refBlackWhite;
+uint16 hs, vs;
+
+/* Initialize structures */
+ycbcr = (TIFFYCbCrToRGB*)
+
+
+ + + + + + + + + + + + + + + +
+ +

_TIFFmalloc(TIFFroundup(sizeof(TIFFYCbCrToRGB), +sizeof(long))

+
+ +

+ 4*256*sizeof(TIFFRGBValue)

+
+ +

+ 2*256*sizeof(int)

+
+ +

+ 3*256*sizeof(int32));

+
+ + + + + +
+

if (ycbcr == NULL) {
+TIFFError("YCbCr->RGB",

+ + + + + + + +
+ + +

"No space for YCbCr->RGB conversion +state");

+
+
+ + + + + +
+

exit(0);
+}

+ +

TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRCOEFFICIENTS, +&luma);
+TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE, +&refBlackWhite);
+if (TIFFYCbCrToRGBInit(ycbcr, luma, refBlackWhite) < +0)

+ + + + + +
+ +

exit(0);

+
+ + + + + +
+

/* Start conversion */
+uint32 r, g, b;
+uint32 Y;
+int32 Cb, Cr;

+ +

for each pixel in image

+ + + + + +
+ +

TIFFYCbCrtoRGB(img->ycbcr, Y, Cb, Cr, &r, &g, +&b);

+
+ + + + + +
+

/* Free state structure */
+_TIFFfree(ycbcr);

+ + + + + +
+

TIFFCIELabToRGBInit() initializes the CIE +L*a*b* 1976 to RGB conversion state. +TIFFCIELabToRGB defined as

+
+ + + + + +
+
#define CIELABTORGB_TABLE_RANGE 1500
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

typedef struct {

+
+ + +

/* CIE Lab 1976->RGB support */

+
+
+ + +

int

+
+ +

range;

+
+ + +

/* Size of conversion table */

+
+
+ + +

float

+
+ +

rstep, gstep, bstep;

+
+
+ + +

float

+
+ +

X0, Y0, Z0;

+
+ +

/* Reference white point */

+
+
+ +

TIFFDisplay display;

+
+
+ + +

float

+
+ +

Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr +to r */

+
+
+ + +

float

+
+ +

Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg +to g */

+
+
+ + +

float

+
+ +

Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb +to b */

+
+
+ + + + + +
+

} TIFFCIELabToRGB;

+ + + + + +
+

display is a display device description, declared +as

+
+ + + + + +
+
typedef struct {
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

float d_mat[3][3]; /* XYZ -> luminance matrix */

+
+ +

float d_YCR; /* Light o/p for reference white */

+
+ +

float d_YCG;

+
+ +

float d_YCB;

+
+ +

uint32 d_Vrwr; /* Pixel values for ref. white */

+
+ +

uint32 d_Vrwg;

+
+ +

uint32 d_Vrwb;

+
+ +

float d_Y0R; /* Residual light for black pixel */

+
+ +

float d_Y0G;

+
+ +

float d_Y0B;

+
+ +

float d_gammaR; /* Gamma values for the three guns +*/

+
+ +

float d_gammaG;

+
+ +

float d_gammaB;

+
+ + + + + +
+

} TIFFDisplay;

+ + + + + +
+

For example, the one can use sRGB device, which has the +following parameters:

+
+ + + + + +
+
TIFFDisplay display_sRGB = {
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

{ /* XYZ -> luminance matrix */

+
+
+ + +

{ 3.2410F, -1.5374F, -0.4986F },

+
+
+ + +

{ -0.9692F, 1.8760F, 0.0416F },

+
+
+ + +

{ 0.0556F, -0.2040F, 1.0570F }

+
+
+ +

},

+
+ +
+ +

100.0F, 100.0F, 100.0F, /* Light o/p for reference white +*/

+
+
+ +

255, 255, 255, /* Pixel values for ref. white */

+
+
+ +

1.0F, 1.0F, 1.0F, /* Residual light o/p for black pixel +*/

+
+
+ +

2.4F, 2.4F, 2.4F, /* Gamma values for the three guns +*/

+
+
+ + + + + +
+

};

+ + + + + +
+

refWhite is a color temperature of the reference +white. The TIFFTAG_WHITEPOINT contains the +chromaticity of the white point of the image from where the +reference white can be calculated using following +formulae:

+
+ + + + + +
+

refWhite_Y = 100.0
+refWhite_X = whitePoint_x / whitePoint_y * refWhite_Y
+refWhite_Z = (1.0 - whitePoint_x - whitePoint_y) / +whitePoint_y * refWhite_X

+ + + + + +
+

The conversion itself performed in two steps: at the +first one we will convert CIE L*a*b* 1976 to CIE +XYZ using TIFFCIELabToXYZ() routine, and at the +second step we will convert CIE XYZ to RGB +using TIFFXYZToRGB(). Look at the code sample +below:

+
+ + + + + +
+
float   *whitePoint;
+float   refWhite[3];
+
+/* Initialize structures */
+img->cielab = (TIFFCIELabToRGB *)
+
+
+ + + + + + +
+ +

_TIFFmalloc(sizeof(TIFFCIELabToRGB));

+
+ + + + + +
+

if (!cielab) {

+ + + + + + + + + + + + + + + + + + + + +
+ +

TIFFError("CIE L*a*b*->RGB",

+
+
+ + +

"No space for CIE L*a*b*->RGB conversion +state.");

+
+
+ +

exit(0);

+
+
+ + + + + +
+

}

+ +

TIFFGetFieldDefaulted(tif, TIFFTAG_WHITEPOINT, +&whitePoint);
+refWhite[1] = 100.0F;
+refWhite[0] = whitePoint[0] / whitePoint[1] * +refWhite[1];
+refWhite[2] = (1.0F - whitePoint[0] - +whitePoint[1])

+ + + + + +
+ +

/ whitePoint[1] * refWhite[1];

+
+ + + + + +
+

if (TIFFCIELabToRGBInit(cielab, &display_sRGB, +refWhite) < 0) {

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

TIFFError("CIE L*a*b*->RGB",

+
+
+ + +

"Failed to initialize CIE L*a*b*->RGB conversion +state.");

+
+
+ +

_TIFFfree(cielab);

+
+
+ +

exit(0);

+
+
+ + + + + +
+

}

+ +

/* Now we can start to convert */
+uint32 r, g, b;
+uint32 L;
+int32 a, b;
+float X, Y, Z;

+ +

for each pixel in image

+ + + + + + + + +
+ +

TIFFCIELabToXYZ(cielab, L, a, b, &X, &Y, +&Z);

+
+ +

TIFFXYZToRGB(cielab, X, Y, Z, &r, &g, +&b);

+
+ + + + + +
+

/* Don’t forget to free the state structure */
+_TIFFfree(cielab);

+ +

SEE ALSO

+ + + + + +
+

TIFFRGBAImage(3TIFF) libtiff(3TIFF),

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFmemory.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFmemory.3tiff.html new file mode 100644 index 0000000..746b5ec --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFmemory.3tiff.html @@ -0,0 +1,110 @@ + + + + + + +MEMORY + + + +

MEMORY

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

_TIFFmalloc, _TIFFrealloc, _TIFFfree, _TIFFmemset, +_TIFFmemcpy, _TIFFmemcmp, − memory management-related +functions for use with TIFF files

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tdata_t _TIFFmalloc(tsize_t size);
+tdata_t _TIFFrealloc(tdata_t
buffer, +tsize_t size);
+void _TIFFfree(tdata_t
buffer);
+void _TIFFmemset(tdata_t
s, int +c, tsize_t n);
+void _TIFFmemcpy(tdata_t
dest, const +tdata_t src, tsize_t n);
+int _TIFFmemcmp(const tdata_t
s1, const +tdata_t s2, tsize_t n);

+
+ +

DESCRIPTION

+ + + + + +
+

These routines are provided for writing portable software +that uses libtiff; they hide any memory-management +related issues, such as dealing with segmented architectures +found on 16-bit machines.

+ +

_TIFFmalloc and _TIFFrealloc are used to +dynamically allocate and reallocate memory used by +libtiff; such as memory passed into the I/O routines. +Memory allocated through these interfaces is released back +to the system using the _TIFFfree routine.

+ +

Memory allocated through one of the above interfaces can +be set to a known value using _TIFFmemset, copied to +another memory location using _TIFFmemcpy, or +compared for equality using _TIFFmemcmp. These +routines conform to the equivalent ANSI C +routines: memset, memcpy, and memcmp, +repsectively.

+
+ +

DIAGNOSTICS

+ + + + + +
+

None.

+
+ +

SEE ALSO

+ + + + + +
+

malloc(3), memory(3), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFquery.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFquery.3tiff.html new file mode 100644 index 0000000..e27354a --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFquery.3tiff.html @@ -0,0 +1,148 @@ + + + + + + +QUERY + + + +

QUERY

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFCurrentRow, TIFFCurrentStrip, TIFFCurrentTile, +TIFFCurrentDirectory, TIFFLastDirectory, TIFFFileno, +TIFFFileName, TIFFGetMode, TIFFIsTiled, TIFFIsByteSwapped, +TIFFIsUpSampled, TIFFIsMSB2LSB, TIFFGetVersion − query +routines

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

uint32 TIFFCurrentRow(TIFF* tif)
+tstrip_t TIFFCurrentStrip(TIFF*
tif)
+ttile_t TIFFCurrentTile(TIFF*
tif)
+tdir_t TIFFCurrentDirectory(TIFF*
tif)
+int TIFFLastDirectory(TIFF*
tif)
+int TIFFFileno(TIFF*
tif)
+char* TIFFFileName(TIFF*
tif)
+int TIFFGetMode(TIFF*
tif)
+int TIFFIsTiled(TIFF*
tif)
+int TIFFIsByteSwapped(TIFF*
tif)
+int TIFFIsUpSampled(TIFF*
tif)
+int TIFFIsMSB2LSB(TIFF*
tif)
+const char* TIFFGetVersion(void)

+
+ +

DESCRIPTION

+ + + + + +
+

The following routines return status information about an +open TIFF file.

+ +

TIFFCurrentDirectory returns the index of the +current directory (directories are numbered starting at 0). +This number is suitable for use with the +TIFFSetDirectory routine.

+ +

TIFFLastDirectory returns a non-zero value if the +current directory is the last directory in the file; +otherwise zero is returned.

+ +

TIFFCurrentRow, TIFFCurrentStrip, and +TIFFCurrentTile, return the current row, strip, and +tile, respectively, that is being read or written. These +values are updated each time a read or write is done.

+ +

TIFFFileno returns the underlying file descriptor +used to access the TIFF image in the +filesystem.

+ +

TIFFFileName returns the pathname argument passed +to TIFFOpen or TIFFFdOpen.

+ +

TIFFGetMode returns the mode with which the +underlying file was opened. On UNIX systems, +this is the value passed to the open(2) system +call.

+ +

TIFFIsTiled returns a non-zero value if the image +data has a tiled organization. Zero is returned if the image +data is organized in strips.

+ +

TIFFIsByteSwapped returns a non-zero value if the +image data was in a different byte-order than the host +machine. Zero is returned if the TIFF file and local host +byte-orders are the same. Note that TIFFReadTile(), +TIFFReadStrip() and TIFFReadScanline() functions already +normally perform byte swapping to local host order if +needed.

+ +

TIFFIsUpSampled returns a non-zero value if image +data returned through the read interface routines is being +up-sampled. This can be useful to applications that want to +calculate I/O buffer sizes to reflect this usage (though the +usual strip and tile size routines already do this).

+ +

TIFFIsMSB2LSB returns a non-zero value if the +image data is being returned with bit 0 as the most +significant bit.

+ +

TIFFGetVersion returns an ASCII +string that has a version stamp for the TIFF +library software.

+
+ +

DIAGNOSTICS

+ + + + + +
+

None.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF), TIFFOpen(3TIFF), +TIFFFdOpen(3TIFF)

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFsize.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFsize.3tiff.html new file mode 100644 index 0000000..54fb71b --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFsize.3tiff.html @@ -0,0 +1,95 @@ + + + + + + +TIFFSIZE + + + +

TIFFSIZE

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFScanlineSize, TIFFRasterScanlineSize, − return +the size of various items associated with an open +TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

tsize_t TIFFRasterScanlineSize(TIFF +*tif)
+tsize_t TIFFScanlineSize(TIFF *
tif)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFScanlineSize returns the size in bytes of a +row of data as it would be returned in a call to +TIFFReadScanline, or as it would be expected in a +call to TIFFWriteScanline.

+ +

TIFFRasterScanlineSize returns the size in bytes +of a complete decoded and packed raster scanline. Note that +this value may be different from the value returned by +TIFFScanlineSize if data is stored as separate +planes.

+
+ +

DIAGNOSTICS

+ + + + + +
+

None.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFOpen(3TIFF), TIFFReadScanline(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFstrip.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFstrip.3tiff.html new file mode 100644 index 0000000..a0fc358 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFstrip.3tiff.html @@ -0,0 +1,129 @@ + + + + + + +TIFFSTRIP + + + +

TIFFSTRIP

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFDefaultStripSize, TIFFStripSize, TIFFVStripSize, +TIFFRawStripSize, TIFFComputeStrip, TIFFNumberOfStrips +− strip-related utility routines

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

uint32 TIFFDefaultStripSize(TIFF *tif, +uint32 estimate)
+tsize_t TIFFStripSize(TIFF *
tif)
+tsize_t TIFFVStripSize(TIFF *
tif, uint32 +nrows)
+tsize_t TIFFRawStripSize(TIFF *
tif, +tstrip_t strip)
+tstrip_t TIFFComputeStrip(TIFF *
tif, +uint32 row, tsample_t +sample)
+tstrip_t TIFFNumberOfStrips(TIFF *
tif)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFDefaultStripSize returns the number of rows +for a reasonable-sized strip according to the current +settings of the ImageWidth, BitsPerSample, +SamplesPerPixel, tags and any compression-specific +requirements. If the estimate parameter, if non-zero, +then it is taken as an estimate of the desired strip size +and adjusted according to any compression-specific +requirements. The value returned by this function is +typically used to define the RowsPerStrip tag. In +lieu of any unusual requirements TIFFDefaultStripSize +tries to create strips that have approximately 8 kilobytes +of uncompressed data.

+ +

TIFFStripSize returns the equivalent size for a +strip of data as it would be returned in a call to +TIFFReadEncodedStrip or as it would be expected in a +call to TIFFWriteEncodedStrip.

+ +

TIFFVStripSize returns the number of bytes in a +strip with nrows rows of data.

+ +

TIFFRawStripSize returns the number of bytes in a +raw strip (i.e. not decoded).

+ +

TIFFComputeStrip returns the strip that contains +the specified coordinates. A valid strip is always returned; +out-of-range coordinate values are clamped to the bounds of +the image. The row parameter is always used in +calculating a strip. The sample parameter is used +only if data are organized in separate planes +(PlanarConfiguration=2).

+ +

TIFFNumberOfStrips returns the number of strips in +the image.

+
+ +

DIAGNOSTICS

+ + + + + +
+

None.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFReadEncodedStrip(3TIFF), +TIFFReadRawStrip(3TIFF), +TIFFWriteEncodedStrip(3TIFF), +TIFFWriteRawStrip(3TIFF), libtiff(3TIFF),

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFswab.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFswab.3tiff.html new file mode 100644 index 0000000..2924a38 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFswab.3tiff.html @@ -0,0 +1,110 @@ + + + + + + +SWAB + + + +

SWAB

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFGetBitRevTable, TIFFReverseBits, TIFFSwabShort, +TIFFSwabLong, TIFFSwabArrayOfShort, TIFFSwabArrayOfLong +− byte- and bit-swapping routines

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

const unsigned char* TIFFGetBitRevTable(int +reversed)
+void TIFFReverseBits(u_char *
data, unsigned +long nbytes)
+void TIFFSwabShort(uint16 *
data)
+void TIFFSwabLong(uint32 *
data)
+void TIFFSwabArrayOfShort(uint16 *
data, +unsigned long nshorts)
+void TIFFSwabArrayOfLong(uint32 *
data, +unsigned long nlongs)

+
+ +

DESCRIPTION

+ + + + + +
+

The following routines are used by the library to swap +16- and 32-bit data and to reverse the order of bits in +bytes.

+ +

TIFFSwabShort and TIFFSwabLong swap the +bytes in a single 16-bit and 32-bit item, respectively. +TIFFSwabArrayOfShort and TIFFSwabArrayOfLong +swap the bytes in an array of 16-bit and 32-bit items, +respectively.

+ +

TIFFReverseBits replaces each byte in data +with the equivalent bit-reversed value. This operation is +performed with a lookup table, which is returned using the +TIFFGetBitRevTable function. reversed +parameter specifies which table should be returned. Supply +1 if you want bit reversal table. Supply 0 to +get the table that do not reverse bit values. It is a lookup +table that can be used as an identity function; i.e. +TIFFNoBitRevTable[n] == n.

+
+ +

DIAGNOSTICS

+ + + + + +
+

None.

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/TIFFtile.3tiff.html b/src/3rdparty/libtiff/html/man/TIFFtile.3tiff.html new file mode 100644 index 0000000..e8e0008 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/TIFFtile.3tiff.html @@ -0,0 +1,141 @@ + + + + + + +TIFFTILE + + + +

TIFFTILE

+NAME
+SYNOPSIS
+DESCRIPTION
+DIAGNOSTICS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

TIFFTileSize, TIFFTileRowSize, TIFFVTileSize, +TIFFDefaultTileSize, TIFFComputeTile, TIFFCheckTile, +TIFFNumberOfTiles − tile-related utility routines

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

void TIFFDefaultTileSize(TIFF *tif, +uint32 *tw, uint32 *th)
+tsize_t TIFFTileSize(TIFF *
tif)
+tsize_t TIFFTileRowSize(TIFF *
tif)
+tsize_t TIFFVTileSize(TIFF *
tif, uint32 +nrows)
+ttile_t TIFFComputeTile(TIFF *
tif, uint32 +x, uint32 y, uint32 z, +tsample_t sample)
+int TIFFCheckTile(TIFF *
tif, uint32 +x, uint32 y, uint32 z, +tsample_t sample)
+ttile_t TIFFNumberOfTiles(TIFF *
tif)

+
+ +

DESCRIPTION

+ + + + + +
+

TIFFDefaultTileSize returns the pixel width and +height of a reasonable-sized tile; suitable for setting up +the TileWidth and TileLength tags. If the +tw and th values passed in are non-zero, then +they are adjusted to reflect any compression-specific +requirements. The returned width and height are constrained +to be a multiple of 16 pixels to conform with the +TIFF specification.

+ +

TIFFTileSize returns the equivalent size for a +tile of data as it would be returned in a call to +TIFFReadTile or as it would be expected in a call to +TIFFWriteTile.

+ +

TIFFVTileSize returns the number of bytes in a +row-aligned tile with nrows of data.

+ +

TIFFTileRowSize returns the number of bytes of a +row of data in a tile.

+ +

TIFFComputeTile returns the tile that contains the +specified coordinates. A valid tile is always returned; +out-of-range coordinate values are clamped to the bounds of +the image. The x and y parameters are always +used in calculating a tile. The z parameter is used +if the image is deeper than 1 slice +(ImageDepth>1). The sample parameter is +used only if data are organized in separate planes +(PlanarConfiguration=2).

+ +

TIFFCheckTile returns a non-zero value if the +supplied coordinates are within the bounds of the image and +zero otherwise. The x parameter is checked against +the value of the ImageWidth tag. The y +parameter is checked against the value of the +ImageLength tag. The z parameter is checked +against the value of the ImageDepth tag (if defined). +The sample parameter is checked against the value of +the SamplesPerPixel parameter if the data are +organized in separate planes.

+ +

TIFFNumberOfTiles returns the number of tiles in +the image.

+
+ +

DIAGNOSTICS

+ + + + + +
+

None.

+
+ +

SEE ALSO

+ + + + + +
+

TIFFReadEncodedTile(3TIFF), +TIFFReadRawTile(3TIFF), TIFFReadTile(3TIFF), +TIFFWriteEncodedTile(3TIFF), +TIFFWriteRawTile(3TIFF), TIFFWriteTile(3TIFF), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/fax2ps.1.html b/src/3rdparty/libtiff/html/man/fax2ps.1.html new file mode 100644 index 0000000..c539614 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/fax2ps.1.html @@ -0,0 +1,252 @@ + + + + + + +FAX2PS + + + +

FAX2PS

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+DIAGNOSTICS
+NOTES
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

fax2ps − convert a TIFF facsimile to +compressed PostScript™

+
+ +

SYNOPSIS

+ + + + + +
+

fax2ps [ options ] [ file ... ]

+
+ +

DESCRIPTION

+ + + + + +
+

fax2ps reads one or more TIFF +facsimile image files and prints a compressed form of +PostScript on the standard output that is suitable for +printing.

+ +

By default, each page is scaled to reflect the image +dimensions and resolutions stored in the file. The +−x and −y options can be used to +specify the horizontal and vertical image resolutions +(lines/inch), respectively. If the −S option is +specified, each page is scaled to fill an output page. The +default output page is 8.5 by 11 inches. Alternate page +dimensions can be specified in inches with the +−W and −H options.

+ +

By default fax2ps generates PostScript for all +pages in the file. The −p option can be used to +select one or more pages from a multi-page document.

+ +

fax2ps generates a compressed form of PostScript +that is optimized for sending pages of text to a PostScript +printer attached to a host through a low-speed link (such as +a serial line). Each output page is filled with white and +then only the black areas are drawn. The PostScript +specification of the black drawing operations is optimized +by using a special font that encodes the move-draw +operations required to fill the black regions on the page. +This compression scheme typically results in a substantially +reduced PostScript description, relative to the +straightforward imaging of the page with a PostScript +image operator. This algorithm can, however, be +ineffective for continuous-tone and white-on-black images. +For these images, it sometimes is more efficient to send the +raster bitmap image directly; see tiff2ps(1).

+
+ +

OPTIONS

+ + + + + + + +
+ +

−p number

+
+ +

Print only the indicated page. Multiple pages may be +printed by specifying this option more than once.

+
+
+ + + + + +
+

−x resolution

+ + + + + +
+

Use resolution as the horizontal resolution, in +dots/inch, of the image data. By default this value is taken +from the file.

+
+ + + + + +
+

−y resolution

+ + + + + +
+

Use resolution as the vertical resolution, in +lines/inch, of the image data. By default this value is +taken from the file.

+
+ + + + + + + + + + + + + + + + + +
+ +

−S

+
+ +

Scale each page of image data to fill the output page +dimensions. By default images are presented according to the +dimension information recorded in the TIFF +file.

+
+
+ +

−W width

+
+ +

Use width as the width, in inches, of the output +page.

+
+
+ +

−H height

+
+ +

Use height as the height, in inches, of the +output page.

+
+
+ +

DIAGNOSTICS

+ + + + + +
+

Some messages about malformed TIFF images +come from the TIFF library.

+ +

Various messages about badly formatted facsimile images +may be generated due to transmission errors in received +facsimile. fax2ps attempts to recover from such data +errors by resynchronizing decoding at the end of the current +scanline. This can result in long horizontal black lines in +the resultant PostScript image.

+
+ +

NOTES

+ + + + + +
+

If the destination printer supports PostScript Level II +then it is always faster to just send the encoded bitmap +generated by the tiff2ps(1) program.

+
+ +

BUGS

+ + + + + +
+

fax2ps should probably figure out when it is doing +a poor job of compressing the output and just generate +PostScript to image the bitmap raster instead.

+
+ +

SEE ALSO

+ + + + + +
+

tiff2ps(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/fax2tiff.1.html b/src/3rdparty/libtiff/html/man/fax2tiff.1.html new file mode 100644 index 0000000..38b54c0 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/fax2tiff.1.html @@ -0,0 +1,607 @@ + + + + + + +FAX2TIFF + + + +

FAX2TIFF

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+DIAGNOSTICS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

fax2tiff − create a TIFF Class F fax +file from raw fax data

+
+ +

SYNOPSIS

+ + + + + +
+

fax2tiff [ options ] [ −o +output.tif ] input.raw

+
+ +

DESCRIPTION

+ + + + + +
+

Fax2tiff creates a TIFF file +containing CCITT Group 3 or Group 4 encoded +data from one or more files containing +‘‘raw’’ Group 3 or Group 4 encoded +data (typically obtained directly from a fax modem). By +default, each row of data in the resultant +TIFF file is 1-dimensionally encoded and +padded or truncated to 1728 pixels, as needed. The resultant +image is a set of low resolution (98 lines/inch) or medium +resolution (196 lines/inch) pages, each of which is a single +strip of data. The generated file conforms to the +TIFF Class F ( FAX ) +specification for storing facsimile data. This means, in +particular, that each page of the data does not +include the trailing return to control ( +RTC ) code; as required for transmission by +the CCITT Group 3 specifications. The old, +‘‘classic’’, format is created if +the −c option is used. (The Class F format can +also be requested with the −f option.)

+ +

The default name of the output image is fax.tif; +this can be changed with the −o option. Each +input file is assumed to be a separate page of facsimile +data from the same document. The order in which input files +are specified on the command line is the order in which the +resultant pages appear in the output file.

+
+ +

OPTIONS

+ + + + + +
+

Options that affect the interpretation of input data +are:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−3

+
+ +

Assume input data is CCITT Group 3 +encoded (default).

+
+
+ +

−4

+
+ +

Assume input data is CCITT Group 4 +encoded.

+
+
+ +

−U

+
+ +

Assume input data is uncompressed (Group 3 or Group +4).

+
+
+ +

−1

+
+ +

Assume input data is encoded with the 1-dimensional +version of the CCITT Group 3 Huffman encoding +algorithm (default).

+
+
+ +

−2

+
+ +

Assume input data is 2-dimensional version of the +CCITT Group 3 Huffman encoding algorithm.

+
+
+ +

−P

+
+ +

Assume input data is not EOL-aligned (default). +This option has effect with Group 3 encoded input only.

+
+
+ +

−A

+
+ +

Assume input data is EOL-aligned. This option has effect +with Group 3 encoded input only.

+
+
+ +

−M

+
+ +

Treat input data as having bits filled from most +significant bit ( MSB ) to most least bit ( +LSB ).

+
+
+ +

−L

+
+ +

Treat input data as having bits filled from least +significant bit ( LSB ) to most significant +bit ( MSB ) (default).

+
+
+ +

−B

+
+ +

Assume input data was encoded with black as 0 and white +as 1.

+
+
+ +

−W

+
+ +

Assume input data was encoded with black as 1 and white +as 0 (default).

+
+
+ +

−R

+
+ +

Specify the vertical resolution, in lines/inch, of the +input images. By default input are assumed to have a +vertical resolution of 196 lines/inch. If images are low +resolution facsimile, a value of 98 lines/inch should be +specified.

+
+
+ +

−X

+
+ +

Specify the width, in pixels, of the input images. By +default input are assumed to have a width of 1728 +pixels.

+
+
+ + + + + +
+

Options that affect the output file format are:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−o

+
+ +

Specify the name of the output file.

+
+
+ +

−7

+
+ +

Force output to be compressed with the +CCITT Group 3 Huffman encoding algorithm +(default).

+
+
+ +

−8

+
+ +

Force output to be compressed with the +CCITT Group 4 Huffman encoding.

+
+
+ +

−u

+
+ +

Force output to be uncompressed (Group 3 or Group +4).

+
+
+ +

−5

+
+ +

Force output to be encoded with the 1-dimensional +version of the CCITT Group 3 Huffman encoding +algorithm.

+
+
+ +

−6

+
+ +

Force output to be encoded with the 2-dimensional +version of the CCITT Group 3 Huffman encoding +algorithm (default).

+
+
+ +

−a

+
+ +

Force the last bit of each End Of Line ( +EOL ) code to land on a byte boundary +(default). This ‘‘zero padding’’ +will be reflected in the contents of the +Group3Options tag of the resultant +TIFF file. This option has effect with Group +3 encoded output only.

+
+
+ +

−p

+
+ +

Do not EOL-align output. This option has effect with +Group 3 encoded output only.

+
+
+ +

−c

+
+ +

Generate "classic" Group 3 TIFF format.

+
+
+ +

−f

+
+ +

Generate TIFF Class F (TIFF/F) format (default).

+
+
+ +

−m

+
+ +

Force output data to have bits filled from most +significant bit ( MSB ) to most least bit ( +LSB ).

+
+
+ +

−l

+
+ +

Force output data to have bits filled from least +significant bit ( LSB ) to most significant +bit ( MSB ) (default).

+
+
+ +

−r

+
+ +

Specify the number of rows (scanlines) in each strip of +data written to the output file. By default (or when value +0 is specified), tiffcp attempts to set the +rows/strip that no more than 8 kilobytes of data appear in a +strip (with except of G3/G4 compression schemes). If you +specify special value −1 it will results in +infinite number of the rows per strip. The entire image will +be the one strip in that case. This is default in case of +G3/G4 output compression schemes.

+
+
+ +

−s

+
+ +

Stretch the input image vertically by writing each input +row of data twice to the output file.

+
+
+ +

−v

+
+ +

Force fax2tiff to print the number of rows of +data it retrieved from the input file.

+
+
+ +

−z

+
+ +

Force output to be compressed with the LZW encoding.

+
+
+ +

DIAGNOSTICS

+ + + + + +
+

The following warnings and errors come from the decoding +routines in the library.

+ +

Warning, %s: Premature EOL at scanline %d (x +%d).\n. The input data had a row that was shorter than +the expected width. The row is padded with white.

+ +

%s: Premature EOF at scanline %d (x %d).\n. The +decoder ran out of data in the middle of a scanline. The +resultant row is padded with white.

+ +

%s: Bad code word at row %d, x %d\n. An invalid +Group 3 code was encountered while decoding the input +file. The row number and horizontal position is given. The +remainder of the input row is discarded, while the +corresponding output row is padded with white.

+ +

%s: Bad 2D code word at scanline %d.\n. An invalid +Group 4 or 2D Group 3 code was encountered while +decoding the input file. The row number and horizontal +position is given. The remainder of the input row is +discarded, while the corresponding output row is padded with +white.

+
+ +

BUGS

+ + + + + +
+

Input data are assumed to have a a ‘‘top +left’’ orientation; it should be possible to +override this assumption from the command line.

+
+ +

SEE ALSO

+ + + + + +
+

CCITT Recommendation T.4 +(Standardization of Group 3 Facsimile Apparatus for Document +Transmission).

+ +

The Spirit of TIFF Class F, an appendix to the +TIFF 5.0 specification prepared by Cygnet Technologies.

+ +

tiffinfo(1), tiffdither(1), +tiffgt(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/gif2tiff.1.html b/src/3rdparty/libtiff/html/man/gif2tiff.1.html new file mode 100644 index 0000000..6114bd3 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/gif2tiff.1.html @@ -0,0 +1,141 @@ + + + + + + +GIF2TIFF + + + +

GIF2TIFF

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+NOTES
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

gif2tiff − create a TIFF file from a +GIF87 format image file

+
+ +

SYNOPSIS

+ + + + + +
+

gif2tiff [ options ] input.gif +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

Gif2tiff converts a file in the GIF87 format to +TIFF. The TIFF image is +created as a palette image, with samples compressed with the +Lempel-Ziv & Welch algorithm (Compression=5). +These characteristics can overridden, or explicitly +specified with the options described below.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + +
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: −c none for no compression, −c +packbits for the PackBits compression algorithm, +−c zip for the Deflate compression algorithm, +and −c lzw for Lempel-Ziv & Welch (the +default).

+
+
+ +

−r

+
+ +

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+
+ +

NOTES

+ + + + + +
+

The program is based on Paul Haeberli’s +fromgif program which, in turn, is based on Marcel +J.E. Mol’s GIF reader.

+
+ +

BUGS

+ + + + + +
+

Should have more options to control output format.

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffinfo(1), tiffcp(1), +tiffmedian(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/index.html b/src/3rdparty/libtiff/html/man/index.html new file mode 100644 index 0000000..7e9e8d2 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/index.html @@ -0,0 +1,64 @@ +Libtiff HTML manpage index diff --git a/src/3rdparty/libtiff/html/man/libtiff.3tiff.html b/src/3rdparty/libtiff/html/man/libtiff.3tiff.html new file mode 100644 index 0000000..bea73f7 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/libtiff.3tiff.html @@ -0,0 +1,3137 @@ + + + + + + +INTRO + + + +

INTRO

+NAME
+SYNOPSIS
+DESCRIPTION
+DATA TYPES
+LIST OF ROUTINES
+TAG USAGE
+PSEUDO TAGS
+DIAGNOSTICS
+SEE ALSO
+BUGS
+ +
+ +

NAME

+ + + + + +
+

libtiff − introduction to libtiff, a +library for reading and writing TIFF +files

+
+ +

SYNOPSIS

+ + + + + +
+

#include <tiffio.h>

+ +

cc file.c -ltiff

+
+ +

DESCRIPTION

+ + + + + +
+

libtiff is a library for reading and writing +data files encoded with the Tag Image File format, +Revision 6.0 (or revision 5.0 or revision 4.0). This file +format is suitable for archiving multi-color and +monochromatic image data.

+ +

The library supports several compression algorithms, +as indicated by the Compression field, including: no +compression (1), CCITT 1D Huffman compression +(2), CCITT Group 3 Facsimile compression +(3), CCITT Group 4 Facsimile compression (4), +Lempel-Ziv & Welch compression (5), baseline JPEG +compression (7), word-aligned 1D Huffman compression +(32771), and PackBits compression (32773). In addition, +several nonstandard compression algorithms are supported: +the 4-bit compression algorithm used by the +ThunderScan program (32809) (decompression only), +NeXT’s 2-bit compression algorithm (32766) +(decompression only), an experimental LZ-style algorithm +known as Deflate (32946), and an experimental CIE LogLuv +compression scheme designed for images with high dynamic +range (32845 for LogL and 32845 for LogLuv). Directory +information may be in either little- or big-endian byte +order−byte swapping is automatically done by the +library. Data bit ordering may be either Most Significant +Bit ( MSB ) to Least Significant Bit ( LSB +) or LSB to MSB. Finally, the +library does not support files in which the +BitsPerSample, Compression, +MinSampleValue, or MaxSampleValue fields are +defined differently on a per-sample basis (in Rev. 6.0 the +Compression tag is not defined on a per-sample basis, +so this is immaterial).

+
+ +

DATA TYPES

+ + + + + +
+

The library makes extensive use of C typedefs to +promote portability. Two sets of typedefs are used, one for +communication with clients of the library and one for +internal data structures and parsing of the TIFF +format. The following typedefs are exposed to users +either through function definitions or through parameters +passed through the varargs interfaces.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

typedef unsigned short uint16;

+
+ +

16-bit unsigned integer

+
+ +

typedef unsigned <thing> +uint32;

+
+ +

32-bit unsigned integer

+
+ +

typedef unsigned int ttag_t;

+
+ +

directory tag

+
+ +

typedef uint16 tdir_t;

+
+ +

directory index

+
+ +

typedef uint16 tsample_t;

+
+ +

sample number

+
+ +

typedef uint32 tstrip_t;

+
+ +

strip number

+
+ +

typedef uint32 ttile_t;

+
+ +

tile number

+
+ +

typedef int32 tsize_t;

+
+ +

i/o size in bytes

+
+ +

typedef void* tdata_t;

+
+ +

image data ref

+
+ +

typedef void* thandle_t;

+
+ +

client data handle

+
+ +

typedef int32 toff_t;

+
+ +

file offset

+
+ + + + + +
+

Note that tstrip_t, ttile_t, and +tsize_t are constrained to be no more than 32-bit +quantities by 32-bit fields they are stored in in the +TIFF image. Likewise tsample_t is limited by the +16-bit field used to store the SamplesPerPixel tag. +tdir_t constrains the maximum number of IFDs +that may appear in an image and may be an arbitrary +size (w/o penalty). ttag_t must be either int, +unsigned int, pointer, or double because the library uses a +varargs interface and ANSI C restricts the type +of the parameter before an ellipsis to be a promoted type. +toff_t is defined as int32 because TIFF file offsets +are (unsigned) 32-bit quantities. A signed value is used +because some interfaces return −1 on error. Finally, +note that user-specified data references are passed as +opaque handles and only cast at the lowest layers where +their type is presumed.

+
+ +

LIST OF ROUTINES

+ + + + + +
+

The following routines are part of the library. +Consult specific manual pages for details on their +operation; on most systems doing ‘‘man +function-name’’ will work.

+ + +

Name Description

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

TIFFCheckpointDirectory

+
+ +

writes the current state of the directory

+
+ +

TIFFCheckTile

+
+ +

very x,y,z,sample is within image

+
+ +

TIFFCIELabToRGBInit

+
+ +

initialize CIE L*a*b* 1976 to RGB conversion +state

+
+ +

TIFFCIELabToXYZ

+
+ +

perform CIE L*a*b* 1976 to CIE XYZ +conversion

+
+ +

TIFFClientOpen

+
+ +

open a file for reading or writing

+
+ +

TIFFClose

+
+ +

close an open file

+
+ +

TIFFComputeStrip

+
+ +

return strip containing y,sample

+
+ +

TIFFComputeTile

+
+ +

return tile containing x,y,z,sample

+
+ +

TIFFCurrentDirectory

+
+ +

return index of current directory

+
+ +

TIFFCurrentRow

+
+ +

return index of current scanline

+
+ +

TIFFCurrentStrip

+
+ +

return index of current strip

+
+ +

TIFFCurrentTile

+
+ +

return index of current tile

+
+ +

TIFFDataWidth

+
+ +

return the size of TIFF data types

+
+ +

TIFFError

+
+ +

library error handler

+
+ +

TIFFFdOpen

+
+ +

open a file for reading or writing

+
+ +

TIFFFileName

+
+ +

return name of open file

+
+ +

TIFFFileno

+
+ +

return open file descriptor

+
+ +

TIFFFindCODEC

+
+ +

find standard codec for the specific +scheme

+
+ +

TIFFFlush

+
+ +

flush all pending writes

+
+ +

TIFFFlushData

+
+ +

flush pending data writes

+
+ +

TIFFGetBitRevTable

+
+ +

return bit reversal table

+
+ +

TIFFGetField

+
+ +

return tag value in current directory

+
+ +

TIFFGetFieldDefaulted

+
+ +

return tag value in current directory

+
+ +

TIFFGetMode

+
+ +

return open file mode

+
+ +

TIFFGetVersion

+
+ +

return library version string

+
+ +

TIFFIsCODECConfigured

+
+ +

check, whether we have working codec

+
+ +

TIFFIsMSB2LSB

+
+ +

return true if image data is being +returned

+
+ +

with bit 0 as the most significant bit

+
+ +

TIFFIsTiled

+
+ +

return true if image data is tiled

+
+ +

TIFFIsByteSwapped

+
+ +

return true if image data is byte-swapped

+
+ +

TIFFNumberOfStrips

+
+ +

return number of strips in an image

+
+ +

TIFFNumberOfTiles

+
+ +

return number of tiles in an image

+
+ +

TIFFOpen

+
+ +

open a file for reading or writing

+
+ +

TIFFPrintDirectory

+
+ +

print description of the current +directory

+
+ +

TIFFReadBufferSetup

+
+ +

specify i/o buffer for reading

+
+ +

TIFFReadDirectory

+
+ +

read the next directory

+
+ +

TIFFReadEncodedStrip

+
+ +

read and decode a strip of data

+
+ +

TIFFReadEncodedTile

+
+ +

read and decode a tile of data

+
+ +

TIFFReadRawStrip

+
+ +

read a raw strip of data

+
+ +

TIFFReadRawTile

+
+ +

read a raw tile of data

+
+ +

TIFFReadRGBAImage

+
+ +

read an image into a fixed format raster

+
+ +

TIFFReadScanline

+
+ +

read and decode a row of data

+
+ +

TIFFReadTile

+
+ +

read and decode a tile of data

+
+ +

TIFFRegisterCODEC

+
+ +

override standard codec for the specific +scheme

+
+ +

TIFFReverseBits

+
+ +

reverse bits in an array of bytes

+
+ +

TIFFRGBAImageBegin

+
+ +

setup decoder state for TIFFRGBAImageGet

+
+ +

TIFFRGBAImageEnd

+
+ +

release TIFFRGBAImage decoder state

+
+ +

TIFFRGBAImageGet

+
+ +

read and decode an image

+
+ +

TIFFRGBAImageOK

+
+ +

is image readable by TIFFRGBAImageGet

+
+ +

TIFFScanlineSize

+
+ +

return size of a scanline

+
+ +

TIFFSetDirectory

+
+ +

set the current directory

+
+ +

TIFFSetSubDirectory

+
+ +

set the current directory

+
+ +

TIFFSetErrorHandler

+
+ +

set error handler function

+
+ +

TIFFSetField

+
+ +

set a tag’s value in the current +directory

+
+ +

TIFFSetWarningHandler

+
+ +

set warning handler function

+
+ +

TIFFStripSize

+
+ +

returns size of a strip

+
+ +

TIFFRawStripSize

+
+ +

returns the number of bytes in a raw +strip

+
+ +

TIFFSwabShort

+
+ +

swap bytes of short

+
+ +

TIFFSwabLong

+
+ +

swap bytes of long

+
+ +

TIFFSwabArrayOfShort

+
+ +

swap bytes of an array of shorts

+
+ +

TIFFSwabArrayOfLong

+
+ +

swap bytes of an array of longs

+
+ +

TIFFTileRowSize

+
+ +

return size of a row in a tile

+
+ +

TIFFTileSize

+
+ +

return size of a tile

+
+ +

TIFFUnRegisterCODEC

+
+ +

unregisters the codec

+
+ +

TIFFVGetField

+
+ +

return tag value in current directory

+
+ +

TIFFVGetFieldDefaulted

+
+ +

return tag value in current directory

+
+ +

TIFFVSetField

+
+ +

set a tag’s value in the current +directory

+
+ +

TIFFVStripSize

+
+ +

returns the number of bytes in a strip

+
+ +

TIFFWarning

+
+ +

library warning handler

+
+ +

TIFFWriteDirectory

+
+ +

write the current directory

+
+ +

TIFFWriteEncodedStrip

+
+ +

compress and write a strip of data

+
+ +

TIFFWriteEncodedTile

+
+ +

compress and write a tile of data

+
+ +

TIFFWriteRawStrip

+
+ +

write a raw strip of data

+
+ +

TIFFWriteRawTile

+
+ +

write a raw tile of data

+
+ +

TIFFWriteScanline

+
+ +

write a scanline of data

+
+ +

TIFFWriteTile

+
+ +

compress and write a tile of data

+
+ +

TIFFXYZToRGB

+
+ +

perform CIE XYZ to RGB conversion

+
+ +

TIFFYCbCrToRGBInit

+
+ +

initialize YCbCr to RGB conversion state

+
+ +

TIFFYCbCrtoRGB

+
+ +

perform YCbCr to RGB conversion

+
+ + + + + +
+

Auxiliary functions:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

_TIFFfree

+
+ +

free memory buffer

+
+ +

_TIFFmalloc

+
+ +

dynamically allocate memory buffer

+
+ +

_TIFFmemcmp

+
+ +

compare contents of the memory buffers

+
+ +

_TIFFmemcpy

+
+ +

copy contents of the one buffer to +another

+
+ +

_TIFFmemset

+
+ +

fill memory buffer with a constant byte

+
+ +

_TIFFrealloc

+
+ +

dynamically reallocate memory buffer

+
+ +

TAG USAGE

+ + + + + +
+

The table below lists the TIFF tags that +are recognized and handled by the library. If no use is +indicated in the table, then the library reads and writes +the tag, but does not use it internally. Note that some tags +are meaningful only when a particular compression scheme is +being used; e.g. Group3Options is only useful if +Compression is set to CCITT Group 3 +encoding. Tags of this sort are considered +codec-specific tags and the library does not +recognize them except when the Compression tag has +been previously set to the relevant compression +scheme.

+ +
Tag Name                Value  R/W  Library Use/Notes
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Artist

+
+ +

315

+
+ +

R/W

+
+ +

BadFaxLines

+
+ +

326

+
+ +

R/W

+
+ +

BitsPerSample

+
+ +

258

+
+ +

R/W

+
+ +

lots

+
+ +

CellLength

+
+ +

265

+
+
+ +

parsed but ignored

+
+ +

CellWidth

+
+ +

264

+
+
+ +

parsed but ignored

+
+ +

CleanFaxData

+
+ +

327

+
+ +

R/W

+
+ +

ColorMap

+
+ +

320

+
+ +

R/W

+
+ +

ColorResponseUnit

+
+ +

300

+
+
+ +

parsed but ignored

+
+ +

Compression

+
+ +

259

+
+ +

R/W

+
+ +

choosing codec

+
+ +

ConsecutiveBadFaxLines

+
+ +

328

+
+ +

R/W

+
+ + + + + +
+

Copyright 33432 R/W

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

DataType

+
+ +

32996

+
+ +

R

+
+ +

obsoleted by SampleFormat tag

+
+ +

DateTime

+
+ +

306

+
+ +

R/W

+
+ +

DocumentName

+
+ +

269

+
+ +

R/W

+
+ +

DotRange

+
+ +

336

+
+ +

R/W

+
+ +

ExtraSamples

+
+ +

338

+
+ +

R/W

+
+ +

lots

+
+ +

FaxRecvParams

+
+ +

34908

+
+ +

R/W

+
+ +

FaxSubAddress

+
+ +

34909

+
+ +

R/W

+
+ +

FaxRecvTime

+
+ +

34910

+
+ +

R/W

+
+ +

FillOrder

+
+ +

266

+
+ +

R/W

+
+ +

control bit order

+
+ +

FreeByteCounts

+
+ +

289

+
+
+ +

parsed but ignored

+
+ +

FreeOffsets

+
+ +

288

+
+
+ +

parsed but ignored

+
+ +

GrayResponseCurve

+
+ +

291

+
+
+ +

parsed but ignored

+
+ +

GrayResponseUnit

+
+ +

290

+
+
+ +

parsed but ignored

+
+ +

Group3Options

+
+ +

292

+
+ +

R/W

+
+ +

used by Group 3 codec

+
+ +

Group4Options

+
+ +

293

+
+ +

R/W

+
+ +

HostComputer

+
+ +

316

+
+ +

R/W

+
+ +

ImageDepth

+
+ +

32997

+
+ +

R/W

+
+ +

tile/strip calculations

+
+ +

ImageDescription

+
+ +

270

+
+ +

R/W

+
+ +

ImageLength

+
+ +

257

+
+ +

R/W

+
+ +

lots

+
+ +

ImageWidth

+
+ +

256

+
+ +

R/W

+
+ +

lots

+
+ +

InkNames

+
+ +

333

+
+ +

R/W

+
+ +

InkSet

+
+ +

332

+
+ +

R/W

+
+ +

JPEGTables

+
+ +

347

+
+ +

R/W

+
+ +

used by JPEG codec

+
+ +

Make

+
+ +

271

+
+ +

R/W

+
+ +

Matteing

+
+ +

32995

+
+ +

R

+
+ +

obsoleted by ExtraSamples tag

+
+ +

MaxSampleValue

+
+ +

281

+
+ +

R/W

+
+ +

MinSampleValue

+
+ +

280

+
+ +

R/W

+
+ +

Model

+
+ +

272

+
+ +

R/W

+
+ +

NewSubFileType

+
+ +

254

+
+ +

R/W

+
+ +

called SubFileType in spec

+
+ +

NumberOfInks

+
+ +

334

+
+ +

R/W

+
+ +

Orientation

+
+ +

274

+
+ +

R/W

+
+ +

PageName

+
+ +

285

+
+ +

R/W

+
+ +

PageNumber

+
+ +

297

+
+ +

R/W

+
+ +

PhotometricInterpretation

+
+ +

262

+
+ +

R/Wused by Group 3 and JPEG codecs

+
+ +

PlanarConfiguration

+
+ +

284

+
+ +

R/W

+
+ +

data i/o

+
+ +

Predictor

+
+ +

317

+
+ +

R/W

+
+ +

used by LZW and Deflate codecs

+
+ +

PrimaryChromacities

+
+ +

319

+
+ +

R/W

+
+ +

ReferenceBlackWhite

+
+ +

532

+
+ +

R/W

+
+ +

ResolutionUnit

+
+ +

296

+
+ +

R/W

+
+ +

used by Group 3 codec

+
+ +

RowsPerStrip

+
+ +

278

+
+ +

R/W

+
+ +

data i/o

+
+ +

SampleFormat

+
+ +

339

+
+ +

R/W

+
+ +

SamplesPerPixel

+
+ +

277

+
+ +

R/W

+
+ +

lots

+
+ +

SMinSampleValue

+
+ +

340

+
+ +

R/W

+
+ +

SMaxSampleValue

+
+ +

341

+
+ +

R/W

+
+ +

Software

+
+ +

305

+
+ +

R/W

+
+ +

StoNits

+
+ +

37439

+
+ +

R/W

+
+ +

StripByteCounts

+
+ +

279

+
+ +

R/W

+
+ +

data i/o

+
+ +

StripOffsets

+
+ +

273

+
+ +

R/W

+
+ +

data i/o

+
+ +

SubFileType

+
+ +

255

+
+ +

R/W

+
+ +

called OSubFileType in spec

+
+ +

TargetPrinter

+
+ +

337

+
+ +

R/W

+
+ +

Thresholding

+
+ +

263

+
+ +

R/W

+
+
+ +

TileByteCounts

+
+ +

324

+
+ +

R/W

+
+ +

data i/o

+
+ +

TileDepth

+
+ +

32998

+
+ +

R/W

+
+ +

tile/strip calculations

+
+ +

TileLength

+
+ +

323

+
+ +

R/W

+
+ +

data i/o

+
+ +

TileOffsets

+
+ +

324

+
+ +

R/W

+
+ +

data i/o

+
+ +

TileWidth

+
+ +

322

+
+ +

R/W

+
+ +

data i/o

+
+ +

TransferFunction

+
+ +

301

+
+ +

R/W

+
+ +

WhitePoint

+
+ +

318

+
+ +

R/W

+
+ +

XPosition

+
+ +

286

+
+ +

R/W

+
+ +

XResolution

+
+ +

282

+
+ +

R/W

+
+ +

YCbCrCoefficients

+
+ +

529

+
+ +

R/W

+
+ +

used by TIFFRGBAImage support

+
+ +

YCbCrPositioning

+
+ +

531

+
+ +

R/W

+
+ +

tile/strip size calulcations

+
+ +

YCbCrSubsampling

+
+ +

530

+
+ +

R/W

+
+ +

YPosition

+
+ +

286

+
+ +

R/W

+
+ +

YResolution

+
+ +

283

+
+ +

R/W

+
+ +

used by Group 3 codec

+
+ +

PSEUDO TAGS

+ + + + + +
+

In addition to the normal TIFF tags the +library supports a collection of tags whose values lie in a +range outside the valid range of TIFF tags. These +tags are termed pseud-tags and are used to control +various codec-specific functions within the library. The +table below summarizes the defined pseudo-tags.

+ +
Tag Name                Codec  R/W  Library Use/Notes
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

TIFFTAG_FAXMODE

+
+ +

G3

+
+ +

R/W

+
+ +

general codec operation

+
+ +

TIFFTAG_FAXFILLFUNC

+
+ +

G3/G4

+
+ +

R/W

+
+ +

bitmap fill function

+
+ +

TIFFTAG_JPEGQUALITY

+
+ +

JPEG

+
+ +

R/W

+
+ +

compression quality control

+
+ +

TIFFTAG_JPEGCOLORMODE

+
+ +

JPEG

+
+ +

R/W

+
+ +

control colorspace conversions

+
+ +

TIFFTAG_JPEGTABLESMODE

+
+ +

JPEG

+
+ +

R/W

+
+ +

control contents of JPEGTables tag

+
+ +

TIFFTAG_ZIPQUALITY

+
+ +

Deflate

+
+ +

R/Wcompression quality level

+
+ +

TIFFTAG_PIXARLOGDATAFMT

+
+ +

PixarLog

+
+ +

R/Wuser data format

+
+ +

TIFFTAG_PIXARLOGQUALITY

+
+ +

PixarLog

+
+ +

R/Wcompression quality level

+
+ +

TIFFTAG_SGILOGDATAFMT

+
+ +

SGILog

+
+ +

R/W

+
+ +

user data format

+
+ + + + + +
+

TIFFTAG_FAXMODE

+ + + + + +
+

Control the operation of the Group 3 codec. Possible +values (independent bits that can be combined by +or’ing them together) are: FAXMODE_CLASSIC (enable +old-style format in which the RTC is written at +the end of the last strip), FAXMODE_NORTC (opposite of +FAXMODE_CLASSIC; also called FAXMODE_CLASSF), FAXMODE_NOEOL +(do not write EOL codes at the start of each row +of data), FAXMODE_BYTEALIGN (align each encoded row to an +8-bit boundary), FAXMODE_WORDALIGN (align each encoded row +to an 16-bit boundary), The default value is dependent on +the compression scheme; this pseudo-tag is used by the +various G3 and G4 codecs to share code.

+
+ + + + + +
+

TIFFTAG_FAXFILLFUNC

+ + + + + +
+

Control the function used to convert arrays of black +and white runs to packed bit arrays. This hook can be used +to image decoded scanlines in multi-bit depth rasters (e.g. +for display in colormap mode) or for other purposes. The +default value is a pointer to a builtin function that images +packed bilevel data.

+
+ + + + + +
+

TIFFTAG_IPTCNEWSPHOTO

+ + + + + +
+

Tag contaings image metadata per the IPTC newsphoto +spec: Headline, captioning, credit, etc... Used by most wire +services.

+
+ + + + + +
+

TIFFTAG_PHOTOSHOP

+ + + + + +
+

Tag contains Photoshop captioning information and +metadata. Photoshop uses in parallel and redundantly +alongside IPTCNEWSPHOTO information.

+
+ + + + + +
+

TIFFTAG_JPEGQUALITY

+ + + + + +
+

Control the compression quality level used in the +baseline algorithm. Note that quality levels are in the +range 0-100 with a default value of 75.

+
+ + + + + +
+

TIFFTAG_JPEGCOLORMODE

+ + + + + +
+

Control whether or not conversion is done between +RGB and YCbCr colorspaces. Possible values are: +JPEGCOLORMODE_RAW (do not convert), and JPEGCOLORMODE_RGB +(convert to/from RGB) The default value is +JPEGCOLORMODE_RAW.

+
+ + + + + +
+

TIFFTAG_JPEGTABLESMODE

+ + + + + +
+

Control the information written in the +JPEGTables tag. Possible values (independent bits +that can be combined by or’ing them together) are: +JPEGTABLESMODE_QUANT (include quantization tables), and +JPEGTABLESMODE_HUFF (include Huffman encoding tables). The +default value is +JPEGTABLESMODE_QUANT|JPEGTABLESMODE_HUFF.

+
+ + + + + +
+

TIFFTAG_ZIPQUALITY

+ + + + + +
+

Control the compression technique used by the +Deflate codec. Quality levels are in the range 1-9 with +larger numbers yielding better compression at the cost of +more computation. The default quality level is 6 which +yields a good time-space tradeoff.

+
+ + + + + +
+

TIFFTAG_PIXARLOGDATAFMT

+ + + + + +
+

Control the format of user data passed in to +the PixarLog codec when encoding and passed out from +when decoding. Possible values are: PIXARLOGDATAFMT_8BIT for +8-bit unsigned pixels, PIXARLOGDATAFMT_8BITABGR for 8-bit +unsigned ABGR-ordered pixels, PIXARLOGDATAFMT_11BITLOG for +11-bit log-encoded raw data, PIXARLOGDATAFMT_12BITPICIO for +12-bit PICIO-compatible data, PIXARLOGDATAFMT_16BIT for +16-bit signed samples, and PIXARLOGDATAFMT_FLOAT for 32-bit +IEEE floating point samples.

+
+ + + + + +
+

TIFFTAG_PIXARLOGQUALITY

+ + + + + +
+

Control the compression technique used by the +PixarLog codec. This value is treated identically to +TIFFTAG_ZIPQUALITY; see the above description.

+
+ + + + + +
+

TIFFTAG_SGILOGDATAFMT

+ + + + + +
+

Control the format of client data passed in +to the SGILog codec when encoding and passed out from +when decoding. Possible values are: SGILOGDATAFMT_FLTXYZ for +converting between LogLuv and 32-bit IEEE floating valued +XYZ pixels, SGILOGDATAFMT_16BITLUV for 16-bit encoded Luv +pixels, SGILOGDATAFMT_32BITRAW and SGILOGDATAFMT_24BITRAW +for no conversion of data, SGILOGDATAFMT_8BITRGB for +returning 8-bit RGB data (valid only when decoding +LogLuv-encoded data), SGILOGDATAFMT_FLTY for converting +between LogL and 32-bit IEEE floating valued Y pixels, +SGILOGDATAFMT_16BITL for 16-bit encoded L pixels, and +SGILOGDATAFMT_8BITGRY for returning 8-bit greyscale data +(valid only when decoding LogL-encoded data).

+
+ +

DIAGNOSTICS

+ + + + + +
+

All error messages are directed through the +TIFFError routine. By default messages are directed +to stderr in the form: module: message\n. +Warning messages are likewise directed through the +TIFFWarning routine.

+
+ +

SEE ALSO

+ + + + + +
+

fax2tiff(1), gif2tiff(1), +pal2rgb(1), ppm2tiff(1), rgb2ycbcr(1), +ras2tiff(1), raw2tiff(1), sgi2tiff(1), +tiff2bw(1), tiffdither(1), tiffdump(1), +tiffcp(1), tiffcmp(1), tiffgt(1), +tiffinfo(1), tiffmedian(1), +tiffsplit(1), tiffsv(1).

+ +

Tag Image File Format Specification — +Revision 6.0, an Aldus Technical Memorandum.

+ +

The Spirit of TIFF Class F, an appendix to +the TIFF 5.0 specification prepared by Cygnet +Technologies.

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+ +

BUGS

+ + + + + +
+

The library does not support multi-sample images +where some samples have different bits/sample.

+ +

The library does not support random access to +compressed data that is organized with more than one row per +tile or strip.

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/pal2rgb.1.html b/src/3rdparty/libtiff/html/man/pal2rgb.1.html new file mode 100644 index 0000000..5c3a679 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/pal2rgb.1.html @@ -0,0 +1,189 @@ + + + + + + +PAL2RGB + + + +

PAL2RGB

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

pal2rgb − convert a palette color +TIFF image to a full color image

+
+ +

SYNOPSIS

+ + + + + +
+

pal2rgb [ options ] input.tif +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

Pal2rgb converts a palette color +TIFF image to a full color image by applying +the colormap of the palette image to each sample to generate +a full color RGB image.

+
+ +

OPTIONS

+ + + + + +
+

Options that affect the interpretation of input data +are:

+
+ + + + + + + + +
+ +

−C

+
+ +

This option overrides the default behavior of +pal2rgb in determining whether or not colormap +entries contain 16-bit or 8-bit values. By default the +colormap is inspected and if no colormap entry greater than +255 is found, the colormap is assumed to have only 8-bit +values; otherwise 16-bit values (as required by the +TIFF specification) are assumed. The +−C option can be used to explicitly specify the +number of bits for colormap entries: −C 8 for +8-bit values, −C 16 for 16-bit values.

+
+
+ + + + + +
+

Options that affect the output file format are:

+
+ + + + + + + + + + + + + + + + + + + + +
+ +

−p

+
+ +

Explicitly select the planar configuration used in +organizing data samples in the output image: −p +contig for samples packed contiguously, and −p +separate for samples stored separately. By default +samples are packed.

+
+
+ +

−c

+
+ +

Use the specific compression algorithm to encoded image +data in the output file: −c packbits for +Macintosh Packbits, −c lzw for Lempel-Ziv & +Welch, −c zip for Deflate, −c none +for no compression. If no compression-related option is +specified, the input file’s compression algorithm is +used.

+
+
+ +

−r

+
+ +

Explicitly specify the number of rows in each strip of +the output file. If the −r option is not +specified, a number is selected such that each output strip +has approximately 8 kilobytes of data in it.

+
+
+ +

BUGS

+ + + + + +
+

Only 8-bit images are handled.

+
+ +

SEE ALSO

+ + + + + +
+

tiffinfo(1), tiffcp(1), +tiffmedian(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/ppm2tiff.1.html b/src/3rdparty/libtiff/html/man/ppm2tiff.1.html new file mode 100644 index 0000000..60e56e1 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/ppm2tiff.1.html @@ -0,0 +1,141 @@ + + + + + + +PPM2TIFF + + + +

PPM2TIFF

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

ppm2tiff − create a TIFF file from +PPM, PGM and PBM image +files

+
+ +

SYNOPSIS

+ + + + + +
+

ppm2tiff [ options ] [ input.ppm ] +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

ppm2tiff converts a file in the PPM, +PGM and PBM image formats to +TIFF. By default, the TIFF +image is created with data samples packed +(PlanarConfiguration=1), compressed with the Packbits +algorithm (Compression=32773), and with each strip no +more than 8 kilobytes. These characteristics can be +overridden, or explicitly specified with the options +described below

+ +

If the PPM file contains greyscale data, +then the PhotometricInterpretation tag is set to 1 +(min-is-black), otherwise it is set to 2 (RGB).

+ +

If no PPM file is specified on the command +line, ppm2tiff will read from the standard input.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + +
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: none for no compression, packbits for +PackBits compression (will be used by default), lzw +for Lempel-Ziv & Welch compression, jpeg for +baseline JPEG compression, zip for Deflate +compression, g3 for CCITT Group 3 (T.4) compression, +and g4 for CCITT Group 4 (T.6) compression.

+
+
+ +

−r

+
+ +

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+
+ +

−R

+
+ +

Mark the resultant image to have the specified X and Y +resolution (in dots/inch).

+
+
+ +

SEE ALSO

+ + + + + +
+

tiffinfo(1), tiffcp(1), +tiffmedian(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/ras2tiff.1.html b/src/3rdparty/libtiff/html/man/ras2tiff.1.html new file mode 100644 index 0000000..b0b8993 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/ras2tiff.1.html @@ -0,0 +1,139 @@ + + + + + + +RAS2TIFF + + + +

RAS2TIFF

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

ras2tiff − create a TIFF file from a +Sun rasterfile

+
+ +

SYNOPSIS

+ + + + + +
+

ras2tiff [ options ] input.ras +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

ras2tiff converts a file in the Sun rasterfile +format to TIFF. By default, the +TIFF image is created with data samples +packed (PlanarConfiguration=1), compressed with the +Lempel-Ziv & Welch algorithm (Compression=5), and +with each strip no more than 8 kilobytes. These +characteristics can overridden, or explicitly specified with +the options described below.

+ +

Any colormap information in the rasterfile is carried +over to the TIFF file by including a +Colormap tag in the output file. If the rasterfile +has a colormap, the PhotometricInterpretation tag is +set to 3 (palette); otherwise it is set to 2 (RGB) if the +depth is 24 or 1 (min-is-black) if the depth is not 24.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + +
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: −c none for no compression, −c +packbits for the PackBits compression algorithm, +−c jpeg for the baseline JPEG compression +algorithm, −c zip for the Deflate compression +algorithm, and −c lzw for Lempel-Ziv & +Welch (the default).

+
+
+ +

−r

+
+ +

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+
+ +

BUGS

+ + + + + +
+

Does not handle all possible rasterfiles. In particular, +ras2tiff does not handle run-length encoded +images.

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffinfo(1), tiffcp(1), +tiffmedian(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/raw2tiff.1.html b/src/3rdparty/libtiff/html/man/raw2tiff.1.html new file mode 100644 index 0000000..360eb27 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/raw2tiff.1.html @@ -0,0 +1,510 @@ + + + + + + +RAW2TIFF + + + +

RAW2TIFF

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+GUESSING THE IMAGE GEOMETRY
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

raw2tiff − create a TIFF file from a +raw data

+
+ +

SYNOPSIS

+ + + + + +
+

raw2tiff [ options ] input.raw +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

raw2tiff converts a raw byte sequence into +TIFF. By default, the TIFF +image is created with data samples packed +(PlanarConfiguration=1), compressed with the PackBits +algorithm (Compression=32773), and with each strip no +more than 8 kilobytes. These characteristics can overridden, +or explicitly specified with the options described +below.

+
+ +

OPTIONS

+ + + + + +
+

−H number

+ + + + + +
+

size of input image file header in bytes (0 by default). +This amount of data just will be skipped from the start of +file while reading.

+
+ + + + + +
+

−w number

+ + + + + +
+

width of input image in pixels (can be guessed, see +GUESSING THE IMAGE GEOMETRY +below).

+
+ + + + + +
+

−l number

+ + + + + +
+

length of input image in lines (can be guessed, see +GUESSING THE IMAGE GEOMETRY +below).

+
+ + + + + +
+

−b number

+ + + + + +
+

number of bands in input image (1 by default).

+
+ + + + + +
+

−d data_type

+ + + + + +
+

type of samples in input image, where data_type +may be:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

byte

+
+ +

8-bit unsigned integer (default),

+
+ +

short

+
+ +

16-bit unsigned integer,

+
+ +

long

+
+ +

32-bit unsigned integer,

+
+ +

sbyte

+
+ +

8-bit signed integer,

+
+ +

sshort

+
+ +

16-bit signed integer,

+
+ +

slong

+
+ +

32-bit signed integer,

+
+ +

float

+
+ +

32-bit IEEE floating point,

+
+ +

double

+
+ +

64-bit IEEE floating point.

+
+ + + + + +
+

−i config

+ + + + + +
+

type of samples interleaving in input image, where +config may be:

+ + + + + + + + + + +
+ +

pixel

+
+ +

pixel interleaved data (default),

+
+ +

band

+
+ +

band interleaved data.

+
+ + + + + +
+

−p photo

+ + + + + +
+

photometric interpretation (color space) of the input +image, where photo may be:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

miniswhite

+
+ +

white color represented with 0 value,

+
+ +

minisblack

+
+ +

black color represented with 0 value (default),

+
+ +

rgb

+
+ +

image has RGB color model,

+
+ +

cmyk

+
+ +

image has CMYK (separated) color model,

+
+ +

ycbcr

+
+ +

image has YCbCr color model,

+
+ +

cielab

+
+ +

image has CIE L*a*b color model,

+
+ +

icclab

+
+ +

image has ICC L*a*b color model,

+
+ +

itulab

+
+ +

image has ITU L*a*b color model.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−s

+
+ +

swap bytes fetched from the input file.

+
+
+ +

−L

+
+ +

input data has LSB2MSB bit order (default).

+
+
+ +

−M

+
+ +

input data has MSB2LSB bit order.

+
+
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: −c none for no compression, −c +packbits for the PackBits compression algorithm (the +default), −c jpeg for the baseline JPEG +compression algorithm, −c zip for the Deflate +compression algorithm, and −c lzw for +Lempel-Ziv & Welch.

+
+
+ + + + + +
+

−r number

+ + + + + +
+

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+ +

GUESSING THE IMAGE GEOMETRY

+ + + + + +
+

raw2tiff can guess image width and height in case +one or both of these parameters are not specified. If you +omit one of those parameters, the complementary one will be +calculated based on the file size (taking into account +header size, number of bands and data type). If you omit +both parameters, the statistical approach will be used. +Utility will compute correlation coefficient between two +lines at the image center using several appropriate line +sizes and the highest absolute value of the coefficient will +indicate the right line size. That is why you should be +cautious with the very large images, because guessing +process may take a while (depending on your system +performance). Of course, the utility can’t guess the +header size, number of bands and data type, so it should be +specified manually. If you don’t know anything about +your image, just try with the several combinations of those +options.

+ +

There is no magic, it is just a mathematical statistics, +so it can be wrong in some cases. But for most ordinary +images guessing method will work fine.

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffcp(1), +tiffmedian(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/rgb2ycbcr.1.html b/src/3rdparty/libtiff/html/man/rgb2ycbcr.1.html new file mode 100644 index 0000000..5cff15f --- /dev/null +++ b/src/3rdparty/libtiff/html/man/rgb2ycbcr.1.html @@ -0,0 +1,155 @@ + + + + + + +RGB2YCBCR + + + +

RGB2YCBCR

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

rgb2ycbcr − convert non-YCbCr TIFF +images to a YCbCr TIFF image

+
+ +

SYNOPSIS

+ + + + + +
+

rgb2ycbcr [ options ] src1.tif src2.tif +... dst.tif

+
+ +

DESCRIPTION

+ + + + + +
+

rgb2ycbcr converts RGB color, +greyscale, or bi-level TIFF images to YCbCr +images by transforming and sampling pixel data. If multiple +files are specified on the command line each source file is +converted to a separate directory in the destination +file.

+ +

By default, chrominance samples are created by sampling 2 +by 2 blocks of luminance values; this can be changed with +the −h and −v options. Output data +are compressed with the PackBits compression +scheme, by default; an alternate scheme can be selected with +the −c option. By default, output data are +compressed in strips with the number of rows in each strip +selected so that the size of a strip is never more than 8 +kilobytes; the −r option can be used to +explicitly set the number of rows per strip.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: −c none for no compression, −c +packbits for the PackBits compression algorithm (the +default), −c jpeg for the JPEG compression +algorithm, −c zip for the deflate compression +algorithm, and −c lzw for Lempel-Ziv & +Welch.

+
+
+ +

−h

+
+ +

Set the horizontal sampling dimension to one of: 1, 2 +(default), or 4.

+
+
+ +

−r

+
+ +

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+
+ +

−v

+
+ +

Set the vertical sampling dimension to one of: 1, 2 +(default), or 4.

+
+
+ +

SEE ALSO

+ + + + + +
+

tiffinfo(1), tiffcp(1), +libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/sgi2tiff.1.html b/src/3rdparty/libtiff/html/man/sgi2tiff.1.html new file mode 100644 index 0000000..fe90d64 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/sgi2tiff.1.html @@ -0,0 +1,147 @@ + + + + + + +SGI2TIFF + + + +

SGI2TIFF

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

sgi2tiff − create a TIFF file from +an SGI image file

+
+ +

SYNOPSIS

+ + + + + +
+

sgi2tiff [ options ] input.rgb +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

sgi2tiff converts a file in the SGI +image format to TIFF. By default, the +TIFF image is created with data samples +packed (PlanarConfiguration=1), compressed with the +Lempel-Ziv & Welch algorithm (Compression=5), and +with each strip no more than 8 kilobytes. These +characteristics can overridden, or explicitly specified with +the options described below.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + +
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: −c none for no compression, −c +packbits for the PackBits compression algorithm), +−c jpeg for the baseline JPEG compression +algorithm, −c zip for the Deflate compression +algorithm, and −c lzw for Lempel-Ziv & +Welch (the default).

+
+
+ +

−p

+
+ +

Explicitly select the planar configuration used in +organizing data samples in the output image: −p +contig for samples packed contiguously, and −p +separate for samples stored separately. By default +samples are packed.

+
+
+ +

−r

+
+ +

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+
+ +

BUGS

+ + + + + +
+

Does not record colormap information.

+
+ +

SEE ALSO

+ + + + + +
+

tiffinfo(1), tiffcp(1), +tiffmedian(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/thumbnail.1.html b/src/3rdparty/libtiff/html/man/thumbnail.1.html new file mode 100644 index 0000000..fabc601 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/thumbnail.1.html @@ -0,0 +1,148 @@ + + + + + + +THUMBNAIL + + + +

THUMBNAIL

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

thumbnail − create a TIFF file with +thumbnail images

+
+ +

SYNOPSIS

+ + + + + +
+

thumbnail [ options ] input.tif +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

thumbnail is a program written to show how one +might use the SubIFD tag (#330) to store thumbnail images. +thumbnail copies a TIFF Class F +facsimile file to the output file and for each image an +8-bit greyscale thumbnail sketch. The output file +contains the thumbnail image with the associated +full-resolution page linked below with the SubIFD tag.

+ +

By default, thumbnail images are 216 pixels wide by 274 +pixels high. Pixels are calculated by sampling and filtering +the input image with each pixel value passed through a +contrast curve.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + +
+ +

−w

+
+ +

Specify the width of thumbnail images in pixels.

+
+
+ +

−h

+
+ +

Specify the height of thumbnail images in pixels.

+
+
+ +

−c

+
+ +

Specify a contrast curve to apply in generating the +thumbnail images. By default pixels values are passed +through a linear contrast curve that simply maps the pixel +value ranges. Alternative curves are: exp50 for a 50% +exponential curve, exp60 for a 60% exponential curve, +exp70 for a 70% exponential curve, exp80 for a +80% exponential curve, exp90 for a 90% exponential +curve, exp for a pure exponential curve, +linear for a linear curve.

+
+
+ +

BUGS

+ + + + + +
+

There are no options to control the format of the saved +thumbnail images.

+
+ +

SEE ALSO

+ + + + + +
+

tiffdump(1), tiffgt(1), tiffinfo(1), +libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiff2bw.1.html b/src/3rdparty/libtiff/html/man/tiff2bw.1.html new file mode 100644 index 0000000..6b6accf --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiff2bw.1.html @@ -0,0 +1,161 @@ + + + + + + +TIFF2BW + + + +

TIFF2BW

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiff2bw − convert a color TIFF image +to greyscale

+
+ +

SYNOPSIS

+ + + + + +
+

tiff2bw [ options ] input.tif +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

Tiff2bw converts an RGB or Palette +color TIFF image to a greyscale image by +combining percentages of the red, green, and blue channels. +By default, output samples are created by taking 28% of the +red channel, 59% of the green channel, and 11% of the blue +channel. To alter these percentages, the −R, +−G, and −B options may be +used.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: −c none for no compression, −c +packbits for the PackBits compression algorithm, +−c zip for the Deflate compression algorithm, +−c g3 for the CCITT Group 3 compression +algorithm, −c g4 for the CCITT Group 4 +compression algorithm, and −c lzw for +Lempel-Ziv & Welch (the default).

+
+
+ +

−r

+
+ +

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+
+ +

−R

+
+ +

Specify the percentage of the red channel to use +(default 28).

+
+
+ +

−G

+
+ +

Specify the percentage of the green channel to use +(default 59).

+
+
+ +

−B

+
+ +

Specify the percentage of the blue channel to use +(default 11).

+
+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffinfo(1), tiffcp(1), +tiffmedian(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiff2pdf.1.html b/src/3rdparty/libtiff/html/man/tiff2pdf.1.html new file mode 100644 index 0000000..80e0d55 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiff2pdf.1.html @@ -0,0 +1,609 @@ + + + + + + +TIFF2PDF + + + +

TIFF2PDF

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+EXAMPLES
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiff2pdf − convert a TIFF image to a PDF +document

+
+ +

SYNOPSIS

+ + + + + +
+

tiff2pdf [ options ] input.tiff

+
+ +

DESCRIPTION

+ + + + + +
+

tiff2pdf opens a TIFF image and writes a PDF +document to standard output.

+ +

The program converts one TIFF file to one PDF file, +including multiple page TIFF files, tiled TIFF files, black +and white. grayscale, and color TIFF files that contain data +of TIFF photometric interpretations of bilevel, grayscale, +RGB, YCbCr, CMYK separation, and ICC L*a*b* as supported by +libtiff and PDF.

+ +

If you have multiple TIFF files to convert into one PDF +file then use tiffcp or other program to concatenate +the files into a multiple page TIFF file. If the input TIFF +file is of huge dimensions (greater than 10000 pixels height +or width) convert the input image to a tiled TIFF if it is +not already.

+ +

The standard output is standard output. Set the output +file name with the −o output.pdf +option.

+ +

All black and white files are compressed into a single +strip CCITT G4 Fax compressed PDF, unless tiled, where tiled +black and white images are compressed into tiled CCITT G4 +Fax compressed PDF, libtiff CCITT support is +assumed.

+ +

Color and grayscale data can be compressed using either +JPEG compression, ITU-T T.81, or Zip/Deflate LZ77 +compression. Set the compression type using the +−j or −z options. JPEG compression +support requires that libtiff be configured with JPEG +support, and Zip/Deflate compression support requires that +libtiff be configured with Zip support, in +tiffconf.h. Use only one or the other of −j and +−z.

+ +

If the input TIFF contains single strip CCITT G4 Fax +compressed information, then that is written to the PDF file +without transcoding, unless the options of no compression +and no passthrough are set, −d and +−n.

+ +

If the input TIFF contains JPEG or single strip +Zip/Deflate compressed information, and they are configured, +then that is written to the PDF file without transcoding, +unless the options of no compression and no passthrough are +set.

+ +

The default page size upon which the TIFF image is placed +is determined by the resolution and extent of the image +data. Default values for the TIFF image resolution can be +set using the −x and −y options. +The page size can be set using the −p option +for paper size, or −w and −l for +paper width and length, then each page of the TIFF image is +centered on its page. The distance unit for default +resolution and page width and length can be set by the +−u option, the default unit is inch.

+ +

Various items of the output document information can be +set with the −e, −c, +−a, −t, −s, and +−k options. Setting the argument of the option +to "" for these tags causes the relevant document +information field to be not written. Some of the document +information values otherwise get their information from the +input TIFF image, the software, author, document name, and +image description.

+ +

The Portable Document Format (PDF) specification is +copyrighted by Adobe Systems, Incorporated.

+
+ +

OPTIONS

+ + + + + +
+

−o output-file

+ + + + + +
+

Set the output to go to file. output-file

+
+ + + + + + + + + + + + +
+ +

−j

+
+ +

Compress with JPEG (requires libjpeg configured +with libtiff).

+
+ +

−z

+
+ +

Compress with Zip/Deflate (requires zlib +configured with libtiff).

+
+ + + + + +
+

−q quality

+ + + + + +
+

Set the compression quality, 1-100 for JPEG.

+
+ + + + + + + + + + + + + + + + + + + + + + +
+ +

−n

+
+ +

Do not allow data to be converted without uncompressing, +no compressed data passthrough.

+
+ +

−b

+
+ +

Set PDF ‘‘Interpolate’’ user +preference.

+
+ +

−d

+
+ +

Do not compress (decompress).

+
+ +

−i

+
+ +

Invert colors.

+
+ + + + + +
+

−p paper-size

+ + + + + +
+

Set paper size, e.g., letter, legal, +A4.

+
+ + + + + +
+

−u [i|m]

+ + + + + +
+

Set distance unit, i for inch, m for +centimeter.

+
+ + + + + +
+

−w width

+ + + + + +
+

Set width in units.

+
+ + + + + +
+

−l length

+ + + + + +
+

Set length in units.

+
+ + + + + +
+

−x xres

+ + + + + +
+

Set x/width resolution default.

+
+ + + + + +
+

−y yres

+ + + + + +
+

Set y/length resolution default.

+
+ + + + + +
+

−r [d|o]

+ + + + + +
+

Set d for resolution default for images without +resolution, o for resolution override for all +images.

+
+ + + + + + + + +
+ +

−f

+
+ +

Set PDF ‘‘Fit Window’’ user +preference.

+
+
+ + + + + +
+

−e YYYYMMDDHHMMSS

+ + + + + +
+

Set document information date, overrides image or current +date/time default, YYYYMMDDHHMMSS.

+
+ + + + + +
+

−c creator

+ + + + + +
+

Set document information creator, overrides image +software default.

+
+ + + + + +
+

−a author

+ + + + + +
+

Set document information author, overrides image artist +default.

+
+ + + + + +
+

−t title

+ + + + + +
+

Set document information title, overrides image document +name default.

+
+ + + + + +
+

−s subject

+ + + + + +
+

Set document information subject, overrides image image +description default.

+
+ + + + + +
+

−k keywords

+ + + + + +
+

Set document information keywords.

+
+ + + + + + + + +
+ +

−h

+
+ +

List usage reminder to stderr and exit.

+
+
+ +

EXAMPLES

+ + + + + +
+

The following example would generate the file output.pdf +from input.tiff.

+ + + + + +
+
tiff2pdf −o output.pdf input.tiff
+
+
+ + + + + + +
+

The following example would generate PDF output from +input.tiff and write it to standard output.

+ + + + + +
+
tiff2pdf input.tiff
+
+
+ + + + + + +
+

The following example would generate the file output.pdf +from input.tiff, putting the image pages on a letter sized +page, compressing the output with JPEG, with JPEG quality +75, setting the title to +‘‘Document’’, and setting the +‘‘Fit Window’’ option.

+ + + + + +
+
tiff2pdf −p letter −j −q 75 −t "Document" −f −o output.pdf input.tiff
+
+
+ +

BUGS

+ + + + + + +
+

Please report bugs via the web interface at

+
+ + + + + +
+ +

http://bugzilla.remotesensing.org/enter_bug.cgi?product=libtiff

+
+ +

SEE ALSO

+ + + + + +
+

libtiff(3), tiffcp(1), +tiff2ps(1)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiff2ps.1.html b/src/3rdparty/libtiff/html/man/tiff2ps.1.html new file mode 100644 index 0000000..e13bb8f --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiff2ps.1.html @@ -0,0 +1,532 @@ + + + + + + +TIFF2PS + + + +

TIFF2PS

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+EXAMPLES
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiff2ps − convert a TIFF image to +PostScript™

+
+ +

SYNOPSIS

+ + + + + +
+

tiff2ps [ options ] input.tif +...

+
+ +

DESCRIPTION

+ + + + + +
+

tiff2ps reads TIFF images and +writes PostScript or Encapsulated PostScript (EPS) on the +standard output. By default, tiff2ps writes +Encapsulated PostScript for the first image in the specified +TIFF image file.

+ +

By default, tiff2ps will generate PostScript that +fills a printed area specified by the TIFF +tags in the input file. If the file does not contain +XResolution or YResolution tags, then the +printed area is set according to the image dimensions. The +−w and −h options (see below) can +be used to set the dimensions of the printed area in inches; +overriding any relevant TIFF tags.

+ +

The PostScript generated for RGB, palette, +and CMYK images uses the colorimage +operator. The PostScript generated for greyscale and bilevel +images uses the image operator. When the +colorimage operator is used, PostScript code to +emulate this operator on older PostScript printers is also +generated. Note that this emulation code can be very +slow.

+ +

Color images with associated alpha data are composited +over a white background.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−1

+
+ +

Generate PostScript Level 1 (the default).

+
+
+ +

−2

+
+ +

Generate PostScript Level 2.

+
+
+ +

−3

+
+ +

Generate PostScript Level 3. It basically allows one to +use the /flateDecode filter for ZIP compressed TIFF +images.

+
+
+ +

−a

+
+ +

Generate output for all IFDs (pages) in the input +file.

+
+
+ +

−b

+
+ +

Specify the bottom margin for the output (in inches). +This does not affect the height of the printed image.

+
+
+ +

−c

+
+ +

Center the image in the output. This option only shows +an effect if both the −w and the +−h option are given.

+
+
+ +

−d

+
+ +

Set the initial TIFF directory to the +specified directory number. (NB: Directories are numbered +starting at zero.) This option is useful for selecting +individual pages in a multi-page (e.g. facsimile) file.

+
+
+ +

−e

+
+ +

Force the generation of Encapsulated PostScript (implies +−z).

+
+
+ +

−h

+
+ +

Specify the vertical size of the printed area (in +inches).

+
+
+ +

−H

+
+ +

Specify the maximum height of image (in inches). Images +with larger sizes will be split in several pages. Option +−L may be used for specifying size of split +images overlapping.

+
+
+ +

−i

+
+ +

Enable/disable pixel interpolation. This option requires +a single numeric value: zero to disable pixel interpolation +and non-zero to enable. The default is enabled.

+
+
+ +

−L

+
+ +

Specify the size of overlapping for split images (in +inches). Used in conjunction with −H +option.

+
+
+ +

−l

+
+ +

Specify the left margin for the output (in inches). This +does not affect the width of the printed image.

+
+
+ +

−m

+
+ +

Where possible render using the imagemask +PostScript operator instead of the image operator. +When this option is specified tiff2ps will use +imagemask for rendering 1 bit deep images. If this +option is not specified or if the image depth is greater +than 1 then the image operator is used.

+
+
+ +

−o

+
+ +

Set the initial TIFF directory to the +IFD at the specified file offset. This option +is useful for selecting thumbnail images and the like which +are hidden using the SubIFD tag.

+
+
+ +

−p

+
+ +

Force the generation of (non-Encapsulated) +PostScript.

+
+
+ +

−r

+
+ +

Rotate image by 180 degrees.

+
+
+ +

−s

+
+ +

Generate output for a single IFD (page) in the input +file.

+
+
+ +

−w

+
+ +

Specify the horizontal size of the printed area (in +inches).

+
+
+ +

−x

+
+ +

Override resolution units specified in the TIFF as +centimeters.

+
+
+ +

−y

+
+ +

Override resolution units specified in the TIFF as +inches.

+
+
+ +

−z

+
+ +

When generating PostScript Level 2, data is scaled so +that it does not image into the deadzone on a page +(the outer margin that the printing device is unable to +mark). This option suppresses this behavior. When PostScript +Level 1 is generated, data is imaged to the entire printed +page and this option has no affect.

+
+
+ +

EXAMPLES

+ + + + + +
+

The following generates PostScript Level 2 for all pages +of a facsimile:

+ + + + + +
+
tiff2ps −a2 fax.tif | lpr
+
+
+ + + + + + +
+

Note also that if you have version 2.6.1 or newer of +Ghostscript then you can efficiently preview facsimile +generated with the above command.

+ +

To generate Encapsulated PostScript for a the image at +directory 2 of an image use:

+ + + + + +
+
tiff2ps −d 1 foo.tif
+
+
+ + + + + + +
+

(Notice that directories are numbered starting at +zero.)

+ +

If you have a long image, it may be split in several +pages:

+ + + + + +
+
tiff2ps −h11 −w8.5 −H14 −L.5 foo.tif > foo.ps
+
+
+ + + + + + +
+

The page size is set to 8.5x11 by −w and +−h options. We will accept a small amount of +vertical compression, so −H set to 14. Any +pages between 11 and 14 inches will be fit onto one page. +Pages longer than 14 inches are cut off at 11 and continued +on the next page. The −L.5 option says to +repeat a half inch on the next page (to improve +readability).

+
+ +

BUGS

+ + + + + +
+

Because PostScript does not support the notion of a +colormap, 8-bit palette images produce 24-bit PostScript +images. This conversion results in output that is six times +bigger than the original image and which takes a long time +to send to a printer over a serial line. Matters are even +worse for 4-, 2-, and 1-bit palette images.

+ +

Does not handle tiled images when generating PostScript +Level I output.

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffinfo(1), tiffcp(1), +tiffgt(1), tiffmedian(1), tiff2bw(1), +tiffsv(1), libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiff2rgba.1.html b/src/3rdparty/libtiff/html/man/tiff2rgba.1.html new file mode 100644 index 0000000..eec3968 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiff2rgba.1.html @@ -0,0 +1,162 @@ + + + + + + +TIFF2RGBA + + + +

TIFF2RGBA

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiff2rgba − convert a TIFF image to +RGBA color space

+
+ +

SYNOPSIS

+ + + + + +
+

tiff2rgba [ options ] input.tif +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

Tiff2rgba converts a wide variety of TIFF images +into an RGBA TIFF image. This includes the ability to +translate different color spaces and photometric +interpretation into RGBA, support for alpha blending, and +translation of many different bit depths into a 32bit RGBA +image.

+ +

Internally this program is implemented using the +TIFFReadRGBAImage() function, and it suffers any +limitations of that image. This includes limited support for +> 8 BitsPerSample images, and flaws with some esoteric +combinations of BitsPerSample, photometric interpretation, +block organization and planar configuration.

+ +

The generated images are stripped images with four +samples per pixel (red, green, blue and alpha) or if the +−n flag is used, three samples per pixel (red, +green, and blue). The resulting images are always planar +configuration contiguous. For this reason, this program is a +useful utility for transform exotic TIFF files into a form +ingestible by almost any TIFF supporting software.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−c

+
+ +

Specify a compression scheme to use when writing image +data: −c none for no compression (the default), +−c packbits for the PackBits compression +algorithm, −c zip for the Deflate compression +algorithm, −c jpeg for the JPEG compression +algorithm, and −c lzw for Lempel-Ziv & +Welch.

+
+
+ +

−r

+
+ +

Write data with a specified number of rows per strip; by +default the number of rows/strip is selected so that each +strip is approximately 8 kilobytes.

+
+
+ +

−b

+
+ +

Process the image one block (strip/tile) at a time +instead of by reading the whole image into memory at once. +This may be necessary for very large images on systems with +limited RAM.

+
+
+ +

−n

+
+ +

Drop the alpha component from the output file, producing +a pure RGB file. Currently this does not work if the +−b flag is also in effect.

+
+
+ +

SEE ALSO

+ + + + + +
+

tiff2bw(1), TIFFReadRGBAImage(3t), +libtiff(3)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffcmp.1.html b/src/3rdparty/libtiff/html/man/tiffcmp.1.html new file mode 100644 index 0000000..a9fca2f --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffcmp.1.html @@ -0,0 +1,156 @@ + + + + + + +TIFFCMP + + + +

TIFFCMP

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffcmp − compare two TIFF files

+
+ +

SYNOPSIS

+ + + + + +
+

tiffcmp [ options ] file1.tif +file2.tif

+
+ +

DESCRIPTION

+ + + + + +
+

Tiffcmp compares the tags and data in two files +created according to the Tagged Image File Format, Revision +6.0. The schemes used for compressing data in each file are +immaterial when data are compared−data are compared on +a scanline-by-scanline basis after decompression. Most +directory tags are checked; notable exceptions are: +GrayResponseCurve, ColorResponseCurve, and +ColorMap tags. Data will not be compared if any of +the BitsPerSample, SamplesPerPixel, or +ImageWidth values are not equal. By default, +tiffcmp will terminate if it encounters any +difference.

+
+ +

OPTIONS

+ + + + + + + + +
+ +

−l

+
+ +

List each byte of image data that differs between the +files.

+
+
+ + + + + +
+

−z number

+ + + + + +
+

List specified number of image data bytes that differs +between the files.

+
+ + + + + + + + +
+ +

−t

+
+ +

Ignore any differences in directory tags.

+
+
+ +

BUGS

+ + + + + +
+

Tags that are not recognized by the library are not +compared; they may also generate spurious diagnostics.

+ +

The image data of tiled files is not compared, since the +TIFFReadScanline() function is used. An error will be +reported for tiled files.

+ +

The pixel and/or sample number reported in differences +may be off in some exotic cases.

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffcp(1), +tiffmedian(1), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffcp.1.html b/src/3rdparty/libtiff/html/man/tiffcp.1.html new file mode 100644 index 0000000..2b30d5f --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffcp.1.html @@ -0,0 +1,522 @@ + + + + + + +TIFFCP + + + +

TIFFCP

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+EXAMPLES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffcp − copy (and possibly convert) a +TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

tiffcp [ options ] src1.tif ... srcN.tif +dst.tif

+
+ +

DESCRIPTION

+ + + + + +
+

tiffcp combines one or more files created +according to the Tag Image File Format, Revision 6.0 into a +single TIFF file. Because the output file may +be compressed using a different algorithm than the input +files, tiffcp is most often used to convert between +different compression schemes.

+ +

By default, tiffcp will copy all the understood +tags in a TIFF directory of an input file to +the associated directory in the output file.

+ +

tiffcp can be used to reorganize the storage +characteristics of data in a file, but it is explicitly +intended to not alter or convert the image data content in +any way.

+
+ +

OPTIONS

+ + + + + +
+

−b image

+ + + + + +
+

subtract the following monochrome image from all others +processed. This can be used to remove a noise bias from a +set of images. This bias image is typically an image of +noise the camera saw with its shutter closed.

+
+ + + + + + + + + + + + + + + + + + + + +
+ +

−B

+
+ +

Force output to be written with Big-Endian byte order. +This option only has an effect when the output file is +created or overwritten and not when it is appended to.

+
+
+ +

−C

+
+ +

Suppress the use of ‘‘strip +chopping’’ when reading images that have a +single strip/tile of uncompressed data.

+
+
+ +

−c

+
+ +

Specify the compression to use for data written to the +output file: none for no compression, packbits +for PackBits compression, lzw for Lempel-Ziv & +Welch compression, jpeg for baseline JPEG +compression, zip for Deflate compression, g3 +for CCITT Group 3 (T.4) compression, and g4 for CCITT +Group 4 (T.6) compression. By default tiffcp will +compress data according to the value of the +Compression tag found in the source file.

+
+
+ + + + + +
+

The CCITT Group 3 and Group 4 compression +algorithms can only be used with bilevel data.

+ +

Group 3 compression can be specified together with +several T.4-specific options: 1d for 1-dimensional +encoding, 2d for 2-dimensional encoding, and +fill to force each encoded scanline to be zero-filled +so that the terminating EOL code lies on a byte boundary. +Group 3-specific options are specified by appending a +‘‘:’’-separated list to the +‘‘g3’’ option; e.g. −c +g3:2d:fill to get 2D-encoded data with byte-aligned EOL +codes.

+ +

LZW compression can be specified together +with a predictor value. A predictor value of 2 causes +each scanline of the output image to undergo horizontal +differencing before it is encoded; a value of 1 forces each +scanline to be encoded without differencing. LZW-specific +options are specified by appending a +‘‘:’’-separated list to the +‘‘lzw’’ option; e.g. −c +lzw:2 for LZW compression with horizontal +differencing.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−f

+
+ +

Specify the bit fill order to use in writing output +data. By default, tiffcp will create a new file with +the same fill order as the original. Specifying −f +lsb2msb will force data to be written with the FillOrder +tag set to LSB2MSB, while −f +msb2lsb will force data to be written with the FillOrder +tag set to MSB2LSB.

+
+
+ +

−i

+
+ +

Ignore non-fatal read errors and continue processing of +the input file.

+
+
+ +

−l

+
+ +

Specify the length of a tile (in pixels). tiffcp +attempts to set the tile dimensions so that no more than 8 +kilobytes of data appear in a tile.

+
+
+ +

−L

+
+ +

Force output to be written with Little-Endian byte +order. This option only has an effect when the output file +is created or overwritten and not when it is appended +to.

+
+
+ +

−M

+
+ +

Suppress the use of memory-mapped files when reading +images.

+
+
+ +

−p

+
+ +

Specify the planar configuration to use in writing image +data that has one 8-bit sample per pixel. By default, +tiffcp will create a new file with the same planar +configuration as the original. Specifying −p +contig will force data to be written with multi-sample +data packed together, while −p separate will +force samples to be written in separate planes.

+
+
+ +

−r

+
+ +

Specify the number of rows (scanlines) in each strip of +data written to the output file. By default (or when value +0 is specified), tiffcp attempts to set the +rows/strip that no more than 8 kilobytes of data appear in a +strip. If you specify special value −1 it will +results in infinite number of the rows per strip. The entire +image will be the one strip in that case.

+
+
+ +

−s

+
+ +

Force the output file to be written with data organized +in strips (rather than tiles).

+
+
+ +

−t

+
+ +

Force the output file to be written with data organized +in tiles (rather than strips). options can be used to force +the resultant image to be written as strips or tiles of +data, respectively.

+
+
+ +

−w

+
+ +

Specify the width of a tile (in pixels). tiffcp +attempts to set the tile dimensions so that no more than 8 +kilobytes of data appear in a tile. tiffcp attempts +to set the tile dimensions so that no more than 8 kilobytes +of data appear in a tile.

+
+
+ + + + + +
+

−,=character

+ + + + + +
+

substitute character for ‘,’ in +parsing image directory indices in files. This is necessary +if filenames contain commas. Note that −,= with +whitespace immediately following will disable the special +meaning of the ‘,’ entirely. See examples.

+
+ +

EXAMPLES

+ + + + + +
+

The following concatenates two files and writes the +result using LZW encoding:

+ + + + + +
+
tiffcp −c lzw a.tif b.tif result.tif
+
+
+ + + + + + +
+

To convert a G3 1d-encoded TIFF to a +single strip of G4-encoded data the following might be +used:

+ + + + + +
+
tiffcp −c g4 −r 10000 g3.tif g4.tif
+
+
+ + + + + + +
+

(1000 is just a number that is larger than the number of +rows in the source file.)

+ +

To extract a selected set of images from a multi-image +TIFF file, the file name may be immediately followed by a +‘,’ separated list of image directory indices. +The first image is always in directory 0. Thus, to copy the +1st and 3rd images of image file +‘‘album.tif’’ to +‘‘result.tif’’:

+ + + + + +
+
tiffcp album.tif,0,2 result.tif
+
+
+ + + + + + +
+

A trailing comma denotes remaining images in sequence. +The following command will copy all image with except the +first one:

+ + + + + +
+
tiffcp album.tif,1, result.tif
+
+
+ + + + + + +
+

Given file ‘‘CCD.tif’’ whose +first image is a noise bias followed by images which include +that bias, subtract the noise from all those images +following it (while decompressing) with the +command:

+ + + + + +
+
tiffcp −c none −b CCD.tif CCD.tif,1, result.tif
+
+
+ + + + + + +
+

If the file above were named +‘‘CCD,X.tif’’, the −,= +option would be required to correctly parse this filename +with image numbers, as follows:

+ + + + + +
+
tiffcp −c none −,=% −b CCD,X.tif CCD,X%1%.tif result.tif
+
+
+
+ +

SEE ALSO

+ + + + + + +
+

pal2rgb(1), tiffinfo(1), tiffcmp(1), +tiffmedian(1), tiffsplit(1), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffcrop.1.html b/src/3rdparty/libtiff/html/man/tiffcrop.1.html new file mode 100644 index 0000000..4c25c29 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffcrop.1.html @@ -0,0 +1,851 @@ + + + + + + +TIFFCROP + + + +

TIFFCROP

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+EXAMPLES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffcrop − copy, convert, crop, extract, or process +a TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

tiffcrop [ options ] src1.tif ... +srcN.tif dst.tif

+
+ +

DESCRIPTION

+ + + + + +
+

tiffcrop combines one or more files created +according to the Tag Image File Format, Revision 6.0 into a +single TIFF file. The output file may be +compressed using a different algorithm than the input files. +tiffcrop is most often used to extract portions of an +image for processing with bar code recognizer or OCR +software when that software cannot restrict the region of +interest to a specific portion of the image or to improve +efficiency when the regions of interest must be rotated. It +can also be used to subdivide all or part of a processed +image into smaller sections.

+ +

Functions are applied to the input image in the following +order:

+ + + + + +
+
cropping, fixed area extraction, zones, inversion, mirroring, rotation.
+
+
+ + + + + + +
+

Functions are applied to the output image in the +following order:

+ + + + + +
+

output resolution, output margins, rows and columns +or page size divisions, orientation options, strip, +tile, byte order, and compression options.

+ + + + + +
+

By default, tiffcrop will copy all the understood +tags in a TIFF directory of an input file to +the associated directory in the output file. Options can be +used to force the resultant image to be written as strips or +tiles of data, respectively.

+ +

tiffcrop can be used to reorganize the storage +characteristics of data in a file, and to reorganize, +extract, rotate, and otherwise process the image data as +specified at the same time whereas tiffcp does not alter the +image data itself.

+
+ +

OPTIONS

+ + + + + +
+

−N odd|even|#,#-#,#|last

+ + + + + +
+

Specify one or more series or range(s) of images within +file to process. The words odd or even may be +used to specify all odd or even numbered images. The word +last may be used in place of a number in the sequence +to indicate the final image in the file without knowing how +many images there are. Ranges of images may be specified +with a dash and multiple sets can be indicated by joining +them in a comma-separated list. eg. use −N +1,5-7,last to process the 1st, 5th through 7th, and +final image in the file.

+
+ + + + + +
+

−E top|bottom|left|right

+ + + + + +
+

Specify the top, bottom, left, or right edge as the +reference from which to calcuate the width and length of +crop regions or sequence of postions for zones. May be +abbreviated to first letter.

+
+ + + + + +
+

−U in|cm|px

+ + + + + +
+

Specify the type of units to apply to dimensions for +margins and crop regions for input and output images. Inches +or centimeters are converted to pixels using the resolution +unit specified in the TIFF file (which defaults to inches if +not specified in the IFD).

+
+ + + + + +
+

−m #,#,#,#

+ + + + + +
+

Specify margins to be removed from the input image. The +order must be top, left, bottom, right with only commas +separating the elements of the list. Margins are scaled +according to the current units and removed before any other +extractions are computed. Captial M was in use.

+
+ + + + + + + + + + + + + + +
+ +

−X #

+
+ +

Set the horizontal (X-axis) dimension of a region to +extract relative to the specified origin reference. If the +origin is the top or bottom edge, the X axis value will be +assumed to start at the left edge.

+
+
+ +

−Y #

+
+ +

Set the vertical (Y-axis) dimension of a region to +extract relative to the specified origin reference. If the +origin is the left or right edge, the Y axis value will be +assumed to start at the top.

+
+
+ + + + + +
+

−Z #:#,#:#

+ + + + + +
+

Specify zones of the image designated as position X of Y +equal sized portions measured from the reference edge, eg +1:3 would be first third of the image starting from the +reference edge minus any margins specified for the confining +edges. Multiple zones can be specified as a comma separated +list but they must reference the same edge. To extract the +top quarter and the bottom third of an image you would use +−Z 1:4,3:3.

+
+ + + + + +
+

−F horiz|vert

+ + + + + +
+

Flip, ie mirror, the image or extracted region +horizontally or vertically.

+
+ + + + + +
+

−R 90|180|270

+ + + + + +
+

Rotate the image or extracted region 90, 180, or 270 +degrees clockwise.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−I

+
+ +

Invert the colorspace values for grayscale and bilevel +images. This would be used to correct negative images that +have incorrect PHOTMETRIC INTERPRETATION tags. No support +for color images.

+
+
+ +

−H #

+
+ +

Set the horizontal resolution of output images to # +expressed in the current units.

+
+
+ +

−V #

+
+ +

Set the vertical resolution of the output images to # +expressed in the current units.

+
+
+ +

−J #

+
+ +

Set the horizontal margin of an output page size to # +expressed in the current units.

+
+
+ +

−K #

+
+ +

Set the vertical margin of an output page size to # +expressed in the current units.

+
+
+ + + + + +
+

−O portrait|landscape|auto

+ + + + + +
+

Set the output orientation of the pages or sections. Auto +will use the arrangement that requires the fewest pages.

+
+ + + + + +
+

−S cols:rows

+ + + + + +
+

Divide each image into cols across and rows down equal +sections.

+
+ + + + + +
+

−P page

+ + + + + +
+

Format the output images to fit on page size paper. Use +-P list to show the supported page sizes and dimensions.

+
+ + + + + + + + + + + + + + + + + + + + +
+ +

−B

+
+ +

Force output to be written with Big-Endian byte order. +This option only has an effect when the output file is +created or overwritten and not when it is appended to.

+
+
+ +

−C

+
+ +

Suppress the use of ‘‘strip +chopping’’ when reading images that have a +single strip/tile of uncompressed data.

+
+
+ +

−c

+
+ +

Specify the compression to use for data written to the +output file: none for no compression, packbits +for PackBits compression, lzw for Lempel-Ziv & +Welch compression, jpeg for baseline JPEG +compression, zip for Deflate compression, g3 +for CCITT Group 3 (T.4) compression, and g4 for CCITT +Group 4 (T.6) compression. By default tiffcrop will +compress data according to the value of the +Compression tag found in the source file.

+
+
+ + + + + +
+

The CCITT Group 3 and Group 4 compression +algorithms can only be used with bilevel data.

+ +

Group 3 compression can be specified together with +several T.4-specific options: 1d for 1-dimensional +encoding, 2d for 2-dimensional encoding, and +fill to force each encoded scanline to be zero-filled +so that the terminating EOL code lies on a byte boundary. +Group 3-specific options are specified by appending a +‘‘:’’-separated list to the +‘‘g3’’ option; e.g. −c +g3:2d:fill to get 2D-encoded data with byte-aligned EOL +codes.

+ +

LZW compression can be specified together +with a predictor value. A predictor value of 2 causes +each scanline of the output image to undergo horizontal +differencing before it is encoded; a value of 1 forces each +scanline to be encoded without differencing. LZW-specific +options are specified by appending a +‘‘:’’-separated list to the +‘‘lzw’’ option; e.g. −c +lzw:2 for LZW compression with horizontal +differencing.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−f

+
+ +

Specify the bit fill order to use in writing output +data. By default, tiffcrop will create a new file +with the same fill order as the original. Specifying +−f lsb2msb will force data to be written with +the FillOrder tag set to LSB2MSB, while +−f msb2lsb will force data to be written with +the FillOrder tag set to MSB2LSB.

+
+
+ +

−i

+
+ +

Ignore non-fatal read errors and continue processing of +the input file.

+
+
+ +

−l

+
+ +

Specify the length of a tile (in pixels). +tiffcrop attempts to set the tile dimensions so that +no more than 8 kilobytes of data appear in a tile.

+
+
+ +

−L

+
+ +

Force output to be written with Little-Endian byte +order. This option only has an effect when the output file +is created or overwritten and not when it is appended +to.

+
+
+ +

−M

+
+ +

Suppress the use of memory-mapped files when reading +images.

+
+
+ +

−p

+
+ +

Specify the planar configuration to use in writing image +data that has more than one 8-bit sample per pixel. By +default, tiffcrop will create a new file with the +same planar configuration as the original. Specifying +−p contig will force data to be written with +multi-sample data packed together, while −p +separate will force samples to be written in separate +planes.

+
+
+ +

−r

+
+ +

Specify the number of rows (scanlines) in each strip of +data written to the output file. By default (or when value +0 is specified), tiffcrop attempts to set the +rows/strip that no more than 8 kilobytes of data appear in a +strip. If you specify the special value -1 it will +results in infinite number of the rows per strip. The entire +image will be the one strip in that case.

+
+
+ +

−s

+
+ +

Force the output file to be written with data organized +in strips (rather than tiles).

+
+
+ +

−t

+
+ +

Force the output file to be written with data organized +in tiles (rather than strips).

+
+
+ +

−w

+
+ +

Specify the width of a tile (in pixels). tiffcrop +attempts to set the tile dimensions so that no more than 8 +kilobytes of data appear in a tile. tiffcrop attempts +to set the tile dimensions so that no more than 8 kilobytes +of data appear in a tile.

+
+
+ + + + + +
+

−,={character}

+ + + + + +
+

substitute {character} for ’,’ in parsing +image directory indices in files. This is necessary if +filenames contain commas. Note that ’,=’ with +whitespace immediately following will disable the special +meaning of the ’,’ entirely. See examples.

+
+ +

EXAMPLES

+ + + + + +
+

The following concatenates two files and writes the +result using LZW encoding:

+ + + + + +
+
tiffcrop -c lzw a.tif b.tif result.tif
+
+
+ + + + + + +
+

To convert a G3 1d-encoded TIFF to a +single strip of G4-encoded data the following might be +used:

+ + + + + +
+
tiffcrop -c g4 -r 10000 g3.tif g4.tif
+
+
+ + + + + + +
+

(1000 is just a number that is larger than the number of +rows in the source file.)

+ +

To extract a selected set of images from a multi-image +TIFF file use the -N option described above. Thus, to copy +the 1st and 3rd images of image file "album.tif" +to "result.tif":

+ + + + + +
+
tiffcrop -N 1,3 album.tif result.tif
+
+
+ + + + + + +
+

Invert a bilevel image scan of a microfilmed document and +crop off margins of 0.25 inches on the left and right, 0.5 +inch on the top, nad 0.75 inch on the bottom. From the +remaining portion of the image, select the second and third +quarters, ie, one half of the area left from the center to +each margin.

+ + + + + +
+
tiffcrop -U in -m 0.5,0.25,0.75,0.25 -E left -Z 2:4,3:4 -I MicrofilmNegative.tif MicrofilmPostiveCenter.tif
+
+
+ + + + + + +
+

Extract only the final image of a large Architectural E +sized multipage TIFF file and rotate it 90 degrees clockwise +while reformatting the output to fit on tabloid sized sheets +with one quarter of an inch on each side:

+ + + + + +
+
tiffcrop -N last -R 90 -O auto -P tabloid -U in -J 0.25 -K 0.25 -H 300 -V 300 Big-PlatMap.tif BigPlatMap-Tabloid.tif
+
+
+ + + + + + +
+

The output images will have a specified resolution of 300 +dpi in both directions. The orientation of each page will be +determined by whichever choice requires the fewest pages. To +specify a specific orientation, use the portrait or +landscape option.

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffinfo(1), tiffcmp(1), +tiffcp(1), tiffmedian(1), tiffsplit(1), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffdither.1.html b/src/3rdparty/libtiff/html/man/tiffdither.1.html new file mode 100644 index 0000000..2427a90 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffdither.1.html @@ -0,0 +1,183 @@ + + + + + + +TIFFDITHER + + + +

TIFFDITHER

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+NOTES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffdither − convert a greyscale image to bilevel +using dithering

+
+ +

SYNOPSIS

+ + + + + +
+

tiffdither [ options ] input.tif +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

tiffdither converts a single channel 8-bit +greyscale image to a bilevel image using Floyd-Steinberg +error propagation with thresholding.

+
+ +

OPTIONS

+ + + + + + + + +
+ +

−c

+
+ +

Specify the compression to use for data written to the +output file: none for no compression, packbits +for PackBits compression, lzw for Lempel-Ziv & +Welch compression, zip for Deflate compression, +g3 for CCITT Group 3 (T.4) compression, and g4 +for CCITT Group 4 (T.6) compression. By default +tiffdither will compress data according to the value +of the Compression tag found in the source file.

+
+
+ + + + + +
+

The CCITT Group 3 and Group 4 compression +algorithms can only be used with bilevel data.

+ +

Group 3 compression can be specified together with +several T.4-specific options: 1d for 1-dimensional +encoding, 2d for 2-dimensional encoding, and +fill to force each encoded scanline to be zero-filled +so that the terminating EOL code lies on a byte boundary. +Group 3-specific options are specified by appending a +‘‘:’’-separated list to the +‘‘g3’’ option; e.g. −c +g3:2d:fill to get 2D-encoded data with byte-aligned EOL +codes.

+ +

LZW compression can be specified together +with a predictor value. A predictor value of 2 causes +each scanline of the output image to undergo horizontal +differencing before it is encoded; a value of 1 forces each +scanline to be encoded without differencing. LZW-specific +options are specified by appending a +‘‘:’’-separated list to the +‘‘lzw’’ option; e.g. −c +lzw:2 for LZW compression with horizontal +differencing.

+
+ + + + + + + + + + + + + + +
+ +

−f

+
+ +

Specify the bit fill order to use in writing output +data. By default, tiffdither will create a new file +with the same fill order as the original. Specifying +−f lsb2msb will force data to be written with +the FillOrder tag set to LSB2MSB , +while −f msb2lsb will force data to be written +with the Fill- Order tag set to MSB2LSB +.

+
+
+ +

−t

+
+ +

Set the threshold value for dithering. By default the +threshold value is 128.

+
+
+ +

NOTES

+ + + + + +
+

The dither algorithm is taken from the +tiffmedian(1) program (written by Paul Heckbert).

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), fax2tiff(1), +tiffinfo(1), tiffcp(1), tiff2bw(1), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffdump.1.html b/src/3rdparty/libtiff/html/man/tiffdump.1.html new file mode 100644 index 0000000..abf0662c --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffdump.1.html @@ -0,0 +1,145 @@ + + + + + + +TIFFDUMP + + + +

TIFFDUMP

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffdump − print verbatim information about +TIFF files

+
+ +

SYNOPSIS

+ + + + + +
+

tiffdump [ options ] name ...

+
+ +

DESCRIPTION

+ + + + + +
+

tiffdump displays directory information from files +created according to the Tag Image File Format, Revision +6.0. The header of each TIFF file (magic +number, version, and first directory offset) is displayed, +followed by the tag contents of each directory in the file. +For each tag, the name, data type, count, and value(s) is +displayed. When the symbolic name for a tag or data type is +known, the symbolic name is displayed followed by it’s +numeric (decimal) value. Tag values are displayed enclosed +in ‘‘<>’’ characters +immediately preceded by the value of the count field. For +example, an ImageWidth tag might be displayed as +‘‘ImageWidth (256) SHORT (3) +1<800>’’.

+ +

tiffdump is particularly useful for investigating +the contents of TIFF files that +libtiff does not understand.

+
+ +

OPTIONS

+ + + + + + + + +
+ +

−h

+
+ +

Force numeric data to be printed in hexadecimal rather +than the default decimal.

+
+
+ + + + + +
+

−m items

+ + + + + +
+

Change the number of indirect data items that are +printed. By default, this will be 24.

+
+ + + + + +
+

−o offset

+ + + + + +
+

Dump the contents of the IFD at the a +particular file offset. The file offset may be specified +using the usual C-style syntax; i.e. a leading +‘‘0x’’ for hexadecimal and a leading +‘‘0’’ for octal.

+
+ +

SEE ALSO

+ + + + + +
+

tiffinfo(1), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffgt.1.html b/src/3rdparty/libtiff/html/man/tiffgt.1.html new file mode 100644 index 0000000..e8bd4b2 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffgt.1.html @@ -0,0 +1,551 @@ + + + + + + +TIFFGT + + + +

TIFFGT

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffgt − display an image stored in a +TIFF file (Silicon Graphics version)

+
+ +

SYNOPSIS

+ + + + + +
+

tiffgt [ options ] input.tif ...

+
+ +

DESCRIPTION

+ + + + + +
+

tiffgt displays one or more images stored using +the Tag Image File Format, Revision 6.0. Each image is +placed in a fixed size window that the user must position on +the display (unless configured otherwise through X +defaults). If the display has fewer than 24 bitplanes, or if +the image does not warrant full color, then +RGB color values are mapped to the closest +values that exist in the colormap (this is done using the +rgbi routine found in the graphics utility library +−lgutil.)

+ +

tiffgt correctly handles files with any of the +following characteristics:

+ + + + + + + + + + + + + + + + + + + + + + +
+ +

BitsPerSample

+
+ +

1, 2, 4, 8, 16

+
+ +

SamplesPerPixel

+
+ +

1, 3, 4 (the 4th sample is ignored)

+
+ +

PhotometricInterpretation

+
+ +

0 (min-is-white), 1 (min-is-black), 2 (RGB), 3 +(palette), 6 (YCbCr)

+
+ +

PlanarConfiguration

+
+ +

1 (contiguous), 2 (separate)

+
+ +

Orientation

+
+ +

1 (top-left), 4 (bottom-left)

+
+ + + + + +
+

Data may be organized as strips or tiles and may be +compressed with any of the compression algorithms supported +by the libtiff(3) library.

+ +

For palette images (PhotometricInterpretation=3), +tiffgt inspects the colormap values and assumes +either 16-bit or 8-bit values according to the maximum +value. That is, if no colormap entry greater than 255 is +found, tiffgt assumes the colormap has only 8-bit +values; otherwise it assumes 16-bit values. This inspection +is done to handle old images written by previous (incorrect) +versions of libtiff.

+ +

tiffgt can be used to display multiple images +one-at-a-time. The left mouse button switches the display to +the first image in the next file in the list of files +specified on the command line. The right mouse button +switches to the first image in the previous file in +the list. The middle mouse button causes the first image in +the first file specified on the command line to be +displayed. In addition the following keyboard commands are +recognized:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

b

+
+ +

Use a PhotometricInterpretation of MinIsBlack in +displaying the current image.

+
+
+ +

l

+
+ +

Use a FillOrder of lsb-to-msb in decoding the +current image.

+
+
+ +

m

+
+ +

Use a FillOrder of msb-to-lsb in decoding the +current image.

+
+
+ +

c

+
+ +

Use a colormap visual to display the current image.

+
+
+ +

r

+
+ +

Use a true color (24-bit RGB) visual to display the +current image.

+
+
+ +

w

+
+ +

Use a PhotometricInterpretation of MinIsWhite in +displaying the current image.

+
+
+ +

W

+
+ +

Toggle (enable/disable) display of warning messages from +the TIFF library when decoding images.

+
+
+ +

E

+
+ +

Toggle (enable/disable) display of error messages from +the TIFF library when decoding images.

+
+
+ +

z

+
+ +

Reset all parameters to their default settings +(FillOrder, PhotometricInterpretation, +handling of warnings and errors).

+
+
+ +

PageUp

+
+ +

Display the previous image in the current file or the +last image in the previous file.

+
+
+ + + + + +
+

PageDown

+ + + + + +
+

Display the next image in the current file or the first +image in the next file.

+
+ + + + + + + + + + + + + + +
+ +

Home

+
+ +

Display the first image in the current file.

+
+
+ +

End

+
+ +

Display the last image in the current file +(unimplemented).

+
+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−c

+
+ +

Force image display in a colormap window.

+
+
+ +

−d

+
+ +

Specify an image to display by directory number. By +default the first image in the file is displayed. +Directories are numbered starting at zero.

+
+
+ +

−e

+
+ +

Enable reporting of error messages from the +TIFF library. By default tiffgt +silently ignores images that cannot be read.

+
+
+ +

−f

+
+ +

Force tiffgt to run as a foreground process. By +default tiffgt will place itself in the background +once it has opened the requested image file.

+
+
+ +

−l

+
+ +

Force the presumed bit ordering to be LSB +to MSB.

+
+
+ +

−m

+
+ +

Force the presumed bit ordering to be MSB +to LSB.

+
+
+ +

−o

+
+ +

Specify an image to display by directory offset. By +default the first image in the file is displayed. +Directories offsets may be specified using C-style syntax; +i.e. a leading ‘‘0x’’ for +hexadecimal and a leading ‘‘0’’ for +octal.

+
+
+ +

−p

+
+ +

Override the value of the +PhotometricInterpretation tag; the parameter may be +one of: miniswhite, minisblack, rgb, +palette, mask, separated, ycbcr, +and cielab.

+
+
+ +

−r

+
+ +

Force image display in a full color window.

+
+
+ +

−s

+
+ +

Stop on the first read error. By default all errors in +the input data are ignored and tiffgt does it’s +best to display as much of an image as possible.

+
+
+ +

−w

+
+ +

Enable reporting of warning messages from the +TIFF library. By default tiffgt +ignores warning messages generated when reading an +image.

+
+
+ +

−v

+
+ +

Place information in the title bar describing what type +of window (full color or colormap) is being used, the name +of the input file, and the directory index of the image (if +non-zero). By default, the window type is not shown in the +title bar.

+
+
+ +

BUGS

+ + + + + +
+

Images wider and taller than the display are silently +truncated to avoid crashing old versions of the window +manager.

+
+ +

SEE ALSO

+ + + + + +
+

tiffdump(1), tiffinfo(1), tiffcp(1), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffinfo.1.html b/src/3rdparty/libtiff/html/man/tiffinfo.1.html new file mode 100644 index 0000000..4863ed3 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffinfo.1.html @@ -0,0 +1,196 @@ + + + + + + +TIFFINFO + + + +

TIFFINFO

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffinfo − print information about +TIFF files

+
+ +

SYNOPSIS

+ + + + + +
+

tiffinfo [ options ] input.tif +...

+
+ +

DESCRIPTION

+ + + + + +
+

Tiffinfo displays information about files created +according to the Tag Image File Format, Revision 6.0. By +default, the contents of each TIFF directory +in each file is displayed, with the value of each tag shown +symbolically (where sensible).

+
+ +

OPTIONS

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

−c

+
+ +

Display the colormap and color/gray response curves, if +present.

+
+
+ +

−D

+
+ +

In addition to displaying the directory tags, read and +decompress all the data in each image (but not display +it).

+
+
+ +

−d

+
+ +

In addition to displaying the directory tags, print each +byte of decompressed data in hexadecimal.

+
+
+ +

−j

+
+ +

Display any JPEG -related tags that are +present.

+
+
+ +

−o

+
+ +

Set the initial TIFF directory according +to the specified file offset. The file offset may be +specified using the usual C-style syntax; i.e. a leading +‘‘0x’’ for hexadecimal and a leading +‘‘0’’ for octal.

+
+
+ +

−s

+
+ +

Display the offsets and byte counts for each data strip +in a directory.

+
+
+ +

−z

+
+ +

Enable strip chopping when reading image data.

+
+
+ +

−#

+
+ +

Set the initial TIFF directory to +#.

+
+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffcp(1), tiffcmp(1), +tiffmedian(1), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffmedian.1.html b/src/3rdparty/libtiff/html/man/tiffmedian.1.html new file mode 100644 index 0000000..5961317 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffmedian.1.html @@ -0,0 +1,183 @@ + + + + + + +TIFFMEDIAN + + + +

TIFFMEDIAN

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+NOTES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffmedian − apply the median cut algorithm to data +in a TIFF file

+
+ +

SYNOPSIS

+ + + + + +
+

tiffmedian [ options ] input.tif +output.tif

+
+ +

DESCRIPTION

+ + + + + +
+

tiffmedian applies the median cut algorithm to an +RGB image in input.tif to generate a +palette image that is written to output.tif. The +generated colormap has, by default, 256 entries. The image +data is quantized by mapping each pixel to the closest color +values in the colormap.

+
+ +

OPTIONS

+ + + + + + + + +
+ +

−c

+
+ +

Specify the compression to use for data written to the +output file: none for no compression, packbits +for PackBits compression, lzw for Lempel-Ziv & +Welch compression, and zip for Deflate compression. +By default tiffmedian will compress data according to +the value of the Compression tag found in the source +file.

+
+
+ + + + + +
+

LZW compression can be specified together +with a predictor value. A predictor value of 2 causes +each scanline of the output image to undergo horizontal +differencing before it is encoded; a value of 1 forces each +scanline to be encoded without differencing. LZW-specific +options are specified by appending a +‘‘:’’-separated list to the +‘‘lzw’’ option; e.g. −c +lzw:2 for LZW compression with horizontal +differencing.

+
+ + + + + + + + + + + + + + + + + + + + +
+ +

−C

+
+ +

Specify the number of entries to use in the generated +colormap. By default all 256 entries/colors are used.

+
+
+ +

−f

+
+ +

Apply Floyd-Steinberg dithering before selecting a +colormap entry.

+
+
+ +

−r

+
+ +

Specify the number of rows (scanlines) in each strip of +data written to the output file. By default, +tiffmedian attempts to set the rows/strip that no +more than 8 kilobytes of data appear in a strip.

+
+
+ +

NOTES

+ + + + + +
+

This program is derived from Paul Heckbert’s +median program.

+
+ +

SEE ALSO

+ + + + + +
+

pal2rgb(1), tiffinfo(1), tiffcp(1), +tiffcmp(1), libtiff(3TIFF)

+ +

Color Image Quantization for Frame Buffer Display, +Paul Heckbert, SIGGRAPH proceedings, 1982, pp. 297-307.

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffset.1.html b/src/3rdparty/libtiff/html/man/tiffset.1.html new file mode 100644 index 0000000..fb4d0ed --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffset.1.html @@ -0,0 +1,176 @@ + + + + + + +TIFFSET + + + +

TIFFSET

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+EXAMPLES
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffset − set a field in a TIFF +header

+
+ +

SYNOPSIS

+ + + + + +
+

tiffset [ options ] filename.tif

+
+ +

DESCRIPTION

+ + + + + +
+

Tiffset sets the value of a TIFF +header to a specified value.

+
+ +

OPTIONS

+ + + + + +
+

−s tagnumber [ count ] +value ...

+ + + + + +
+

Set the value of the named tag to the value or values +specified.

+
+ + + + + +
+

−sf tagnumber filename

+ + + + + +
+

Set the value of the tag to the contents of filename. +This option is supported for ASCII tags only.

+
+ +

EXAMPLES

+ + + + + +
+

The following example sets the image description tag +(270) of a.tif to the contents of the file descrip:

+ + + + + +
+
tiffset −sf 270 descrip a.tif
+
+
+ + + + + + +
+

The following example sets the artist tag (315) of a.tif +to the string +‘‘Anonymous’’:

+ + + + + +
+
tiffset −s 305 Anonymous a.tif
+
+
+ + + + + + +
+

This example sets the resolution of the file a.tif to 300 +dpi:

+ + + + + +
+
tiffset −s 296 2 a.tif
+tiffset −s 282 300.0 a.tif
+tiffset −s 283 300.0 a.tif
+
+
+ +

SEE ALSO

+ + + + + + +
+

tiffdump(1), tiffinfo(1), tiffcp(1), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffsplit.1.html b/src/3rdparty/libtiff/html/man/tiffsplit.1.html new file mode 100644 index 0000000..adbc2f8 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffsplit.1.html @@ -0,0 +1,102 @@ + + + + + + +TIFFSPLIT + + + +

TIFFSPLIT

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffsplit − split a multi-image TIFF +into single-image TIFF files

+
+ +

SYNOPSIS

+ + + + + +
+

tiffsplit src.tif [ prefix ]

+
+ +

DESCRIPTION

+ + + + + +
+

tiffsplit takes a multi-directory (page) +TIFF file and creates one or more +single-directory (page) TIFF files from it. +The output files are given names created by concatenating a +prefix, a lexically ordered suffix in the range +[aaa-zzz], the suffix .tif (e.g. +xaaa.tif, xaab.tif, xzzz.tif). If a +prefix is not specified on the command line, the default +prefix of x is used.

+
+ +

OPTIONS

+ + + + + +
+

None.

+
+ +

BUGS

+ + + + + +
+

Only a select set of ‘‘known +tags’’ is copied when splitting.

+
+ +

SEE ALSO

+ + + + + +
+

tiffcp(1), tiffinfo(1), +libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/man/tiffsv.1.html b/src/3rdparty/libtiff/html/man/tiffsv.1.html new file mode 100644 index 0000000..fb484b0 --- /dev/null +++ b/src/3rdparty/libtiff/html/man/tiffsv.1.html @@ -0,0 +1,207 @@ + + + + + + +TIFFSV + + + +

TIFFSV

+NAME
+SYNOPSIS
+DESCRIPTION
+OPTIONS
+NOTE
+BUGS
+SEE ALSO
+ +
+ +

NAME

+ + + + + +
+

tiffsv − save an image from the framebuffer in a +TIFF file (Silicon Graphics version)

+
+ +

SYNOPSIS

+ + + + + +
+

tiffsv [ options ] output.tif [ +x1 x2 y1 y2 ]

+
+ +

DESCRIPTION

+ + + + + +
+

tiffsv saves all or part of the framebuffer in a +file using the Tag Image File Format, Revision 6.0. By +default, the image is saved with data samples packed +(PlanarConfiguration=1), compressed with the +Lempel-Ziv & Welch algorithm (Compression=5), and +with each strip no more than 8 kilobytes. These +characteristics can be overridden, or explicitly specified +with the options described below.

+
+ +

OPTIONS

+ + + + + + + + + + + + + + +
+ +

−b

+
+ +

Save the image as a greyscale image as if it were +processed by tiff2bw(1). This option is included for +compatibility with the standard scrsave(6D) +program.

+
+
+ +

−c

+
+ +

Specify the compression to use for data written to the +output file: none for no compression, packbits +for PackBits compression, jpeg for baseline JPEG +compression, zip for Deflate compression, and +lzw for Lempel-Ziv & Welch compression +(default).

+
+
+ + + + + +
+

LZW compression can be specified together +with a predictor value. A predictor value of 2 causes +each scanline of the output image to undergo horizontal +differencing before it is encoded; a value of 1 forces each +scanline to be encoded without differencing. LZW-specific +options are specified by appending a +‘‘:’’-separated list to the +‘‘lzw’’ option; e.g. −c +lzw:2 for LZW compression with horizontal +differencing.

+
+ + + + + + + + + + + + + + +
+ +

−p

+
+ +

Specify the planar configuration to use in writing image +data. By default, tiffsv will create a new file with +the data samples packed contiguously. Specifying −p +contig will force data to be written with multi-sample +data packed together, while −p separate will +force samples to be written in separate planes.

+
+
+ +

−r

+
+ +

Specify the number of rows (scanlines) in each strip of +data written to the output file. By default, tiffsv +attempts to set the rows/strip that no more than 8 kilobytes +of data appear in a strip.

+
+
+ +

NOTE

+ + + + + +
+

Except for the use of TIFF, this program +is equivalent to the standard scrsave program. This +means, for example, that you can use it in conjunction with +the standard icut program simply by creating a link +called scrsave, or by creating a shell script called +scrsave that invokes tiffgt with the +appropriate options.

+
+ +

BUGS

+ + + + + +
+

If data are saved compressed and in separate planes, then +the rows in each strip is silently set to one to avoid +limitations in the libtiff(3TIFF) library.

+
+ +

SEE ALSO

+ + + + + +
+

scrsave(6D) pal2rgb(1), tiffdump(1), +tiffgt(1), tiffinfo(1), tiffcp(1), +tiffmedian(1), libtiff(3TIFF)

+ +

Libtiff library home page: +http://www.remotesensing.org/libtiff/

+
+
+ + diff --git a/src/3rdparty/libtiff/html/misc.html b/src/3rdparty/libtiff/html/misc.html new file mode 100644 index 0000000..aed91a9 --- /dev/null +++ b/src/3rdparty/libtiff/html/misc.html @@ -0,0 +1,116 @@ + + + +Acknowledgments and Other Issues + + + + +

+ +Acknowledgments and Other Issues +

+ +

+Silicon Graphics has seen fit to allow us to give this work away. It +is free. There is no support or guarantee of any sort as to its +operations, correctness, or whatever. If you do anything useful with +all or parts of it you need to honor the copyright notices. It would +also be nice to be acknowledged.

+ +
+ +

Acknowledgements

+ +The libtiff software was written by Sam Leffler while working for +Silicon Graphics.

+ +The LZW algorithm is derived from the compress program (the proper attribution +is included in the source code). The Group 3 fax stuff originated as code +from Jef Poskanzer, but has since been rewritten several times. The latest +version uses an algorithm from Frank Cringle -- consult +libtiff/mkg3states.c and libtiff/tif_fax3.h for further +information. The JPEG support was written by Tom Lane and is dependent on the +excellent work of Tom Lane and the Independent JPEG Group (IJG) who distribute +their work under friendly licensing similar to this software. Joris Van Damme +implemented the robust Old JPEG decoder (as included in libtiff since version +3.9.0, there was another Old JPEG module in older releases, which was +incomplete and unsuitable for many existing images of that format). JBIG +module was written by Lee Howard and depends on JBIG library from the Markus +Kuhn. Many other people have by now helped with bug fixes and code; a few of +the more persistent contributors have been: + +

+    Bjorn P. Brox
+    Dan McCoy
+    J.T. Conklin                
+    Richard Minner
+    Frank D. Cringle        
+    Richard Mlynarik
+    Soren Pingel Dalsgaard  
+    Niles Ritter
+    Steve Johnson           
+    Karsten Spang
+    Tom Lane               
+    Peter Smith
+    Brent Roman            
+    Mike Welles
+    Frank Warmerdam
+    Greg Ward
+    Stanislav Brabec        
+    Roman Shpount
+    Peter Skarpetis        
+    Arvan Pritchard
+    Bernt Herd             
+    Joseph Orost
+    Phil Beffery           
+    Ivo Penzar
+    Francois Dagand        
+    Albert Chin-A-Young
+    Bruce A. Mallett
+    Dwight Kelly
+    Andrey Kiselev
+    Ross Finlayson
+    Dmitry V. Levin
+    Bob Friesenhahn
+    Lee Howard
+    Joris Van Damme
+    Tavis Ormandy
+    Richard Nolde
+
+ +(my apology to anyone that was inadvertently not listed.) + +

Use and Copyright

+ +

+Copyright (c) 1988-1997 Sam Leffler
+Copyright (c) 1991-1997 Silicon Graphics, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and 
+its documentation for any purpose is hereby granted without fee, provided
+that (i) the above copyright notices and this permission notice appear in
+all copies of the software and related documentation, and (ii) the names of
+Sam Leffler and Silicon Graphics may not be used in any advertising or
+publicity relating to the software without the specific, prior written
+permission of Sam Leffler and Silicon Graphics.
+
+THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
+WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
+
+IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
+ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
+LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
+OF THIS SOFTWARE.
+
+ +

+


+ + +Last updated: $Date: 2007/02/24 15:47:04 $ + + diff --git a/src/3rdparty/libtiff/html/support.html b/src/3rdparty/libtiff/html/support.html new file mode 100644 index 0000000..f6f5d60 --- /dev/null +++ b/src/3rdparty/libtiff/html/support.html @@ -0,0 +1,655 @@ + + + + TIFF 6.0 Specification Coverage + + + + + + + + + + +
+

TIFF 6.0 Specification Coverage

+

+ The library is capable of dealing with images that are written to + follow the 5.0 or 6.0 TIFF spec. There is also considerable support + for some of the more esoteric portions of the 6.0 TIFF spec. +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Core requirements +

+ Both "MM" and "II" byte orders are handled. + Both packed and separated planar configuration of samples. + Any number of samples per pixel (memory permitting). + Any image width and height (memory permitting). + Multiple subfiles can be read and written. + Editing is not supported in that related subfiles (e.g. + a reduced resolution version of an image) are not automatically + updated. +

+

+ Tags handled: ExtraSamples, ImageWidth, + ImageLength, NewSubfileType, ResolutionUnit. + Rowsperstrip, StripOffsets, StripByteCounts, + XResolution, YResolution +

+
Tiled ImagesTileWidth, TileLength, TileOffsets, + TileByteCounts
Image Colorimetry InformationWhitePoint, PrimaryChromaticities, TransferFunction, + ReferenceBlackWhite
Class B for bilevel imagesSamplesPerPixel = 1
+ BitsPerSample = 1
+ Compression = 1 (none), 2 (CCITT 1D), or 32773 (PackBits)
+ PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
Class G for grayscale imagesSamplesPerPixel = 1
+ BitsPerSample = 4, 8
+ Compression = 1 (none) 5 (LZW)
+ PhotometricInterpretation = 0 (Min-is-White), 1 (Min-is-Black)
Class P for palette color imagesSamplesPerPixel = 1
+ BitsPerSample = 1-8
+ Compression = 1 (none) 5 (LZW)
+ PhotometricInterpretation = 3 (Palette RGB)
+ ColorMap
Class R for RGB full color imagesSamplesPerPixel = 3
+ BitsPerSample = <8,8,8>
+ PlanarConfiguration = 1, 2
+ Compression = 1 (none) 5 (LZW)
+ PhotometricInterpretation = 2 (RGB)
Class F for facsimile(Class B tags plus...)
+ Compression = 3 (CCITT Group 3), 4 (CCITT Group 4)
+ FillOrder = 1 (MSB), 2 (LSB)
+ Group3Options = 1 (2d encoding), 4 (zero fill), 5 (2d+fill)
+ ImageWidth = 1728, 2048, 2482
+ NewSubFileType = 2
+ ResolutionUnit = 2 (Inch), 3 (Centimeter)
+ PageNumber, + XResolution, + YResolution, + Software, + BadFaxLines, + CleanFaxData, + ConsecutiveBadFaxLines, + DateTime, + DocumentName, + ImageDescription, + Orientation
Class S for separated imagesSamplesPerPixel = 4
+ PlanarConfiguration = 1, 2
+ Compression = 1 (none), 5 (LZW)
+ PhotometricInterpretation = 5 (Separated)
+ InkSet = 1 (CMYK)
+ DotRange, + InkNames, + DotRange, + TargetPrinter
Class Y for YCbCr imagesSamplesPerPixel = 3
+ BitsPerSample = <8,8,8>
+ PlanarConfiguration = 1, 2
+ Compression = 1 (none), 5 (LZW), 7 (JPEG)
+ PhotometricInterpretation = 6 (YCbCr)
+ YCbCrCoefficients, + YCbCrSubsampling, + YCbCrPositioning
+ (colorimetry info from Appendix H; see above)
Class "JPEG" for JPEG images (per TTN2)PhotometricInterpretation = 1 (grayscale), 2 (RGB), 5 (CMYK), 6 (YCbCr)
+ (Class Y tags if YCbCr)
+ (Class S tags if CMYK)
+ Compression = 7 (JPEG)
+

+ In addition, the library supports some optional compression algorithms + that are, in some cases, of dubious value. +

+ + + + + + + + +
Compression tag valueCompression algorithm
32766NeXT 2-bit encoding
32809ThunderScan 4-bit encoding
32909Pixar companded 11-bit ZIP encoding
32946PKZIP-style Deflate encoding (experimental)
34676SGI 32-bit Log Luminance encoding (experimental)
34677SGI 24-bit Log Luminance encoding (experimental)
+
+

+ Note that there is no support for the JPEG-related tags defined + in the 6.0 specification; the JPEG support is based on the post-6.0 + proposal given in TIFF Technical Note #2. +

+ + + + + +
For more information on the experimental Log Luminance encoding + consult the materials available at + http://www.anyhere.com/gward/pixformat/tiffluv.html.
+
+

+ The following table shows the tags that are recognized + and how they are used by the library. If no use is indicated, + then the library reads and writes the tag, but does not use it internally. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tag NameValueR/WLibrary's Use (Comments)
NewSubFileType254R/Wnone (called SubFileType in <tiff.h>)
SubFileType255R/Wnone (called OSubFileType in <tiff.h>)
ImageWidth256R/Wlots
ImageLength257R/Wlots
BitsPerSample258R/Wlots
Compression259R/Wto select appropriate codec
PhotometricInterpretation262R/Wlots
Thresholding263R/W 
CellWidth264 parsed but ignored
CellLength265 parsed but ignored
FillOrder266R/Wcontrol bit order
DocumentName269R/W 
ImageDescription270R/W 
Make271R/W 
Model272R/W 
StripOffsets273R/Wdata i/o
Orientation274R/W 
SamplesPerPixel277R/Wlots
RowsPerStrip278R/Wdata i/o
StripByteCounts279R/Wdata i/o
MinSampleValue280R/W 
MaxSampleValue281R/W 
XResolution282R/W 
YResolution283R/Wused by Group 3 2d encoder
PlanarConfiguration284R/Wdata i/o
PageName285R/W 
XPosition286R/W 
YPosition286R/W 
FreeOffsets288 parsed but ignored
FreeByteCounts289 parsed but ignored
GrayResponseUnit290 parsed but ignored
GrayResponseCurve291 parsed but ignored
Group3Options292R/Wused by Group 3 codec
Group4Options293R/W 
ResolutionUnit296R/Wused by Group 3 2d encoder
PageNumber297R/W 
ColorResponseUnit300 parsed but ignored
TransferFunction301R/W 
Software305R/W 
DateTime306R/W 
Artist315R/W 
HostComputer316R/W 
Predictor317R/Wused by LZW codec
WhitePoint318R/W 
PrimaryChromacities319R/W 
ColorMap320R/W 
TileWidth322R/Wdata i/o
TileLength323R/Wdata i/o
TileOffsets324R/Wdata i/o
TileByteCounts324R/Wdata i/o
BadFaxLines326R/W 
CleanFaxData327R/W 
ConsecutiveBadFaxLines328R/W 
SubIFD330R/Wsubimage descriptor support
InkSet332R/W 
InkNames333R/W 
DotRange336R/W 
TargetPrinter337R/W 
ExtraSamples338R/Wlots
SampleFormat339R/W 
SMinSampleValue340R/W 
SMaxSampleValue341R/W 
JPEGTables347R/Wused by JPEG codec
YCbCrCoefficients529R/Wused by TIFFReadRGBAImage support
YCbCrSubsampling530R/Wtile/strip size calculations
YCbCrPositioning531R/W 
ReferenceBlackWhite532R/W 
Matteing32995Rnone (obsoleted by ExtraSamples tag)
DataType32996Rnone (obsoleted by SampleFormat tag)
ImageDepth32997R/Wtile/strip calculations
TileDepth32998R/Wtile/strip calculations
StoNits37439R/W 
+

+ The Matteing and DataType + tags have been obsoleted by the 6.0 + ExtraSamples and SampleFormat tags. + Consult the documentation on the + ExtraSamples tag and Associated Alpha for elaboration. Note however + that if you use Associated Alpha, you are expected to save data that is + pre-multipled by Alpha. If this means nothing to you, check out + Porter & Duff's paper in the '84 SIGGRAPH proceedings: "Compositing Digital + Images". +

+

+ The ImageDepth + tag is a non-standard, but registered tag that specifies + the Z-dimension of volumetric data. The combination of ImageWidth, + ImageLength, and ImageDepth, + defines a 3D volume of pixels that are + further specified by BitsPerSample and + SamplesPerPixel. The TileDepth + tag (also non-standard, but registered) can be used to specified a + subvolume "tiling" of a volume of data. +

+

+ The Colorimetry, and CMYK tags are additions that appear in TIFF 6.0. + Consult the TIFF 6.0 specification included in the doc directory + and online. +

+

+ The JPEG-related tag is specified in + TIFF Technical Note #2 which defines + a revised JPEG-in-TIFF scheme (revised over that appendix that was + part of the TIFF 6.0 specification). +

+
+

+ Last updated: $Date: 2005/12/28 06:53:18 $ +

+ + + diff --git a/src/3rdparty/libtiff/html/tools.html b/src/3rdparty/libtiff/html/tools.html new file mode 100644 index 0000000..b1a757e --- /dev/null +++ b/src/3rdparty/libtiff/html/tools.html @@ -0,0 +1,164 @@ + + + + +TIFF Tools Overview + + +

TIFF +Tools Overview

+

This software distribution comes with a small collection of +programs for converting non-TIFF format images to TIFF and for +manipulating and interrogating the contents of TIFF images. Several +of these tools are useful in their own right. Many of them however +are more intended to serve as programming examples for using the +TIFF library.

+

Device-dependent Programs

+There are two device-dependent programs that serve as simple +examples for writing programs to display and save TIFF images. + + + + + + + + + +
+tiffgt    Display the contents of one or more TIFF images using OpenGL. +The software makes extensive use of the TIFFRGBAImage +facilities described elsewhere.
tiffsvA program to save all or part of a screen dump on a Silicon +Graphics system. As for tiffgt this code, while written to +use the IRIS GL, can be easily tailored to other devices.
+

Device-independent Programs

+The remaining programs should be device-independent: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bmp2tiffConvert BMP images to TIFF
fax2psConvert a Group 3- or Group 4- compressed TIFF to PostScript +that is significantly more compressed than is generated by +tiff2ps (unless tiff2ps writes PS Level II)
fax2tiffConvert raw Group 3 or Group 4 facsimile data to TIFF
gif2tiffA quick hack that converts GIF 87a (old) format images to TIFF
pal2rgbConvert a Palette-style image to a full color RGB image by +applying the colormap
ppm2tiffA quick hack that converts 8-bit PPM format images to TIFF
ras2tiffA quick hack that converts Sun rasterfile format images to TIFF +-- it's less than complete
raw2tiffCreate a TIFF file from raw data
rgb2ycbcrConvert an RGB, grayscale, or bilevel TIFF image to a YCbCr +TIFF image; it's mainly provided for testing
sgi2tiffA program to convert SGI image files to TIFF. This program is +only useful on SGI machines as it uses -limage.
thumbnailCopy a bilevel TIFF to one that includes 8-bit greyscale +"thumbnail images" for each page; it is provided as an example of +how one might use the SubIFD tag (and the library support +for it)
tiff2bwA simple program to convert a color image to grayscale
tiff2pdfConvert TIFF images to PDF
tiff2psConvert TIFF images to PostScript
tiff2rgbaConvert a TIFF image to RGBA color space
tiffcmpCompare the contents of two TIFF files (it does not check all +the directory information, but does check all the data)
tiffcpCopy, concatenate, and convert TIFF images (e.g. switching from +Compression=5 to Compression=1)
tiffcropProvides selection of images from within one or more multi-image +TIFF files, with orthogonal rotation, mirroring, cropping, and +extraction of multiple sections and exporting to one or more files. +It extends the functionality of tiffcp to support additional bit +depths in strips and tiles and enhances the selection capabilities of +tiffsplit. Bilevel images can be inverted and images may be split into +segments to fit on multiple /pages/ (standard paper sizes), plus other +functions described in the tiffcrop man page
tiffditherDither a b&w image into a bilevel image (suitable for use +in creating fax files)
tiffdumpDisplay the verbatim contents of the TIFF directory in a file +(it's very useful for debugging bogus files that you may get from +someone that claims they support TIFF)
tiffinfoDisplay information about one or more TIFF files.
tiffmedianA version of Paul Heckbert's median cut program that reads an +RGB TIFF image, and creates a TIFF palette file as a result
tiffsetSet a field in a TIFF header
tiffsplitCreate one or more single-image files from a (possibly) +multi-image file
+

Check out the manual pages for details about the above +programs.

+
+Last updated: $Date: 2009-10-28 22:13:58 $ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta007.html b/src/3rdparty/libtiff/html/v3.4beta007.html new file mode 100644 index 0000000..c535d27 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta007.html @@ -0,0 +1,112 @@ + + + +Changes in TIFF v3.4beta007 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • bit order was corrected for Pentium systems +
  • a new define, HOST_BIGENDIAN, was added for code that + wants to statically use information about native cpu byte order +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • the G3/G4 decoder was replaced by a new one that is faster and + has smaller state tables +
  • Niles Ritter's client tag extension hooks were added +
  • a new routine TIFFCurrentDirOffset was added for + applications that want to find out the file offset of a TIFF directory +
  • the calculation of the number of strips in an image was corected + for images with certain esoteric configurations +
  • a potential memory leak (very unlikely) was plugged +
  • the TIFFReadRGBAImage support was completely rewritten + and new, more flexible support was added for reading images into + a fixed-format raster +
  • YCbCr to RGB conversion done in the TIFFReadRGBAImage support + was optimized +
  • a bug in JPEG support calculation of strip size was corrected +
  • the LZW decoder was changed to initialize the code table to zero + to lessen potential problems that arise when invalid data is decoded +
  • tiffcomp.h is now aware of OS/2 +
  • some function prototypes in tiffio.h and tiffiop.h + that contained parameter + names have been changed to avoid complaints from certain compilers +
+ +


+ +CHANGES IN THE PORTABILITY SUPPORT: + +
    +
  • Makefile.in has been corrected to use the parameters + chosen by the configure script +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • fax2ps has been rewritten and moved over from the user + contributed software +
  • an uninitialized variable in pal2rgb has been fixed +
  • ras2tiff now converts 24-bit RGB raster data so that + samples are written in the proper order +
  • tiff2ps has been updated to include fixes + and enhancements from Alberto Accomazzi +
  • tiffcp now has a -o option to select a directory + by file offset +
  • tiffinfo is now capable of displaying the raw undecoded + image data in a file +
  • tiffgt has been rewritten to use the new TIFFRGBAImage + support and to handle multiple files +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta016.html b/src/3rdparty/libtiff/html/v3.4beta016.html new file mode 100644 index 0000000..22f185f --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta016.html @@ -0,0 +1,122 @@ + + + +Changes in TIFF v3.4beta016 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • support was added for configuring the Deflate codec +
  • support was added for the HTML documentation +
  • codecs that are not configured for inclusion in the library + are no longer compiled +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • support was added for registering new codecs external to the library + and for overriding the codecs that are builtin to the library +
  • emulation support for the old DataType tag was improved +
  • suppport was added for the SMinSampleValue + and SMaxSampleValue tags +
  • the library no longer ignores TileWidth and TileLength + tags whose values are not a multiple of 16 (per the spec); this + permits old, improperly written, images to be read +
  • the support for the Predictor tag was placed in a reusable + module so that it can be shared by multiple codecs +
  • experimental compression support was added for the Deflate algorithm + (using the freely available zlib package) +
  • a new routine, TIFFWriteBufferSetup was added a la the + routine TIFFReadBufferSetup +
  • the DSO version of the library is now statically linked with the + JPEG and Deflate libraries; this means applications that link against + the DSO do not also need to link against these ancillary libraries +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • all the tools now use common code to process compress-oriented arguments +
  • tiffdump should now compile on a Macintosh with MPW +
+ +


+ +CHANGES IN THE MANUAL PAGES: + +
    +
  • everything was updated +
+ +


+ +CHANGES IN THE DOCUMENTATION: + +
    +
  • everything was updated +
+ +


+ +CHANGES IN CONTRIBUTED SOFTWARE: + +
    +
  • contrib/dbs/xtiff was made to compile +
  • contrib/mac-mpw is new support for compiling the software on + a Macintosh under MPW; consult the documentation + for details +
  • contrib/tags is information on how to use the tag extenion + facilities; consult + contrib/tags/README for details +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta018.html b/src/3rdparty/libtiff/html/v3.4beta018.html new file mode 100644 index 0000000..ac1877f --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta018.html @@ -0,0 +1,84 @@ + + + +Changes in TIFF v3.4beta018 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • configure now recognizes IRIX 6.x systems +
  • configure now uses ENVOPTS when searching for an ANSI + C compiler; this fixes a problem configuring the software under + HP/UX with the native C compiler +
  • configure now correctly recognizes memory-mapped files are supported + under AIX +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • make install now properly installs the include files +
  • some portability fixes from Bjorn Brox +
  • the G3/G4 codec now warns about decoded rows that are longer than + the image/tile width +
  • changes from Frank Cringle to make the library work with the + gcc-specific bounds checking software +
  • miscellaneous fixes to TIFFPrintDirectory +
  • bug fix to correct a problem where TIFFWriteRawStrip + could not be used to automatically grow an image's length +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • fixes from Frank Cringle to update fax2tiff +
  • portability fixes to tiff2bw and tiffcmp +
  • tiffdump now uses the byte swapping routines in the library +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta024.html b/src/3rdparty/libtiff/html/v3.4beta024.html new file mode 100644 index 0000000..25a3347 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta024.html @@ -0,0 +1,139 @@ + + + +Changes in TIFF v3.4beta024 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • It is now possible to setup the software to build only the + library; configure reconizes this is the intent when the + VERSION, tiff.alpha, and tif_version.c + files are in the local directory (i.e. ``.'') +
  • configure no longer tries to setup HTML materials +
  • include file directories needed in building the library are now + specified with a DIRS_LIBINC config parameter +
  • configure no longer checks for alternate compilers if CC + is set; if the specified compiler is not found or is not appropriate + the configuration procedure aborts +
  • the port.h file generated by configure is now used only by + the library and as such as have been moved to the libtiff + directory +
  • there is beginning support for building DSO's on systems other than IRIX +
  • configure now verifies the JPEG and zlib directory pathnames by + checking for well-known include files in these directories +
  • configure no longer creates the dist directory needed only + on SGI machines (for building SGI binary distributions) +
  • a bug was fixed whereby configure would incorrectly set + ENVOPTS when building the software with gcc under AIX +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • two new typedefs were added to tiff.h: int8 + and uint8 for signed and unsigned 8-bit quantities, + respectively; these are currently used only by + programs in the tools directory +
  • the BadFaxLines, CleanFaxData, and + ConsecutiveBadFaxLines tags are now supported with + Group 4 compression +
  • byte order is now correctly identified on 64-bit machines +
  • a bug was fixed in the PackBits decoder where input data would + appear short when a no-op run was present +
  • a bug was fixed in calculations with very wide strips +
  • TIFFWriteEncodedStrip and TIFFWriteRawStrip + were extended to support dynamically growing the number of + strips in an image (must set ImageLength prior to + making calls though) +
  • TIFFDefaultTileSize now rounds tile width and height + up to a multiple of 16 pixels, as required by the TIFF 6.0 specification +
  • the file version.h is now built by a new mkversion + program; this was done for portability to non-UNIX systems +
  • support was added for the Acorn RISC OS (from Peter Greenham) +
  • the builtin codec table is now made const when compiling + under VMS so that libtiff can be built as a shared library +
  • support for the PowerPC Mac (from Ruedi Boesch) +
  • support for Window NT/Window 95 (from Scott Wagner) +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • the tools no longer include port.h +
  • various portability fixes; mostly to eliminate implicit assumptions + about how long int32 data types are +
  • PostScript Level II additions to tiff2ps from Bjorn Brox +
  • sgi2tiff now handles RGBA images +
+ +


+ +CHANGES IN THE MANUAL PAGES: + +
    +
  • the documentation has been updated to reflect the current state of + the software +
  • some routines have been moved to different manual pages + to group like-routines together +
+ +


+ +CHANGES IN THE CONTRIBUTED SOFTWARE: + +
    +
  • support was added for the Acorn RISC OS (from Peter Greenham) +
  • support for Windows NT/Windows 95 contributed for a previous + version of this software was sort of incorporated (it's broken + right now) (from Scott Wagner) +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta028.html b/src/3rdparty/libtiff/html/v3.4beta028.html new file mode 100644 index 0000000..ff7ef69 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta028.html @@ -0,0 +1,146 @@ + + + +Changes in TIFF v3.4beta028 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • a -noninteractive flag was added to configure to + control whether or not it prints and prompts for configuration information +
  • various typos and fixes were made in configure for the the + library-only build support (this and other configure fixes from + Richard Mlynarik <mly@adoc.xerox.com>) +
  • bugs were fixed in the handling of pathnames supplied for external + packages; e.g. DIR_JPEG +
  • the handling of SETMAKE is now done properly +
  • the default prototype function declaration for pow was corrected +
  • a bug was fixed in libtiff/Makefile.in that caused installation + to fail on systems without DSO support +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • Acorn RISC O/S support that was accidentally left out of the + left out of the previous distribution is present (from Peter Greenham) +
  • complaints about unknown and/or unsupported codecs have been + delayed until they are invoked; this permits applications to open + images and look at tags even if the image data is compressed with + an unknown/unsupported compression scheme +
  • bugs in handling unknown tags have been corrected; applications + that use multiple codecs, each with codec-specific tags, no longer + generate confusing error messages +
  • a missing pseudo-tag definition in the CCITT G3 codec was fixed + (this problem caused core dumps in the tiffcp program) +
  • pseudo-tags are now treated specially; they are always considered + to be set (i.e. they do not use bits in the FIELD_* bit-vectors). +
  • the use of strip chopping can now be controlled on a per-file basis + through a mode parameter supplied when opening a file (``C'' to + enable strip chopping and ``c'' to disable) +
  • two bugs were fixed in the writing of opposite-endian byte-order + files +
  • support was added for three new fax-related tags registered to + SGI: FaxRecvParams, FaxRecvTime, and FaxSubAddress +
  • the bit order of image data read and written can now be controlled + on a per-file basis through a mode parameter supplied when opening + a file (``B'' to force MSB2LSB bit order, ``L'' for LSB2MSB bit + order, and ``H'' for the bit order of the native CPU) +
  • the byte order of image and tag data written to newly-created files + can now be controlled on a per-file basis through a mode parameter + supplied when openening a file (``b'' to force Big-Endian byte order + and ``l'' to force Little-Endian byte order) +
  • the use memory-mapped files for images opened read-only can now + be controlled on a per-file basis through a mode parameter supplied + when opening a file (``M'' to enable use of memory-mapped files + and ``m'' to disable use) +
  • the use of the WIN32 define in tiffiop.h has + been replaced by __WIN32__ +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • fax2ps now does a save and restore + around each page of PostScript; this fixes a problem with VM + overflow when printing a many-page document on some printers +
  • a bug in the handling of 3-channel images by ras2tiff + was fixed +
  • tiffcp has new options to control the byte order of + newly created files: -B for Big-Endian byte order, -L + for Little-Endian byte order; a -M option to disable the + use of memory-mapped files, and a -C option to disable the + use of strip chopping +
  • bugs were fixed in tiffcp's handling of codec-specific tags +
+ +


+ +CHANGES IN THE MANUAL PAGES: + +
    +
  • the TIFFOpen page has been updated to reflect the new + optional open mode parameters +
+ +


+ +CHANGES IN THE CONTRIBUTED SOFTWARE: + +
    +
  • contrib/win95 contains information and code from Philippe Tenenhaus + <100423.3705@compuserve.com> + about using the software under Windows 95 +
  • contrib/winnt contains information and code from Dave Dyer + <ddyer@triple-i.com> + about using the software under Windows NT +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta029.html b/src/3rdparty/libtiff/html/v3.4beta029.html new file mode 100644 index 0000000..f2a3d3f --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta029.html @@ -0,0 +1,86 @@ + + + +Changes in TIFF v3.4beta029 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • configure now relativizes pathname references given in + -L options (as frequently specified when configuring + ancillary packages) +
  • problems related to configuring the software on Ultrix 4.4 have + been corrected +
  • the shell to use in Makefiles and scripts can now be set with the + SCRIPT_SH configuration parameter +
  • comments in config.site now correctly indicate how to setup the + use of ancillary packages +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • mods for building the software on a Mac using the + MetroWerks CodeWarrior compilers +
  • a bug in the CCITT T.4/T.6 decoder was fixed where the last codeword in + a strip/tile might not be decoded; this was seen only when decoding + multi-strip images +
  • a bug in the CCITT RLE codecs was fixed whereby the pseudo tags were not + being properly registered +
+ +


+ +CHANGES IN THE CONTRIBUTED SOFTWARE: + +
    +
  • contrib/mac-cw contains information and code from Niles Ritter + <ndr@tazboy.jpl.nasa.gov> + about building the software with the MetroWerks CodeWarrior compilers + on Macintosh systems +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta031.html b/src/3rdparty/libtiff/html/v3.4beta031.html new file mode 100644 index 0000000..d5b7eac --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta031.html @@ -0,0 +1,94 @@ + + + +Changes in TIFF v3.4beta031 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • configure now captures significantly more information + in the config.log file and provides more information when + it is unable to setup a configuration +
  • support was added for building shared libraries on more systems: + AIX, HPUX, Solaris, and Linux. +
  • a new configuration parameter LIBCOPTS was added for + passing arguments to the C compiler to use when building only + the library; this is part of the enhanced support for building + shared libraries +
  • include files for optional packages that reside in /usr/include + are now handled correctly +
  • build trees may now be configured using either relative or absolute + pathnames to the source distribution +
  • several new configuration parameters were added, mainly for building + shared libraries: DIST_MAJOR, DIST_MINOR, + DIST_ALPHA, and DSOSUF_VERSION +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • the Deflate support has been revised: it requires version 0.99 of + the zlib software distribution, the output format has changed and + is incompatible with previous versions of this library (each + strip now includes a header read and written by the zlib library) +
  • the codec name printed by the TIFFPrintDirectory routine is now + taken from the codec table instead of from a builtin table; this means + that application-defined codecs are handled correctly +
  • a new symbol was added that contains the library version number; + this can be used to do a compile-time compatibility check of the + library version +
+ +


+ +CHANGES IN THE MANUAL PAGES: + +
    +
  • the creation and installation of manual pages was redone; it now + implements the documented ``configuration scheme'' +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta032.html b/src/3rdparty/libtiff/html/v3.4beta032.html new file mode 100644 index 0000000..bc14ef3 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta032.html @@ -0,0 +1,90 @@ + + + +Changes in TIFF v3.4beta032 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • various fixups and subtle improvements to configure + from Richard Mlynarik +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • a new codec from Pixar designed for high-resolution color images; + note that this codec is not configured by default +
  • a bug fix for reading tags with a single FLOAT value +
  • change to the TIFFGetField calling convention: + a tag that has a single value of + type DOUBLE is now retrieved by passing a + ``double*'' instead of a + ``double**'' (this change makes the handling of tags with + DOUBLE values identical to the handling of tags with + FLOAT values) +
  • fix to VMS support for the handling of floating point values +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • tiffdump now handles tags with FLOAT and DOUBLE + values +
+ +


+ +CHANGES IN THE CONTRIBUTED SOFTWARE: + +
    +
  • updates to the Acorn OS support from Peter Greenham +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta033.html b/src/3rdparty/libtiff/html/v3.4beta033.html new file mode 100644 index 0000000..8d8345a --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta033.html @@ -0,0 +1,82 @@ + + + +Changes in TIFF v3.4beta033 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • support was added for building the library as a DSO under OSF/1 +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • fixes to the Pixar codec +
  • portability mods for VMS +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • fixes to gif2tiff and ppm2tiff for building under MS/DOS +
  • portability mods to fax2ps and ycbcr for VMS +
+ +


+ +CHANGES IN THE CONTRIBUTED SOFTWARE: + +
    +
  • a new package from Alexander Lehmann + for building the library and tools under MS/DOS with DJGPP v2 +
  • updated VMS support from Karsten Spang +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta034.html b/src/3rdparty/libtiff/html/v3.4beta034.html new file mode 100644 index 0000000..77d9863 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta034.html @@ -0,0 +1,68 @@ + + + +Changes in TIFF v3.4beta034 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • support was added for building the library as a DSO under NetBSD +
  • a bug was fixed in the DSO support for Linux +
  • the handling of version strings has changed slightly to simplify parsing +
  • a new parameter, TIFFLIBREF, was added to control how the + library is referenced when linking programs in the tools directory +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • DSO creation under Solaris now forces the DSO name with a -h option +
  • the interface to the mkversion program was changed + to eliminate the need to parse files +
  • a bug was fixed in the EOL-detection logic of the T.4/T.6 decoder +
  • ANSI IT8 TIFF/IT tag definitions were added to tiff.h +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta035.html b/src/3rdparty/libtiff/html/v3.4beta035.html new file mode 100644 index 0000000..22fb2b8 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta035.html @@ -0,0 +1,63 @@ + + + +Changes in TIFF v3.4beta035 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • support was added installing the HTML documentation +
  • support was added for building the library as a DSO under FreeBSD +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • the interface to the mkversion program was restored to + the form used prior to v3.4beta034 +
  • several portability problems for 16-bit systems were fixed +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.4beta036.html b/src/3rdparty/libtiff/html/v3.4beta036.html new file mode 100644 index 0000000..e36754d --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.4beta036.html @@ -0,0 +1,117 @@ + + + +Changes in TIFF v3.4beta036 + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • support was added for building the library as a DSO under HP-UX with + the native C compiler +
  • tools are now built with explicit pathnames for the DSO under IRIX, + Solaris, and Linux +
  • DSO configuration support for Linux was changed to require that + libc.so only be readable (not executable) +
+ +


+ +CHANGES IN LIBTIFF: + +
    +
  • support was add for ICC: NumberOfInks, and ICCProfile +
  • a memory leak caused by doing TIFFSetDirectory(0) was fixed +
  • a bug was fixed whereby certain multi-directory files were not + properly handled when accessed by mapping the data into memory +
  • the strip chopping support is now always compiled + into the library with the default usage controlled by a + STRIPCHOP_DEFAULT configuration parameter +
  • the strip chopping support no longer chops tiled images +
  • all static strings are now const--for shared libraries +
  • the logic for estimating the strip size of images without + a StripByteCounts tag was improved by handling + PlanarContig images differently from PlanarSeparate +
  • a bug was fixed in the G3 codec when converting the Y resolution + of data specified in metric units +
  • a bug was fixed in the G3/G4 decoder for data where lines terminate + with a v0 code +
  • the TIFFRGBAImage support was changed to scale 16-bit colormap + entries more conservatively to avoid problems with applications + that do not generate fully saturated pixel values +
  • the LZW decoder was changed to use a more conservative scheme when + bounds checking the hash table array; this avoids pitfalls with + systems that load objects into memory in unusual locations +
  • a bug was fixed in TIFFPrintDirectory's handling of the + InkNames tag +
  • TIFFPrintDirectory now understands NumberOfInks + and ICC-related tags +
  • the routines for reading image data now provide more useful information + when a read error is encountered +
  • support was added for compiling with Microsoft Visual C++ 4.0 +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • a bug was fixed in pal2rgb's colormap handling +
  • tiff2ps now includes John Wehle's changes for maintaining + the aspect ratio + of images when scaling and for honoring the deadzone on a page when + generating PostScript Level II +
  • tiff2ps does a better job guarding against the mishandling + of greyscale images +
  • tiff2ps now correctly converts X- and Y-resolution values + specified in metric units +
  • tiffdump has a new -m option to control the maximum + number of indirect + data values printed for a tag (by default 24) +
  • tiffdump understands several new tags +
  • tiffdump now shows any terminating null in ASCII strings +
  • tiffinfo now suppresses strip chopping when interpreting an image; + a new -z option has been added to enable strip chopping +
+ + TIFF home page.
+ +
+ +
+Sam Leffler / sam@engr.sgi.com +Last updated $Date: 1999/08/09 20:21:21 $. +
+ + + diff --git a/src/3rdparty/libtiff/html/v3.5.1.html b/src/3rdparty/libtiff/html/v3.5.1.html new file mode 100644 index 0000000..0c88de9 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.5.1.html @@ -0,0 +1,75 @@ + + + +Changes in TIFF v3.5.1 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • None of consequence +
+ +


+ +CHANGES IN LIBTIFF: + + +
    +
  • Support was added for IPTC Newsphoto metadata (TIFFTAGE_IPTCNEWSPHOTO) +
  • Support was added for photoshop caption handling (TIFFTAG_PHOTOSHOP) +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • Bill Radcliffe's iptcutil was +added to the "contrib" subdirectory . It can convert an IPTC binary +blob to ASCII text and vice-versa. The blob itself can be extracted +from or added to an image with the ImageMagick convert(1) +utility. +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2006/01/03 01:42:30 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.5.2.html b/src/3rdparty/libtiff/html/v3.5.2.html new file mode 100644 index 0000000..71b486a --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.5.2.html @@ -0,0 +1,108 @@ + + + +Changes in TIFF v3.5.2 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+ +


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • Corrected alpha versioning. + +
  • Removed distinction between alpha and release targets in Makefile.in. + +
  • Added release.stamp target, which tags cvs tree, and updates + "RELEASE-DATE" + +
  • Added releasediff target, which diffs tree with source as of + date in "RELEASE-DATE" + +
  • Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving + away from alpha/non-alpha distinctions). + +
+ +


+ +CHANGES IN LIBTIFF: + + +
    +
  • Added IRIX/gcc, and OSF/1 4.x support on behalf of + Albert Chin-A-Young + +
  • Added TIFFReassignTagToIgnore() API on behalf of + Bruce Cameron . Man page still pending. + +
  • pre-remove so link before softlink in LINUXdso action in + libtiff/Makefile.in to avoid failure on LINUXdso builds other than + the first. + +
  • Fixed problem with cvtcmap() in tif_getimage.c modifying the + colormaps owned by the TIFF handle itself when trying to fixup wrong + (eight bit) colormaps. Corrected by maintaining a private copy of + the colormap. + +
  • Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in + tif_getimage.c. + +
  • Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested + by Christopher Lawton + +
  • Set O_BINARY for tif_unix.c open() ... used on cygwin for instance. + +
  • Added CYGWIN case in configure. + +
  • Applied Francois Dagand's patch to handle fax decompression bug. + (sizes >= 65536 were failing) +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • Added addtiffo (add overviews to a TIFF file) in contrib. Didn't + put it in tools since part of it is in C++. +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2004/11/26 14:37:20 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.5.3.html b/src/3rdparty/libtiff/html/v3.5.3.html new file mode 100644 index 0000000..e7910d9 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.5.3.html @@ -0,0 +1,132 @@ + + + +Changes in TIFF v3.5.3 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+The ChangeLog will follow, but please note the most important change: +LZW compression has been removed. +

+Unisys has the patent on LZW compression and have been very active in +their enforcement of late, demanding payments of $5000 or more from +websites using unlicensed software to create GIF's. They could well +do the same do persons using libtiff to create LZW compressed TIFF +images. +

+From Burn All GIF's Day: +
+The catch is that it appears to be difficult or impossible to get a +Unisys license to use LZW in free software that complies with the Open +Source Definition +

+Unfortunatly, the removal of LZW compression means that saved image size has +grown dramatically. Without a change in the TIFF spec to support +another lossless compression format, this is unavoidable. +

+The library can use zip for lossless compression, but as this is not +part of the spec, TIFFs using zip compression may not work with other +software +

+We will be making a patch available that will contain the LZW +compression code for users who have either obtained a license from +Unisys or are willing to risk it. +

+LZW decompression is unchanged. +

+


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • Added zip creation to release makefile target + + +
+ +


+ +CHANGES IN LIBTIFF: + + +
    + +
  • Added html for TIFFWriteTile.3t man page. + +
  • Added some changes to tif_write.c to support rewriting existing + fixed sized tiles and strips. Code mods disabled by default, only + enabled if REWRITE_HACK is defined for now. + +
  • Added TIFFWriteTile.3t man page. + +
  • Added notes on use of makefile.vc in build.html, and fixed + email subscription address. + +
  • Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c + +
  • Did some casts cleaning up to reduce compiler warnings in tif_fax3.c, + from Bruce Carmeron -- modifications of + changes made by Frank (sun cc still complained on cast). + +
  • fixed various VC++ warnings as suggested by Gilles Vollant + . + +
  • Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to + not imply applications are responsible for image data swapping. + +
  • HTML-ized the man pages, added to html/man + +
  • Removed LZW Compression to comply with Unisys patent extortion. + +
  • Corrected one remaining 16 -> 32 bit value in tif_fax3.c, + From Ivo Penzar Added patch from Ivo Penzar to have TiffAdvanceDirectory handle + memory mapped files. +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2004/11/26 14:37:20 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.5.4.html b/src/3rdparty/libtiff/html/v3.5.4.html new file mode 100644 index 0000000..714621e --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.5.4.html @@ -0,0 +1,88 @@ + + + +Changes in TIFF v3.5.4 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • None + + +
+ +


+ +CHANGES IN LIBTIFF: + + +
    + +
  • Added Pixar tag support. Contributed by Phil Beffery + +
  • Made one more change to tif_dir.c for removal of LZW compression. Also added notice + when LZW compression invoked. + +
  • Fixed bug that caused LZW (non) compression to segfault. Added + warning about LZW compression removed being removed, and why. + +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions + in tools to reflect removal of LZW compression + +
  • Added nostrip to install in tools/Makefile.in so that debugging + symbols are kept. + +
  • Made Packbits the default compression in tools/tiff2rgba.c instead + of LZW. + + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2006/01/03 01:45:41 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.5.5.html b/src/3rdparty/libtiff/html/v3.5.5.html new file mode 100644 index 0000000..20be92f --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.5.5.html @@ -0,0 +1,155 @@ + + + +Changes in TIFF v3.5.5 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    + +
  • configure: added test for libc6 for linux targets. Bug reported by + Stanislav Brabec + +
  • configure: fixed bugs in sed scripts + (applied sed script s:/@:s;@:;s:/s;;:;: to configure). + fix submitted by Stanislav Brabec + +
  • tools/iptcutil was not in files list, and wasn't being + added to tar archive. Updated Makefile.in. + +
  • Added 3.5 docs to html/Makefile.in. + Thanks to Stanislav Brabec + +
  • Fixed tools/tiffcmp so that stopondiff testing works. + Patch care of Joseph Orost . + +
  • Added fax3sm_winnt.c to distribution list in Makefile.in. + +
  • Added libtiff/libtiff.def to TIFFILES distribution list. +
+ +


+ +CHANGES IN LIBTIFF: + + +
    +
  • tif_fax3.c: Fixed serious bug introduced during the uint16->uint32 + conversion for the run arrays. + +
  • Set td_sampleformat default to SAMPLEFORMAT_UINT instead of + SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c. + +
  • Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c. + +
  • Patched tif_fax3.c so that dsp->runs is allocated a bit bigger + to avoid overruns encountered with frle_bug.tif. + + +
  • Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is + set to 1, and added default (off) setting in tiffconf.h. This + should eventually be set by the configure script somehow. + + The original work on all these 2-4GB changes was done by + Peter Smith (psmith@creo.com). + +
  • Modified tif_win32.c to support 2-4GB seeks. + +
  • tentatively changed toff_t to be unsigned instead of signed to + facilitate support for 2-4GB files. + +
  • Updated a variety of files to use toff_t. Fixed some mixups + between toff_t and tsize_t. + +
  • Set tif_rawdatasize to zero when freeing raw data buffer in + TIFFWriteDirectory(). + +
  • Enabled "REWRITE_HACK" in tif_write.c by default. + +
  • Fix bug in tif_write.c when switching between reading one directory + and writing to another. + +
  • Made TIFFWriteCheck() public, and added TIFFCreateDirectory() + +
  • Added TIFFmemory(3t) functions to libtiff.def. + +
  • Added libtiff/libtiff.def to TIFFILES distribution list. +
+ +


+ +CHANGES IN THE TOOLS: + +
    +
  • fax2ps: Fixed mixup of width and height in bounding box statement + as per submission by Nalin Dahyabhai . + +
  • fax2ps: Modified printruns to take uint32 instead of uint16. + Patch courtesy of Bernt Herd + + +
  • Largely reimplemented contrib/addtiffo to avoid temp files, + updating the TIFF file in place. Fixed a few other bugs to. + +
  • Altered descriptions in tools to reflect "by default" lzw not supported +
+ +


+ +CHANGES IN THE LZW COMPRESSION KIT +
    +
  • created mangle-src.sh -- sed scripts to munge src into LZW enabled format. Thanks to Stanislav Brabec + +
  • created Makefile + +
  • merged tif_dir.c with current source. + + +
  • Created lzw compression kit, as a new CVS module (libtiff-lzw-compression-kit). + +
  • Updated index.html to note lzw compression kit. + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2004/11/26 14:37:20 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.5.6-beta.html b/src/3rdparty/libtiff/html/v3.5.6-beta.html new file mode 100644 index 0000000..682f845 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.5.6-beta.html @@ -0,0 +1,185 @@ + + + +Changes in TIFF v3.5.6 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    + +
  • Added GNULDdso target and switched linux and freebsd to use it. +
  • tools/Makefile.in: Modified to install properly on SGI. +
  • configure: Fixed DSO test for Linux as per patch from + Jan Van Buggenhout . + +
+ +


+ +CHANGES IN LIBTIFF: + + +
    + +
  • tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory + as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18 + from vandrove@vc.cvut.cz. + +
  • Modified tif_packbits.c decoding to avoid overrunning the + output buffer, and to issue a warning if data needs to be + discarded. See http://bugzilla.remotesensing.org/show_bug.cgi?id=18 + +
  • Modified TIFFClientOpen() to emit an error on an attempt to + open a comperessed file for update (O_RDWR/r+) access. This is + because the compressor/decompressor code gets very confused when + the mode is O_RDWR, assuming this means writing only. See + bug http://bugzilla.remotesensing.org/show_bug.cgi?id=13 + +
  • Applied patch for 0x0000 sequences in tif_fax3.h's definition + of EXPAND1D() as per bug 11 (from Roman). + +
  • Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve + cygwin compatibility. + +
  • Applied patch from Roman Shpount to tif_fax3.c. This seems to + be a proper fix to the buffer sizing problem. See + http://bugzilla.remotesensing.org/show_bug.cgi?id=11 + +
  • Fixed tif_getimage.c to fix overrun bug with YCbCr images without + downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10 + Thanks to Nick Lamb for reporting the + bug and proving the patch. + +
  • Fixed tif_jpeg.c so avoid destroying the decompressor before + we are done access data thanks to bug report from: + Michael Eckstein . + +
  • tif_open.c: Don't set MMAP for O_RDWR files. + +
  • tif_open.c: Set STRIPCHOP_DEFAULT for O_RDWR as well as O_RDONLY + so that files opened for update can be strip chopped too. + +
  • tif_read.c: fixed up bug with files missing rowsperstrip and + the strips per separation fix done a few weeks ago. + +
  • Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and + SAMPLEFORMAT_COMPLEXINT. + +
  • index.html, bugs.html: added bugzilla info. + +
  • tif_read.c: fix subtle bug with determining the number of + rows for strips that are the last strip in a separation but + not the last strip of all in TIFFReadEncodedStrip(). + +
  • Applied 16/32 bit fix to tif_fax3.c. Fix supplied by + Peter Skarpetis + +
  • Modified tiffio.h logic with regard to including windows.h. It + won't include it when building with __CYGWIN__. + +
  • README: update to mention www.libtiff.org, don't list Sam's old + email address. + +
  • libtiff/tif_dirread.c: Don't use estimate strip byte count for + one tile/strip images with an offset, and byte count of zero. These + could be "unpopulated" images. + +
  • tif_win32.c: Applied patch to fix overreads and ovverwrites + caught by BoundsChecker. From Arvan Pritchard + (untested). + +
  • tif_getimage.c: Applied patch to silence VC6 warnings. From + Arvan Pritchard + +
  • tif_lzw.c: Applied patch to silence VC6 warnings. From + Arvan Pritchard + +
  • libtiff/tif_apple.c: Applied "Carbon" support patches supplied by + Leonard Rosenthol . May interfere + with correct building on older systems. If so, please let me know. + + +
+ +


+ +CHANGES IN THE TOOLS: + +
    + +
  • tools/rgb2ycbcr.c: fixed output strip size to account for vertical + roundup if rows_per_strip not a multiple of vertical sample size. + +
  • tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT. + +
  • Modified tiff2bw to ensure portions add to 100%, and that + white is properly recovered. See bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=15 Patch + c/o Stanislav Brabec + +
+ +


+ +CHANGES IN CONTRIB: + +
    + +
  • contrib/addtiffo: Added "averaging" resampling option. + +
  • Added contrib/stream (stream io) code submitted by Avi Bleiweiss. + +
+ +


+ +CHANGES IN THE LZW COMPRESSION KIT +
    + +
  • updated tif_dir.c to reflect changes to no-lzw tif_dir.c + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2006/03/18 17:12:47 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.5.7.html b/src/3rdparty/libtiff/html/v3.5.7.html new file mode 100644 index 0000000..528df74 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.5.7.html @@ -0,0 +1,259 @@ + + + +Changes in TIFF v3.5.7 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • libtiff/libtiff.def: Brent Roman submitted new version adding +serveral missing entry points. Also add a few other entry points +later. + +
  • configure, Makefile.in, etc: added support for OPTIMIZER being + set from config.site. +
  • config.guess: updated wholesale to an FSF version apparently + from 1998 (as opposed to 1994). This is mainly inspired by + providing for MacOS X support. + +
  • configure/config.site: modified to check if -lm is needed for + MACHDEPLIBS if not supplied by config.site. Needed for Darwin. +
  • libtiff/tiff.h: Applied hac to try and resolve the problem + with the inttypes.h include file on AIX. (Bug 39) + +
  • configure, *Makefile.in: Various changes to improve configuration + for HP/UX specifically, and also in general. (Bug 40) They include: +
      +
    • Try to handle /usr/bin/sh instead of /bin/sh where necessary. +
    • Upgrade to HP/UX 10.x+ compiler, linker and dso options. +
    • Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP +
    • Use -${MAKEFLAGS} in sub makes from makefiles. +
    • Fixed SCRIPT_SH/SHELL handling. +
    +
  • configure: Changes for DSO generation on AIX provided by + John Marquart . + +
  • configure, libtiff/Makefile.in: Modified to build DSOs properly + on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and + Keisuke Fujii (fujiik@jlcuxf.kek.jp). + +
  • configure, libtiff/Makefile.in: applied OpenBSD patches as per bug 61. + +
  • Makefile.in: added DESTDIR support as per bug 60. + +
  • libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H + has been included. +
  • man/Makefile.in: add TIFFClientOpen link as per debian submitted + bug 66. +
  • libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@ + in two places. +
+ +


+ + + +CHANGES IN LIBTIFF: + + +
    +
  • tif_fax3.c: keep rw_mode flag internal to fax3 state to remember + whether we are encoding or decoding. This is to ensure graceful + recovery if TIFFClientOpen() discovers an attempt to open a compressed + file for "r+" access, and subsequently close it, as it resets the + tif_mode flag to O_RDONLY in this case to avoid writes, confusing the + compressor's concept of whether it is in encode or decode mode. +
  • tif_luv.c/tiff.h/tiffio.h: + New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward + (greg@shutterfly.com). He writes: + +
      +
    1. I improved the gamut-mapping function in tif_luv.c for imaginary + colors, because some images were being super-saturated on the input + side and this resulted in some strange color shifts in the output. + +
    2. I added a psuedotag in tiff.h to control random dithering during + LogLuv encoding. This is turned off by default for 32-bit LogLuv and + on for 24-bit LogLuv output. Dithering improves the average color + accuracy over the image. + +
    3. I added a #define for LOG_LUV_PUBLIC, which is enabled by default in + tiffio.h, to expose internal routines for converting between LogLuv and + XYZ coordinates. This is helpful for writing more efficient, + specialized conversion routines, especially for reading LogLuv files. +
    + +
  • libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS. + +
  • Added TIFFTAG_COPYRIGHT support. +
  • tif_getimage.c: Added support for 16bit minisblack/miniswhite + images in RGBA interface. +
  • libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per + bug 44. +
  • libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the + case of writing TIFF_BYTE/TIFF_SBYTE fields as per bug 43. + +
  • libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for + TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to + force use of uint32 counts instead of short counts. + +
  • libtiff/tif_dirinfo.c: moved pixar and copyright flags to + ensure everything is in order. + +
  • Integrated experimental OJPEG support from Scott Marovich of HP. + +
  • libtiff/tif_open.c: Seek back to zero after failed read, + before writing header. + +
  • libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ + when checking for 64 bit architectures as per bugzilla bug 67. +
  • libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy() + in TIFFReadRGBATile() to avoid issues in cases of overlapping + buffers. See Bug 69 in Bugzilla. +
  • libtiff/tif_getimage.c: Don't complain for CMYK (separated) + images with more than four samples per pixel as per bug 73. + +
  • libtiff/tif_getimage.c: relax handling of contig case where +there are extra samples that are supposed to be ignored as per bug 75. This +should now work for 8bit greyscale or palletted images. + +
  • libtiff/tif_packbits.c: fixed memory overrun error as per bug 77. + +
  • libtiff/tif_getimage.c: Fixed problem with reading strips or +tiles that don't start on a tile boundary. Fix contributed by +Josep Vallverdu (from HP), and further described in bug 47. + +
  • libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to + always use the "safe" version, even if there is a very slight + cost in performance as per bug 54. +
  • libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an + error about LZW not being available. + +
  • libtiff/tif_dir.c: propagate failure to initialize compression + back from TIFFSetField() as an error status, so applications can + detect failure. + +
  • libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug as per bug 78. + +
  • libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function. +Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory. + +
  • libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, + COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases + in keeping with TIFF 6.0 standard in tiff.h as per bug 83. + +
  • Added PHOTOMETRIC_ITULAB as per bug 90. + +
+ +


+ + + +CHANGES IN THE TOOLS: + +
    +
  • Brent Roman contributed updated tiffcp utility (and tiffcp.1) + with support for extracting subimages with the ,n syntax, and also + adding the -b bias removal flag. +
  • tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by + Bruce A. Mallett, including a faster encoder, fixes for level + 2 PostScript, and support for the imagemask operator. +
  • fax2ps.c: Helge (libtiff at oldach.net) submitted fix +that corrects behaviour for non-Letter paper +sizes. (Bug 35) It fixes two problems: +
    + Without scaling (-S) the fax is now centered on the page size specified + with -H and/or -W. Before, fax2ps was using an obscure and practially + useless algorithm to allocate the image relative to Letter sized paper + which sometime sled to useless whitespace on the paper, while at the + same time cutting of the faxes printable area at the opposite border. +
    + + Second, scaling now preserves aspect ratio, which makes unusual faxes + (in particular short ones) print properly. + +
  • thumbnail.c: changed default output compression + to packbits from LZW since LZW isn't generally available. +
  • tiff2rgba.c: added -n flag to avoid emitting alpha component. Also added +a man page for tiff2rgba. + +
  • tiffcmp.c: Fixed multi samples per pixel support for ContigCompare +as per bug 53. +Updated bug section of tiffcmp.1 to note tiled file issues. + +
  • libtiff/tif_getimage.c: Fixed so that failure is properly + reported by gtTileContig, gtStripContig, gtTileSeparate and + gtStripSeparate as per bug 51. + + +
+ +


+ + + +CHANGES IN THE LZW COMPRESSION KIT: +
    +
  • Rewrote lzw patching process so that is required to enable full + LZW support is to drop the tif_lzw.c from the + libtiff-lzw-compression-kit over the one in the libtiff directory. + +
  • Some changes were made to make recovery from failure to + initialize the LZW compressor more graceful. + +
  • Note that as distributed libtiff support LZW decompression, but + not LZW compression. +
+ + + +CHANGES IN THE CONTRIB AREA: +
    +
  • Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}. +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2004/11/26 14:37:20 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.6.0.html b/src/3rdparty/libtiff/html/v3.6.0.html new file mode 100644 index 0000000..888e547 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.6.0.html @@ -0,0 +1,434 @@ + + + +Changes in TIFF v3.6.0 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    +
  • New utility raw2tiff +for converting raw rasters into TIFF files. +
  • Lots of new tiff2ps options. +
  • Lots of new fax2tiff options. +
  • Lots of bug fixes for LZW, JPEG and OJPEG compression. +
+ +

Custom Tag Support

+ +The approach to extending libtiff with custom tags has changed radically. +Previously, all internally supported TIFF tags had a place in the +private TIFFDirectory structure within libtiff to hold the values (if read), +and a "field number" (ie. FIELD_SUBFILETYPE) used to identify that tag. +However, every time a new tag was added to the core, the size of the +TIFFDirectory structure would changing, breaking any dynamically linked +software that used the private data structures.

+ +Also, any tag not recognised +by libtiff would not be read and accessable to applications without some +fairly complicated work on the applications part to pre-register the tags +as exemplified by the support for "Geo"TIFF tags by libgeotiff layered on +libtiff.

+ +Amoung other things this approach required the extension code +to access the private libtiff structures ... which made the higher level +non-libtiff code be locked into a specific version of libtiff at compile time. +This caused no end of bug reports!

+ +The new approach is for libtiff to read all tags from TIFF files. Those that +aren't recognised as "core tags" (those having an associated FIELD_ value, +and place for storage in the TIFFDirectory structure) are now read into a +dynamic list of extra tags (td_customValues in TIFFDirectory). When a new +tag code is encountered for the first time in a given TIFF file, a new +anonymous tag definition is created for the tag in the tag definition list. +The type, and some other metadata is worked out from the instance encountered. +These fields are known as "custom tags".

+ +Custom tags can be set and fetched normally using TIFFSetField() and +TIFFGetField(), and appear pretty much like normal tags to application code. +However, they have no impact on internal libtiff processing (such as +compression). Some utilities, such as tiffcp will now copy these custom +tags to the new output files.

+ +As well as the internal work with custom tags, new C API entry points +were added so that extension libraries, such as libgeotiff, could +define new tags more easily without accessing internal data structures. +Because tag handling of extension tags is done via the "custom fields" +mechanism as well, the definition provided externally mostly serves to provide +a meaningful name for the tag. + +The addition of "custom tags" and the altered approach to extending libtiff +with externally defined tags is the primary reason for the shift to the +3.6.x version number from 3.5.x.

+ +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • configure, config.site: Fix for large files (>2GiB) support. New +option in the config.site: LARGEFILE="yes". Should be enougth for the large +files I/O. + +
  • configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT. + +
  • html/Makefile.in: Updated to use groffhtml for generating html pages +from man pages. + +
  • configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support +from John H. DuBois III. + +
  • libtiff/{Makefile.vc, libtiff.def}: Missed declarations added. + +
  • libtiff/Makefile.in, tools/Makefile.in: Shared library will not be +stripped when installing, utility binaries will do be stripped. As per bug 93. + +
  • man/Makefile.in: Patch DESTDIR handling as per bug 95. + +
  • configure: OpenBSD changes for Sparc64 and DSO version as per bug 96. + +
  • config.site/configure: added support for OJPEG=yes option to enable +OJPEG support from config.site. + +
  • config.guess, config.sub: Updated from ftp.gnu.org/pub/config. + +
  • configure: Modify CheckForBigEndian so it can work in a cross +compiled situation. + +
  • configure, libtiff/Makefile.in: Changes for building on MacOS 10.1 +as per bug 94. + +
  • html/Makefile.in: added missing images per bug 92. + +
  • port/Makefile.in: fixed clean target per bug 92. +
+ +


+ + + +CHANGES IN LIBTIFF: + +
    + +
  • libtiff/tif_getimage.c: New function TIFFReadRGBAImageOriented() +implemented to retrieve raster array with user-specified origin position. + +
  • libtiff/tif_fax3.c: Fix wrong line numbering. + +
  • libtiff/tif_dirread.c: Check field counter against number of fields. + +
  • Store a list of opened IFD to prevent directory looping. + +
  • libtiff/tif_jpeg.c: modified segment_height calculation to always +be a full height tile for tiled images. Also changed error to just +be a warning. + +
  • libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till +LZWSetupDecode(). Needed to read LZW files in "r+" mode. + +
  • libtiff/tif_dir.c: fixed up the tif_postdecode settings responsible +for byte swapping complex image data. + +
  • libtiff/tif_open.c: Removed error if opening a compressed file +in update mode bug (198). + +
  • libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is +a pre-existing compressed image. That is, image writing to pre-existing +compressed images is not allowed. + +
  • html/man/*.html: Web pages regenerated from man pages. + +
  • libtiff/tif_jpeg.c: Hack to ensure that "boolean" is defined properly +on Windows so as to avoid the structure size mismatch error from libjpeg +(bug 188). + +
  • libtiff/tiff.h: #ifdef USING_VISUALAGE around previous Visual Age +AIX porting hack as it screwed up gcc. (bug 39) + +
  • libtiff/tiff.h: added COMPRESSION_JP2000 (34712) for LEAD tools +custom compression. + +
  • libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays +by the TIFFFetchByteArray() function. (bug 52) + +
  • libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair() +as per bug 196. + +
  • libtiff/tif_lzw.c: Additional consistency checking added in +LZWDecode() and LZWDecodeCompat() fixing bugs 190 and 100. + +
  • libtiff/tif_lzw.c: Added check for valid code lengths in LZWDecode() +and LZWDecodeCompat(). Fixes bug 115. + +
  • tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the +return code from the underlying pick function as per bug 177. + +
  • libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to +fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't +present in the tiff tags as per bug 168. + +
  • libtiff/tif_jpeg.c: Fixed problem with setting of nrows in +JPEGDecode() as per bug 129. + +
  • libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and +TIFFWriteScanline() now set tif_row explicitly in case the codec has +fooled with the value as per bug 129. + +
  • libtiff/tif_ojpeg.c: Major upgrade from Scott. Details in bug 156. + +
  • libtiff/tif_open.c: Pointers to custom procedures +in TIFFClientOpen() are checked to be not NULL-pointers. + +
  • libtiff/tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat +replaced by warnings. Now libtiff should read corrupted LZW-compressed +files by skipping bad strips as per bug 100. + +
  • libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h: +TIFFCheckpointDirectory() +routine added as per bug 124. The +TIFFWriteDirectory +man page discusses this new function as well as the related +TIFFRewriteDirectory(). + +
  • libtiff/: tif_codec.c, tif_compress.c, tiffiop.h, tif_getimage.c: +Introduced +additional members tif->tif_decodestatus and tif->tif_encodestatus +for correct handling of unconfigured codecs (we should not try to read +data or to define data size without correct codecs). See bug 119. + +
  • tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func as +per bug 111. + +
  • libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, +tif_dirwrite.c: Dwight Kelly added get/put code for new tag XMLPACKET as +defined in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 +spec INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: +CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and +INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9). + +
  • libtiff/tif_getimage.c: Additional check for supported codecs added in +TIFFRGBAImageOK, TIFFReadRGBAImage, TIFFReadRGBAStrip and TIFFReadRGBATile now +use TIFFRGBAImageOK before reading a per bug 110. + +
  • libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, +tif_dirwrite.c: Added routine +TIFFDataWidth for determining +TIFFDataType sizes instead of working with tiffDataWidth array +directly as per bug 109. + +
  • libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to +read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION, +TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC as per bug 99. + +
  • libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__ as per bug 94. + +
  • libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the +decodestrip function returns anything not greater than zero as per bug 97. + +
  • libtiff/tif_jpeg.c: fixed computation of segment_width for +tiles files to avoid error about it not matching the +cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile +size.") for ITIFF files. Apparently the problem was incorporated since +3.5.5, presumably during the OJPEG/JPEG work recently. + +
  • libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 +(defined in tiffconf.h - 1 by default) then the RGBA interface +will assume that a fourth extra sample is ASSOCALPHA if the +EXTRASAMPLE value isn't set for it. This changes the behaviour of +the library, but makes it work better with RGBA files produced by +lots of applications that don't mark the alpha values properly. +As per bugs 93 and 65. + +
  • libtiff/tif_jpeg.c: allow jpeg data stream sampling values to +override those from tiff directory. This makes this work with +ImageGear generated files. + +
+ +


+ + + +CHANGES IN THE TOOLS: + +
    + +
  • tiff2ps: Added page size setting +when creating PS Level 2. + +
  • tiff2ps: Fixed PS comment emitted when +FlateDecode is being used. + +
  • tiffsplit: increased the maximum +number of pages that can be split. + +
  • raw2tiff: Added option `-p' to +explicitly select color space of input image data. + +
  • tiffmedian: Suppiort for large +(> 2GB) images. + +
  • ppm2tiff: Fixed possible endless loop. + +
  • tiff2rgba: Switched to use +TIFFReadRGBAImageOriented() +instead of TIFFReadRGBAImage(). + +
  • tiffcmp: Fixed problem with unused data +comparing (bug 349). `-z' option now can be used to set the number of reported +different bytes. + +
  • tiffcp: Added possibility to specify +value -1 to -r option to get the entire image as one strip (bug 343). + +
  • tiffcp: Set the correct RowsPerStrip +and PageNumber values (bug 343). + +
  • fax2tiff: Page numbering fixed (bug +341). + +
  • ppm2tiff: PPM header parser improved: +now able to skip comments. + +
  • tiff2ps: Force deadzone printing when +EPS output specified (bug 325). + +
  • tiff2ps: Add ability to generate +PS Level 3. It basically allows one to use the /flateDecode filter for ZIP +compressed TIFF images. Patch supplied by Tom Kacvinsky (bug 328). + +
  • tiffcp: Fixed problem with colorspace +conversion for JPEG encoded images (bugs 23 and 275) + +
  • fax2tiff: Applied patch from +Julien Gaulmin. More switches for fax2tiff tool for better control +of input and output (bugs 272 and 293). + +
  • raw2tiff: +New utility for turning raw raster images into TIFF files +written by Andrey Kiselev. + +
  • tiff2ps: +Sebastian Eken provided patches (bug 200) to add new these new +switches: +
      +
    • -b #: for a bottom margin of # inches +
    • -c: center image +
    • -l #: for a left margin of # inches +
    • -r: rotate the image by 180 degrees +
    + +Also, new features merged with code for shrinking/overlapping. + +
  • tiff2ps: Don't emit BeginData/EndData +DSC comments since we are unable to properly include the amount to skip +as per bug 80. + +
  • tiff2ps: Added workaround for some +software that may crash when last strip of image contains fewer number +of scanlines than specified by the `/Height' variable as per bug 164. + +
  • tiff2ps: Patch from John Williams to add new +functionality for tiff2ps utility splitting long images in several pages as +per bug 142. New switches: +
      +
    • -H #: split image if height is more than # inches +
    • -L #: overLap split images by # inches +
    + +
  • tiff2ps: New commandline +switches to override resolution units obtained from the input file per bug 131: +
      +
    • -x: override resolution units as centimeters +
    • -y: override resolution units as inches +
    + +
  • fax2tiff: Updated to reflect +latest changes in libtiff per bug 125. + +
  • tiff2ps: Division by zero fixed as per bug 88. + +
  • tiffcp: +Added support for 'Orientation' tag. + +
  • tiffdump: +include TIFFTAG_JPEGTABLES in tag list. + +
  • tiffset: fix bug in error reporting. + +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: +
    + +
  • Fixed distribution to include contrib/addtiffo/tif_ovrcache.{c,h}. +
  • libtiff/contrib/win95: renamed to contrib/win_dib. Added new +Tiffile.cpp example of converting TIFF files into a DIB on Win32 as per +bug 143. + +
+ + + +CHANGES IN THE LZW COMPRESSION +KIT: +
    + +
  • LZW compression kit synchronized with actual libtiff version. + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2003/10/04 11:38:17 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.6.1.html b/src/3rdparty/libtiff/html/v3.6.1.html new file mode 100644 index 0000000..d106062 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.6.1.html @@ -0,0 +1,199 @@ + + + +Changes in TIFF v3.6.1 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + + + + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    + +
  • libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG library. + +
  • Makefile.in: Add an absolute path to the test_pics.sh call. + +
  • Makefile.in: Add an absolute path to the test_pics.sh call. + +
  • libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD typedefs. + +
  • configure, libtiff/{Makefile.in, mkversion.c}: Relative buildings fixed. + +
  • Makefile.in: Add an absolute path to the test_pics.sh call. + +
+ +


+ + + +CHANGES IN LIBTIFF: + +
    + +
  • libtiff/{tif_color.c, tif_getimage.c, tiffio.h}: Added support +for ReferenceBlackWhite tag handling when converted from YCbCr color space as +per bug 120. + +
  • libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the +file and properly use it for CIE Lab 1976 to RGB transform. + +
  • libtiff/{tif_getimage.c, tiffio.h}: Finally resolved problems with +orientation handling. TIFFRGBAImage interface now properly supports all +possible orientations, i.e. images will be flipped both in horizontal and +vertical directions if required. 'Known bugs' section now removed from the +appropriate manual pages. + +
  • libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine, +reported by Antonio Scuri. + +
  • libtiff/{tiffio.h, tif_codec.c}: Added new function +TIFFIsCODECConfigured(), suggested by Ross Finlayson. + +
  • libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly extract +the fields from the OJPEG files. Patch supplied by Ross Finlayson. + +
  • libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced +with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson. + +
  • libtiff/tif_dirinfo.c: Implemented binary search in _TIFFMergeFieldInfo(). +Patch supplied by Ross Finlayson. + +
  • tif_dirread.c: do not mark all anonymously defined tags to be IGNOREd (as +it was done in 3.6.0). + +
  • libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13) datatype, +intruduced in "Adobe PageMaker TIFF Technical Notes". + +
  • libtiff/{tif_color.c, tif_getimage.c, tiffio.h}: New color space +conversion code: CIE L*a*b* 1976 images now supported by the TIFFRGBAImage +interface. YCbCr to RGB conversion code also moved there and now has +publicly available interface. These +routines currently used in TIFFRGBAImage interface only and not supported in +other libtiff tools yet. So if you want, for example, to convert CIE Lab image +into PostScript file you should do it in two steps: chnge colorspace to RGB +using tiff2rgba utility abd then process +it with the tiff2ps. + +
  • libtiff/tif_tile.c: Remove spurious use of "s" (sample) in the +planarconfig_contig case in TIFFComputeTile() as per bug 387 + +
  • libtiff/tiffiop.h: New macros: TIFFmax and TIFFmin. + +
  • libtiff/{tiffio.h, tif_strip.c}: Added TIFFRawStripSize() function +as suggested by Chris Hanson. + +
  • libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode +as per bug 424. + +
+ +


+ + + +CHANGES IN THE TOOLS: + +
    + +
  • tiff2pdf: New tool, written by +Ross Finlayson, to directly convert TIFF files to PDF. + +
  • tiffgt: Unmaintained and platform +dependent sgigt utility removed and replaced with the completely rewritten +portable tiffgt tool (depend on OpenGL and +GLUT). This tool will not build by default. + +
  • ras2tiff: Properly determine +SUN Rasterfiles with the reverse byte order (it is reported by the magic +header field). Problem reported by Andreas Wiesmann. + +
  • raw2tiff: Implemented image size +guessing using correlation coefficient calculation between two neighbour +lines. + +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: +
    + +
  • contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use TIFFDataWidth() +function insted of tiffDataWidth array. + +
+ + + +CHANGES IN THE LZW COMPRESSION +KIT: +
    + +
  • Proper support for update mode as per bug 424. + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2003/12/24 22:14:15 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.0.html b/src/3rdparty/libtiff/html/v3.7.0.html new file mode 100644 index 0000000..413f2c6 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.0.html @@ -0,0 +1,144 @@ + + + + Changes in TIFF v3.7.0 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    + +
  • Several bugs found after 3.7.0beta2 release were fixed. + +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • ltmain.sh: Fix for MinGW compilation. +
+ +


+ + + +CHANGES IN LIBTIFF: + +
    + +
  • libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c, + tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes + properly (Dmitry V. Levin, Marcus Meissner). + +
  • libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed + to TIFF_IFD. + +
  • Preliminary support for BigTIFF files: now libtiff can + recognize and reject to open such images. ;-) + +
  • libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields + of the TIFFDirectory structure with the 0 instead of -1 to avoid + confusing integer overflows in TIFFTileRowSize() for striped images. + +
  • libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields + of the TIFFDirectory structure with the 0 instead of -1 to avoid + confusing integer overflows in TIFFTileRowSize() for striped images. + +
  • libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation + of tif_fieldinfo as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=630 + +
  • libtiff/tif_compress.c: Improved error reporting in + TIFFGetConfiguredCODECs() (Dmitry V. Levin). + +
+ +


+ + + +CHANGES IN THE TOOLS: + +
    +
  • tiffcmp.c (leof): Renamed from 'eof' in order to avoid + conflict noticed under MinGW. + +
  • tiff2pdf.c: Fixed TransferFunction tag handling reported + by Ross A. Finlayson. + +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    + +
  • No changes. + +
+ + + +CHANGES IN THE LZW COMPRESSION +KIT: +
    + +
  • This one is not longer needed. + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2004/12/20 19:31:44 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.0alpha.html b/src/3rdparty/libtiff/html/v3.7.0alpha.html new file mode 100644 index 0000000..95c633c --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.0alpha.html @@ -0,0 +1,249 @@ + + + + Changes in TIFF v3.7.0alpha + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    +
  • Significant changes in software configuration: we are switched + to GNU autotools now. + +
  • tiffset: tiffset now can set any libtiff supported tags. Tags + can be supplied by the mnemonic name or number. +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • Get rid of the old configuration system and switch to + GNU autotools. +
+ +


+ + + +CHANGES IN LIBTIFF: + + + +


+ + + +CHANGES IN THE TOOLS: + +
    +
  • tiffset: tiffset now can set any libtiff supported tags. Tags + can be supplied by the mnemonic name or number. + +
  • ycbcr.c: fixed main() declaration as per: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=513. + +
  • tiffsplit: Don't forget + to copy Photometric Interpretation tag. + +
  • tiffsplit: Fixed problem with + unproperly written multibyte files. Now output files will be written + using the same byte order flag as in the input image. See + . + +
  • tiffsplit: Copy JPEGTables + tag contents for JPEG compressed images. Reported by Artem Mirolubov. + +
  • tiffcp: Close output file + on normal exit. + +
  • tiffcp: Don't emit warnings + when Orientation tag does not present in the input image. + +
  • tiffcp: Properly set + Photometric Interpretation in case of JPEG compression of grayscale + images. + +
  • tiffcp: Fixed problem with wrong + interpretation of the InkNames tag as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=466. + Memory leak fixed. + +
  • tiffcp: Fixed problem with + wrong Photometric setting for non-RGB images. + +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    + +
  • Outdated stuff removed. + +
  • Almost all programs are sinchronized with the current libtiff + and should compile without problems. + +
+ + + +CHANGES IN THE LZW COMPRESSION +KIT: +
    + +
  • No changes. + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2006/03/18 17:12:47 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.0beta.html b/src/3rdparty/libtiff/html/v3.7.0beta.html new file mode 100644 index 0000000..7d7c868 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.0beta.html @@ -0,0 +1,162 @@ + + + + Changes in TIFF v3.7.0beta + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    +
  • LZW compression enabled by default. You don't need the separate + compression kit anymore. + +
  • bmp2tiff: Added new utility to convert Windows BMP files + into TIFFs. + +
  • The first attempt to implement a test suite. +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • Many portability fixes in the new autotooled build suite. +
+ +


+ + + +CHANGES IN LIBTIFF: + +
    +
  • libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer + overruns fixed, as noted by Chris Evans. + +
  • BSD data types (u_char, u_short, u_int, u_long) is no longer + used internally in the libtiff. Should result in simpler configuration + and better portability. + +
  • libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP + specification. Reference libtiff bug tracking system to submit + private tag additions. + +
  • libtiff/tif_dirread.c: Don't reject to read tags of the + SamplesPerPixel size when the tag count is greater than number of + samples as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=576. + +
  • libtiff/{tiffio.h, tif_open.c}: Applied patches from + Joris Van Damme to avoid requirement for tiffiop.h inclusion in + some applications. Look for details here: + + http://www.asmail.be/msg0054799560.html. + +
  • libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static + variable as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=593. + +
  • libtiff/tif_lzw.c: LZW compression code is merged back from the + separate package. All libtiff tools are updated to not advertise an + abcence of LZW support. + +
  • libtiff/tif_dir.c: Call TIFFError() instead of producing warnings + when setting custom tags by value. Reported by Eric Fieleke. + +
+ +


+ + + +CHANGES IN THE TOOLS: + +
    +
  • tiff2ps: Avoid zero division in setupPageState() function; + properly initialize array in PSDataBW(). + +
  • tiff2pdf: Multiple bugfixes. + +
  • ras2tiff: Fixed issue with missed big-endian checks as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=586. + +
  • bmp2tiff: Added new utility to convert Windows BMP files + into TIFFs. + +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    + +
  • No changes. + +
+ + + +CHANGES IN THE LZW COMPRESSION +KIT: +
    + +
  • This one is not longer needed. + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2006/03/18 17:12:47 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.0beta2.html b/src/3rdparty/libtiff/html/v3.7.0beta2.html new file mode 100644 index 0000000..67dd8da --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.0beta2.html @@ -0,0 +1,131 @@ + + + + Changes in TIFF v3.7.0beta2 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    + +
  • The code has been reviewed by Dmitry Levin: added checks + for values, returned by the space allocation functions, fixed + problems with the possible integer overflows. + +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • Several fixes in the test suite. +
+ +


+ + + +CHANGES IN LIBTIFF: + +
    + +
  • Preliminary support for BigTIFF files: now libtiff can + recognize and reject to open such images. ;-) + +
  • libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to + TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info + in the Adobe XMP Specification. + +
  • Added many checks for integer overflow and for successful space + allocations in the different parts of library. Code review + completed by Dmitry V. Levin. + +
  • libtiff/{tiffio.h, tif_compress.c}: Added + TIFFGetConfiguredCODECs()function to get the list of configured codecs. + +
+ +


+ + + +CHANGES IN THE TOOLS: + +
    +
  • tiff2bw: Write ImageWidth/Height tags to output file, as + noted by Gennady Khokhorin. + +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    + +
  • No changes. + +
+ + + +CHANGES IN THE LZW COMPRESSION +KIT: +
    + +
  • This one is not longer needed. + +
+ + TIFF home page.
+ +
+ +Last updated $Date: 2006/03/18 17:12:47 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.1.html b/src/3rdparty/libtiff/html/v3.7.1.html new file mode 100644 index 0000000..b888792 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.1.html @@ -0,0 +1,233 @@ + + + + Changes in TIFF v3.7.1 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    + +
  • This is mostly bugfix release. Most important fix is the one + related to wrong custom tag read/write code. + +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    + +
  • autogen.sh: aclocal and autoheader should be executed after + libtoolize. Also add '-I .' to aclocal invocation to check + current directory for macros. + +
  • nmake.opt: Link with the user32.lib in windowed mode. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=697 + +
  • nmake.opt, makefile.vc: make it easier to rename the libtiff DLL. + +
  • configure, configure.ac: Added --enable-rpath option to embed + linker paths into library binary. + +
+ +


+ + + +CHANGES IN LIBTIFF: + + + +


+ + + +CHANGES IN THE TOOLS: + +
    + +
  • fax2ps.c: Be able to extract the first page (#0). As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=690 + +
  • tiff2ps.c: Fixed wrong variable data type when read Position + tags (Tristan Hill). + +
  • tiff2ps.c: Fixed wrong variable data type when read Resolution + tags (Peter Fales). + +
  • tiffset.c: Check the malloc return value (Dmitry V. Levin). + +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    + +
  • No changes. + +
+ +Last updated $Date: 2004/12/20 19:31:44 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.2.html b/src/3rdparty/libtiff/html/v3.7.2.html new file mode 100644 index 0000000..6cb6f7c --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.2.html @@ -0,0 +1,222 @@ + + + + Changes in TIFF v3.7.2 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    + +
  • Maintainance release. Many bugfixes in the build environment + and compatibility improvements. + +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + + + +


+ + + +CHANGES IN LIBTIFF: + + + +


+ + + +CHANGES IN THE TOOLS: + + + +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    + +
  • No changes. + +
+ +Last updated $Date: 2005/03/15 15:17:44 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.3.html b/src/3rdparty/libtiff/html/v3.7.3.html new file mode 100644 index 0000000..d698451 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.3.html @@ -0,0 +1,230 @@ + + + + Changes in TIFF v3.7.3 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    +
  • Replace runtime endianess check with the compile time one. + +
  • Added support for the new predictor type (floating point + predictor), defined at the TIFF Technical Note 3. + +
  • Added Support for custom tags, passed by value. + Added support for all DNG tags. +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + + + +


+ + + +CHANGES IN LIBTIFF: + +
    +
  • tiffiop.h, tif_open.c: Added open option 'h' to avoid reading + the first IFD when needed. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=875 + +
  • tiff.h: Use correct int size on Sparc 64bit/Sun compiler + platform. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=855 + +
  • tif_dirinfo.c: Added support for ClipPath, XClipPathUnits + and YClipPathUnits tags. + +
  • tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c: Make + DocumentName, Artist, HostComputer, ImageDescription, Make, Model, + Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and + TargetPrinter tags custom. + +
  • tif_jpeg.c: Cleanup the codec state depending on TIFF_CODERSETUP + flag (to fix memory leaks). + +
  • tif_dirwrite.c: Use tdir_count when calling + TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as + per bug + http://bugzilla.remotesensing.org/show_bug.cgi?id=845 + +
  • tif_dirinfo.c, tif_print.c: TIFFFetchByteArray() returns + uint16 array when fetching the BYTE and SBYTE fields, so we should + consider result as pointer to uint16 array and not as array of chars. + As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=831 + +
  • tif_dir.c: More efficient custom tags retrieval as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=830 + +
  • tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share + mode in CreateFile() call as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=829 + +
  • tif_jpeg.c: Substantial fix for addtiffo problems with + JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables + in directory. + +
  • tif_dirread.c: Changed the code that computes + stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is + zero. This is a common case with GDAL indicating a "null" tile/strip. + +
  • tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw(). + +
  • tif_dirread.c: Ensure that broken files with too many + values in PerSampleShorts, TIFFFetchPerSampleLongs and + TIFFFetchPerSampleAnys work ok instead of crashing. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=843 + +
  • tif_predict.h, tif_predict.c: Added ability to decode and encode + floating point predictor, as per TIFF Technical Note 3. + See http://chriscox.org/TIFF_TN3_Draft2.pdf for details. + +
  • tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c: + Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to + swap 24-bit floating point values. + +
  • tiff.h: Added predictor constants. + +
  • tiffiop.h, tif_dir.c: Use uint32 type for appropriate values + in _TIFFVSetField() function. Inspired by the bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=816 + +
  • tif_open.c: Do not read header in case the output file should + be truncated (Ron). + +
  • tif_dirinfo.c, tif_config.h.vc: Use lfind() instead of bsearch() + in _TIFFFindFieldInfoByName() function (Ron). + +
  • tif_dir.c, tif_print.c: Properly handle all data types in custom + tags. + +
  • dirinfo.c: Added DNG tags. + +
  • tiff.h: Added missed DNG tag (LensInfo); added DNG 1.1.0.0 tags. + +
  • tif_dir.c, tif_print.c: Added Support for custom tags, passed + by value. + +
  • tiff.h, tif_dirinfo.c, tiffiop.h: Added EXIF related tags. +
+ +


+ + + +CHANGES IN THE TOOLS: + + + +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    + +
  • addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: + Make overviews working for contiguous images. + +
+ +Last updated $Date: 2006/01/04 22:04:46 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.7.4.html b/src/3rdparty/libtiff/html/v3.7.4.html new file mode 100644 index 0000000..9437320 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.7.4.html @@ -0,0 +1,133 @@ + + + + Changes in TIFF v3.7.4 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    +
  • Fixed important bug in custom tags handling code.. +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • Applied patch from Patrick Welche (all scripts moved in the + 'config' and 'm4' directories). + +
  • SConstruct, libtiff/SConstruct: Added the first very preliminary + support for SCons software building tool (http://www.scons.org/). + This is experimental infrastructure and it will exist along with the + autotools stuff. + +
  • port/lfind.c: Added lfind() replacement module. +
+ +


+ + + +CHANGES IN LIBTIFF: + +
    +
  • tif_dir.c: When prefreeing tv->value in TIFFSetFieldV + also set it to NULL to avoid double free when re-setting custom + string fields as per: + + http://bugzilla.remotesensing.org/show_bug.cgi?id=922 + +
  • tif_dir.c: Fixed up support for swapping "double complex" + values (128 bits as 2 64 bits doubles). GDAL gcore tests now + pass on bigendian (macosx) system. + +
  • libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to + SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples() + function, use TIFFFetchNormalTag() instead as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=831 + + Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag() + instead. + +
  • tif_print.c: Fixed printing of the BYTE and SBYTE arrays. + +
  • tif_write.c: Do not check the PlanarConfiguration field in + the TIFFWriteCheck() function in case of single band images (as per + TIFF spec). + +
  • libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}: + Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera, + ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom. +
+ +


+ + + +CHANGES IN THE TOOLS: + +
    +
  • tiffcp.c: Fixed WhitePoint tag copying. +
+ +


+ + + +CHANGES IN THE CONTRIB AREA: + +
    +
  • tiffdump.c: Added support for TIFF_IFD datatype. + +
  • addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: + Make overviews working for contiguous images. + +
+ +Last updated $Date: 2005/11/03 14:18:43 $. + + + diff --git a/src/3rdparty/libtiff/html/v3.8.0.html b/src/3rdparty/libtiff/html/v3.8.0.html new file mode 100644 index 0000000..914dcb0 --- /dev/null +++ b/src/3rdparty/libtiff/html/v3.8.0.html @@ -0,0 +1,199 @@ + + + + Changes in TIFF v3.8.0 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

+This document describes the changes made to the software between the +previous and current versions (see above). +If you don't find something listed here, then it was not done in this +timeframe, or it was not considered important enough to be mentioned. +The following information is located here: +

+

+


+ + + +MAJOR CHANGES: + +
    +
  • Read-only support for custom directories (e.g. EXIF directory). + +
  • Preliminary support for MS MDI format. +
+ + +


+ + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
    +
  • Make the default strip size configurable via the + --with-default-strip-size and STRIP_SIZE_DEFAULT options. +
+ +


+ + + +CHANGES IN LIBTIFF: + +
    +
  • tiffio.h: Added VC_EXTRALEAN definition before including + windows.h, to reduce the compile time. + +
  • tif_jpeg.c: Improve compilation under MinGW. + +
  • {tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c, + tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and + StoNits tags custom. + +
  • {tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make + WhitePoint tag custom. + +
  • tiffio.h: fixed typo that potentially resulted in + redefininition of USE_WIN32_FILEIO + +
  • {tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC, + Photoshop and ICCProfile tags custom. + +
  • libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling + newer code to get context indicator in error handler and still + remain compatible with older code: Done TIFFError calls everywhere + except in tools. + +
  • tiffinfo.c: Print EXIF directory contents if exist. + +
  • {tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}: + Custom directory read-only support. + +
  • {tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h, + tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite + tags custom. + +
  • tif_dirread.c: One more workaround for broken StripByteCounts + tag. Handle the case when StripByteCounts array filled with + completely wrong values. + +
  • tif_dirinfo.c: Release file descriptor in case of failure + in the TIFFOpenW() function as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1003 + +
  • tif_dirinfo.c: Correctly yse bsearch() and lfind() + functions as per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1008 + +
  • tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support + for MS MDI format. + + http://bugzilla.remotesensing.org/show_bug.cgi?id=1002 + +
  • libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory + public. + +
  • /tif_dirinfo.c: Make XResolution, YResolution and + ResolutionUnit tags modifiable during write process. As per bug + + http://bugzilla.remotesensing.org/show_bug.cgi?id=977 + +
  • if_dirread.c: Don't try and split single strips into "0" strips + in ChopUpSingleUncompressedStrip. This happens in some degenerate + cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff) + +
  • tif_fax3.c: changed 'at scanline ...' style warning/errors + with incorrect use of tif_row, to 'at line ... of + strip/tile ...' style. +
+ +


+ + + +CHANGES IN THE TOOLS: + +