laag-libtiff 4.0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +57 -0
- data/LICENSE.txt +21 -0
- data/README.org +34 -0
- data/ext/laag/libtiff/extconf.rb +13 -0
- data/laag-libtiff.gemspec +20 -0
- data/lib/laag/libtiff.rb +29 -0
- data/vendor/gitlab.com/libtiff/libtiff/.appveyor.yml +109 -0
- data/vendor/gitlab.com/libtiff/libtiff/.cvsignore +4 -0
- data/vendor/gitlab.com/libtiff/libtiff/.travis.yml +34 -0
- data/vendor/gitlab.com/libtiff/libtiff/CMakeLists.txt +764 -0
- data/vendor/gitlab.com/libtiff/libtiff/COMMITTERS +19 -0
- data/vendor/gitlab.com/libtiff/libtiff/COPYRIGHT +21 -0
- data/vendor/gitlab.com/libtiff/libtiff/ChangeLog +8073 -0
- data/vendor/gitlab.com/libtiff/libtiff/HOWTO-RELEASE +119 -0
- data/vendor/gitlab.com/libtiff/libtiff/HOWTO-SECURITY-RELEASE +19 -0
- data/vendor/gitlab.com/libtiff/libtiff/Makefile.am +91 -0
- data/vendor/gitlab.com/libtiff/libtiff/Makefile.in +995 -0
- data/vendor/gitlab.com/libtiff/libtiff/Makefile.vc +58 -0
- data/vendor/gitlab.com/libtiff/libtiff/README +61 -0
- data/vendor/gitlab.com/libtiff/libtiff/README.vms +12 -0
- data/vendor/gitlab.com/libtiff/libtiff/RELEASE-DATE +1 -0
- data/vendor/gitlab.com/libtiff/libtiff/SConstruct +171 -0
- data/vendor/gitlab.com/libtiff/libtiff/TODO +12 -0
- data/vendor/gitlab.com/libtiff/libtiff/VERSION +1 -0
- data/vendor/gitlab.com/libtiff/libtiff/aclocal.m4 +1194 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/bmp2tiff.1.html +121 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/gif2tiff.1.html +141 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/ras2tiff.1.html +139 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/sgi2tiff.1.html +147 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/tiffsv.1.html +207 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/man/bmp2tiff.1 +85 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/man/gif2tiff.1 +81 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/man/ras2tiff.1 +96 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/man/sgi2tiff.1 +93 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/man/tiffsv.1 +142 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/tools/bmp2tiff.c +937 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/tools/gif2tiff.c +591 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/tools/ras2tiff.c +338 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/tools/rasterfile.h +44 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/tools/sgi2tiff.c +337 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/tools/sgisv.c +318 -0
- data/vendor/gitlab.com/libtiff/libtiff/archive/tools/ycbcr.c +168 -0
- data/vendor/gitlab.com/libtiff/libtiff/autogen.sh +8 -0
- data/vendor/gitlab.com/libtiff/libtiff/build/.cvsignore +1 -0
- data/vendor/gitlab.com/libtiff/libtiff/build/CMakeLists.txt +25 -0
- data/vendor/gitlab.com/libtiff/libtiff/build/Makefile.am +32 -0
- data/vendor/gitlab.com/libtiff/libtiff/build/Makefile.in +680 -0
- data/vendor/gitlab.com/libtiff/libtiff/build/README +3 -0
- data/vendor/gitlab.com/libtiff/libtiff/build/travis-ci +108 -0
- data/vendor/gitlab.com/libtiff/libtiff/commit +233 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/compile +347 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/config.guess +1526 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/config.sub +1658 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/depcomp +791 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/install-sh +507 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/ltmain.sh +11156 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/missing +215 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/mkinstalldirs +161 -0
- data/vendor/gitlab.com/libtiff/libtiff/config/test-driver +127 -0
- data/vendor/gitlab.com/libtiff/libtiff/configure +23612 -0
- data/vendor/gitlab.com/libtiff/libtiff/configure.ac +1112 -0
- data/vendor/gitlab.com/libtiff/libtiff/configure.com +1357 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/CMakeLists.txt +35 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/Makefile.am +31 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/Makefile.in +679 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/README +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/.cvsignore +5 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/CMakeLists.txt +34 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/Makefile.am +39 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/Makefile.in +652 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/Makefile.vc +28 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/README +142 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/addtiffo.c +181 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/tif_overview.c +916 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/tif_ovrcache.c +344 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/tif_ovrcache.h +103 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/.cvsignore +8 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/CMakeLists.txt +43 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/Makefile.am +46 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/Makefile.in +798 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/README +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-bi.c +91 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-grayscale.c +147 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-palette.c +284 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-rgb.c +201 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/CMakeLists.txt +29 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/Makefile.am +47 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/Makefile.in +516 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/README +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/patchlevel.h +8 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/xtiff.c +1290 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/xtifficon.h +21 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/.cvsignore +5 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/CMakeLists.txt +35 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/Makefile.am +40 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/Makefile.in +650 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/README +25 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/iptcutil.c +954 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/test.iptc +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/test.txt +32 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/CMakeLists.txt +27 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/Makefile.am +29 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/Makefile.in +499 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/README +37 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/mfs_file.c +586 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/CMakeLists.txt +30 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/Makefile.am +32 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/Makefile.in +502 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/README +90 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_imageiter.c +525 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_imageiter.h +64 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_pdsdirread.c +1131 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_pdsdirwrite.c +971 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/CMakeLists.txt +28 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/Makefile.am +30 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/Makefile.in +500 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/README +10 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/ras2tif.c +254 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/tif2ras.c +344 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/CMakeLists.txt +28 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/Makefile.am +30 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/Makefile.in +500 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/README +30 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/tiffstream.cpp +238 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/tiffstream.h +70 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/CMakeLists.txt +32 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/Makefile.am +33 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/Makefile.in +503 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/README +132 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/listtif.c +39 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/maketif.c +77 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/xtif_dir.c +350 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/xtiffio.h +59 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/xtiffiop.h +72 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/CMakeLists.txt +30 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Makefile.am +32 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Makefile.in +502 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Makefile.w95 +134 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/README.Tiffile +31 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/README.tiff2dib +51 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Tiffile.cpp +449 -0
- data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/tiff2dib.c +379 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/.cvsignore +5 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/BigTIFFProposal.html +99 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/CMakeLists.txt +87 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/Makefile.am +96 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/Makefile.in +798 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/TIFFTechNote2.html +707 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/addingtags.html +292 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffdesign.html +80 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr.html +77 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/esri.png +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/leica.png +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/safe.png +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/weogeo.png +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/bugs.html +61 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/build.html +737 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/contrib.html +209 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/document.html +52 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images.html +41 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/CMakeLists.txt +46 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/Makefile.am +49 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/Makefile.in +572 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/back.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/bali.jpg +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/cat.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/cover.jpg +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/cramps.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/dave.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/info.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/jello.jpg +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/jim.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/note.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/oxford.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/quad.jpg +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/ring.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/smallliz.jpg +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/strike.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/images/warning.gif +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/index.html +122 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/internals.html +572 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/intro.html +68 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/libtiff.html +747 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/.cvsignore +2 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/CMakeLists.txt +108 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/HtmlDoc.cmake +50 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/Makefile.am +122 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/Makefile.in +642 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFClose.3tiff.html +87 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFDataWidth.3tiff.html +98 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFError.3tiff.html +106 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldDataType.3tiff.html +89 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldName.3tiff.html +86 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldPassCount.3tiff.html +98 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldReadCount.3tiff.html +101 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldTag.3tiff.html +88 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldWriteCount.3tiff.html +108 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFlush.3tiff.html +113 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFGetField.3tiff.html +1969 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFOpen.3tiff.html +421 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFPrintDirectory.3tiff.html +225 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFRGBAImage.3tiff.html +319 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadDirectory.3tiff.html +218 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadEncodedStrip.3tiff.html +133 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadEncodedTile.3tiff.html +130 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRGBAImage.3tiff.html +301 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRGBAStrip.3tiff.html +208 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRGBATile.3tiff.html +261 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRawStrip.3tiff.html +109 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRawTile.3tiff.html +111 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadScanline.3tiff.html +157 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadTile.3tiff.html +133 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFSetDirectory.3tiff.html +122 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFSetField.3tiff.html +1865 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWarning.3tiff.html +108 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteDirectory.3tiff.html +176 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteEncodedStrip.3tiff.html +153 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteEncodedTile.3tiff.html +147 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteRawStrip.3tiff.html +144 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteRawTile.3tiff.html +128 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteScanline.3tiff.html +206 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteTile.3tiff.html +115 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFbuffer.3tiff.html +116 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFcodec.3tiff.html +116 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFcolor.3tiff.html +975 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFmemory.3tiff.html +110 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFquery.3tiff.html +148 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFsize.3tiff.html +95 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFstrip.3tiff.html +129 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFswab.3tiff.html +110 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFtile.3tiff.html +141 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/fax2ps.1.html +252 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/fax2tiff.1.html +607 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/index.html +64 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/libtiff.3tiff.html +1150 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/pal2rgb.1.html +189 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/ppm2tiff.1.html +141 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/raw2tiff.1.html +510 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/rgb2ycbcr.1.html +155 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/thumbnail.1.html +148 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2bw.1.html +161 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2pdf.1.html +609 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2ps.1.html +639 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2rgba.1.html +162 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffcmp.1.html +156 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffcp.1.html +569 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffcrop.1.html +684 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffdither.1.html +196 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffdump.1.html +145 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffgt.1.html +551 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffinfo.1.html +196 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffmedian.1.html +183 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffset.1.html +176 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffsplit.1.html +102 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/misc.html +117 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/support.html +655 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/tools.html +137 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta007.html +112 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta016.html +122 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta018.html +84 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta024.html +139 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta028.html +146 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta029.html +86 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta031.html +94 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta032.html +90 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta033.html +82 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta034.html +68 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta035.html +63 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta036.html +117 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.1.html +75 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.2.html +108 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.3.html +132 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.4.html +88 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.5.html +155 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.6-beta.html +185 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.7.html +259 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.6.0.html +434 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.6.1.html +199 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0.html +144 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0alpha.html +249 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0beta.html +162 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0beta2.html +131 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.1.html +233 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.2.html +222 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.3.html +230 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.4.html +133 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.8.0.html +199 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.8.1.html +217 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.8.2.html +137 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.0.html +261 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.0beta.html +304 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.1.html +115 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.2.html +122 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.3.html +160 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.4.html +125 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.5.html +270 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.0.html +269 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.1.html +113 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.2.html +118 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.3.html +125 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.4.html +274 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.4beta.html +291 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.5.html +148 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.6.html +139 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.7.html +411 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.8.html +445 -0
- data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.9.html +373 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff-4.pc.in +11 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/.cvsignore +22 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/CMakeLists.txt +165 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.am +154 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.in +966 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.lcc +129 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.vc +102 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/SConstruct +73 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/libtiff.def +168 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/libtiff.map +4 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/libtiffxx.map +4 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/mkg3states.c +454 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/mkspans.c +82 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/t4.h +292 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_aux.c +376 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_close.c +140 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_codec.c +165 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_color.c +309 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_compress.c +304 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.h-vms +46 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.h.cmake.in +261 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.h.in +410 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.vc.h +137 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.wince.h +71 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dir.c +1767 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dir.h +309 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dirinfo.c +1070 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dirread.c +5803 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dirwrite.c +3024 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dumpmode.c +143 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_error.c +88 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_extension.c +118 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_fax3.c +1648 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_fax3.h +540 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_fax3sm.c +1260 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_flush.c +118 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_getimage.c +3048 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_jbig.c +214 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_jpeg.c +2601 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_jpeg_12.c +69 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_luv.c +1765 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_lzma.c +495 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_lzw.c +1218 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_next.c +189 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_ojpeg.c +2563 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_open.c +725 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_packbits.c +311 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_pixarlog.c +1485 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_predict.c +881 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_predict.h +79 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_print.c +722 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_read.c +1572 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_stream.cxx +430 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_strip.c +389 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_swab.c +312 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_thunder.c +208 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_tile.c +322 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_unix.c +386 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_version.c +40 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_vms.c +611 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_warning.c +89 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_win32.c +476 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_wince.c +293 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_write.c +834 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_zip.c +476 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiff.h +681 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.h-vms +99 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.h.cmake.in +130 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.h.in +127 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.vc.h +161 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.wince.h +121 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffio.h +560 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffio.hxx +49 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffiop.h +445 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffvers.h +9 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffvers.h.in +9 -0
- data/vendor/gitlab.com/libtiff/libtiff/libtiff/uvcode.h +180 -0
- data/vendor/gitlab.com/libtiff/libtiff/m4/acinclude.m4 +851 -0
- data/vendor/gitlab.com/libtiff/libtiff/m4/ice_find_athena.m4 +187 -0
- data/vendor/gitlab.com/libtiff/libtiff/m4/libtool.m4 +8388 -0
- data/vendor/gitlab.com/libtiff/libtiff/m4/ltoptions.m4 +437 -0
- data/vendor/gitlab.com/libtiff/libtiff/m4/ltsugar.m4 +124 -0
- data/vendor/gitlab.com/libtiff/libtiff/m4/ltversion.m4 +23 -0
- data/vendor/gitlab.com/libtiff/libtiff/m4/lt~obsolete.m4 +99 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/.cvsignore +3 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/CMakeLists.txt +97 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/Makefile.am +94 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/Makefile.in +684 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFClose.3tiff +53 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFDataWidth.3tiff +74 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFError.3tiff +69 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldDataType.3tiff +53 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldName.3tiff +52 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldPassCount.3tiff +73 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldReadCount.3tiff +77 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldTag.3tiff +56 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldWriteCount.3tiff +88 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFlush.3tiff +64 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFGetField.3tiff +229 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFOpen.3tiff +279 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFPrintDirectory.3tiff +70 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFRGBAImage.3tiff +286 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadDirectory.3tiff +164 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadEncodedStrip.3tiff +78 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadEncodedTile.3tiff +76 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRGBAImage.3tiff +218 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRGBAStrip.3tiff +170 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRGBATile.3tiff +171 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRawStrip.3tiff +64 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRawTile.3tiff +65 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadScanline.3tiff +94 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadTile.3tiff +84 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFSetDirectory.3tiff +79 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFSetField.3tiff +217 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWarning.3tiff +70 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteDirectory.3tiff +138 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteEncodedStrip.3tiff +102 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteEncodedTile.3tiff +96 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteRawStrip.3tiff +96 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteRawTile.3tiff +84 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteScanline.3tiff +154 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteTile.3tiff +77 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFbuffer.3tiff +77 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFcodec.3tiff +82 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFcolor.3tiff +268 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFmemory.3tiff +90 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFquery.3tiff +142 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFsize.3tiff +59 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFstrip.3tiff +99 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFswab.3tiff +80 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/TIFFtile.3tiff +131 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/fax2ps.1 +159 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/fax2tiff.1 +286 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/libtiff.3tiff +545 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/pal2rgb.1 +111 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/ppm2tiff.1 +105 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/raw2tiff.1 +196 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/rgb2ycbcr.1 +99 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/thumbnail.1 +90 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiff2bw.1 +94 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiff2pdf.1 +254 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiff2ps.1 +294 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiff2rgba.1 +97 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffcmp.1 +87 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffcp.1 +317 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffcrop.1 +571 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffdither.1 +135 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffdump.1 +81 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffgt.1 +245 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffinfo.1 +88 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffmedian.1 +112 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffset.1 +99 -0
- data/vendor/gitlab.com/libtiff/libtiff/man/tiffsplit.1 +69 -0
- data/vendor/gitlab.com/libtiff/libtiff/nmake.opt +229 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/.cvsignore +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/CMakeLists.txt +60 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/Makefile.am +35 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/Makefile.in +656 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/Makefile.vc +44 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/dummy.c +12 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/getopt.c +125 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/lfind.c +62 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/libport.h +60 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/snprintf.c +38 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/strcasecmp.c +51 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/strtoul.c +109 -0
- data/vendor/gitlab.com/libtiff/libtiff/port/strtoull.c +116 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/.cvsignore +12 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/CMakeLists.txt +382 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/Makefile.am +334 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/Makefile.in +1987 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/TiffSplitTest.cmake +34 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/TiffTest.cmake +63 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/TiffTestCommon.cmake +108 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/ascii_tag.c +177 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/check_tag.c +91 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/common.sh +122 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/custom_dir.c +247 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/README.txt +29 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/logluv-3c-16b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-1c-16b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-1c-8b.pgm +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-1c-8b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-2c-8b-alpha.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/miniswhite-1c-1b.pbm +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/miniswhite-1c-1b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/palette-1c-1b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/palette-1c-4b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/palette-1c-8b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/quad-lzw-compat.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/quad-tile.jpg.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/rgb-3c-16b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/rgb-3c-8b.ppm +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/images/rgb-3c-8b.tiff +0 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/long_tag.c +156 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/ppm2tiff_pbm.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/ppm2tiff_pgm.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/ppm2tiff_ppm.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/raw_decode.c +304 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/rewrite_tag.c +344 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/short_tag.c +205 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/strip.c +290 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/strip_rw.c +157 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/test_arrays.c +829 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/test_arrays.h +63 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2bw-palette-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2bw-quad-lzw-compat.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2bw-rgb-3c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2pdf.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-EPS1.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-PS1.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-PS2.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-PS3.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-logluv-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-minisblack-1c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-minisblack-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-minisblack-2c-8b-alpha.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-miniswhite-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-palette-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-palette-1c-4b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-palette-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-quad-tile.jpg.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-rgb-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-rgb-3c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-1d-fill.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-1d.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-2d-fill.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-2d.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g4.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-logluv.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-lzw-compat.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-split-join.sh +16 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-split.sh +13 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-thumbnail.sh +10 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-logluv-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-minisblack-1c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-minisblack-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-minisblack-2c-8b-alpha.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-miniswhite-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-palette-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-palette-1c-4b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-palette-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-quad-tile.jpg.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-rgb-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-rgb-3c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-logluv-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-minisblack-1c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-minisblack-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-minisblack-2c-8b-alpha.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-miniswhite-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-palette-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-palette-1c-4b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-palette-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-quad-tile.jpg.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-rgb-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-rgb-3c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-logluv-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-minisblack-1c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-minisblack-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-minisblack-2c-8b-alpha.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-miniswhite-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-palette-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-palette-1c-4b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-palette-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-quad-tile.jpg.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-rgb-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-rgb-3c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-logluv-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-minisblack-1c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-minisblack-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-minisblack-2c-8b-alpha.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-miniswhite-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-palette-1c-1b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-palette-1c-4b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-palette-1c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-quad-tile.jpg.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-rgb-3c-16b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-rgb-3c-8b.sh +7 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffdump.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tiffinfo.sh +6 -0
- data/vendor/gitlab.com/libtiff/libtiff/test/tifftest.h +42 -0
- data/vendor/gitlab.com/libtiff/libtiff/tiff.spec +68 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/.cvsignore +27 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/CMakeLists.txt +125 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.am +138 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.in +955 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.lcc +133 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.vc +52 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/fax2ps.c +463 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/fax2tiff.c +491 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/pal2rgb.c +438 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/ppm2tiff.c +397 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/raw2tiff.c +690 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/rgb2ycbcr.c +397 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/thumbnail.c +691 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2bw.c +501 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2pdf.c +5594 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2ps.c +3106 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2rgba.c +569 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffcmp.c +659 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffcp.c +1913 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffcrop.c +9231 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffdither.c +347 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffdump.c +889 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffgt.c +486 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffinfo.c +488 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffinfoce.c +472 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffmedian.c +918 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffset.c +356 -0
- data/vendor/gitlab.com/libtiff/libtiff/tools/tiffsplit.c +305 -0
- metadata +692 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
Date: Fri, 01 Aug 1997 20:14:52 MDT
|
|
2
|
+
To: Sam Leffler <sam@cthulhu.engr.sgi.com>
|
|
3
|
+
|
|
4
|
+
From: "Conrad J. Poelman (WSAT)" <poelmanc@plk.af.mil>
|
|
5
|
+
Subject: Potential TIFF library additions
|
|
6
|
+
|
|
7
|
+
Delivery-Date: Fri, 01 Aug 1997 19:21:06 -0700
|
|
8
|
+
|
|
9
|
+
Sam,
|
|
10
|
+
|
|
11
|
+
You probably don't remember me, but I sent in a couple of bug fixes
|
|
12
|
+
regarding the TIFF library about a 16 months ago or so...
|
|
13
|
+
|
|
14
|
+
I just wanted to send you two other additions that I have made to our
|
|
15
|
+
local version of the TIFF library in hopes that you will want to
|
|
16
|
+
incorporate them into your next major release of the TIFF library.
|
|
17
|
+
(These additions are based on TIFF version 3.4beta31, but they sit on
|
|
18
|
+
top of the library so they shouldn't be much trouble to incorporate them
|
|
19
|
+
into any more recent version.) They are internally documented to a
|
|
20
|
+
reasonable extent and we've been successfully using them in our code
|
|
21
|
+
here for over a year. If you think they would make good additions to the
|
|
22
|
+
TIFF library, I'd be happy to clean them up more, document them more,
|
|
23
|
+
and/or integrate them with the latest version of the TIFF library, but I
|
|
24
|
+
figured I'd see if you were interested in using them before I went to
|
|
25
|
+
all that trouble.
|
|
26
|
+
|
|
27
|
+
TIFF Image Iterator
|
|
28
|
+
-------------------
|
|
29
|
+
Your ReadRGBA() routine works well for reading many different formats
|
|
30
|
+
(TILED, STIP, compressed or not, etc.) of the most basic types of data
|
|
31
|
+
(RGB, 8-bit greyscale, 8-bit colormapped) into an SGI-style data array,
|
|
32
|
+
and serves as a good template for users with other needs. I used it as
|
|
33
|
+
an exmaple of how to make an iterator which, rather than fill a data
|
|
34
|
+
array, calls an arbitrary user-supplied callback function for each
|
|
35
|
+
"chunk" of data - that "chunk" might be a strip or a tile, and might
|
|
36
|
+
have one sample-per-pixel or two, and might be 8-bit data or 16-bit or
|
|
37
|
+
24-bit. The callback function can do whatever it wants with the data -
|
|
38
|
+
store it in a big array, convert it to RGBA, or draw it directly to the
|
|
39
|
+
screen. I was able to use this iterator to read 16-bit greyscale and 32-
|
|
40
|
+
and 64-bit floating point data, which wasn't possible with ReadRGBA().
|
|
41
|
+
|
|
42
|
+
I have tested this routine with 8- and 16-bit greyscale data as well as
|
|
43
|
+
with 32- and 64-bit floating point data. I believe nearly all of our
|
|
44
|
+
data is organized in strips, so actually I'd appreciate it if you had
|
|
45
|
+
some tiled images that I could test it with.
|
|
46
|
+
|
|
47
|
+
It should certainly be possible and would be cleanest to reimplement
|
|
48
|
+
ReadRGBA() in terms of the image iterator, but I haven't done that.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
Private Sub-Directory Read/Write
|
|
52
|
+
--------------------------------
|
|
53
|
+
TIFF-PL is a Phillips Laboratory extension to the TIFF tags that allows
|
|
54
|
+
us to store satellite imaging-specific information in a TIFF format,
|
|
55
|
+
such as the satellite's trajectory, the imaging time, etc. In order to
|
|
56
|
+
give us the flexibility to modify the tag definitions without getting
|
|
57
|
+
approval from the TIFF committee every time, we were given only three
|
|
58
|
+
TIFF tags - a PL signature, a PL version number, and PL directory
|
|
59
|
+
offset, which lists the position in the file at which to find a private
|
|
60
|
+
sub-directory of tags-value pairs. So I wrote two routines:
|
|
61
|
+
TIFFWritePrivateDataSubDirectory(), which takes a list of tags and a
|
|
62
|
+
"get" function and writes the tag values into the TIFF file, returning
|
|
63
|
+
the offset within the file at which it wrote the directory; and
|
|
64
|
+
TIFFReadPrivateDataSubDirectory(), which takes an offset, a list of
|
|
65
|
+
tags, and a "set" function and reads all the data from the private
|
|
66
|
+
directory. The functions themselves are pretty simple. (The files are
|
|
67
|
+
huge because I had to basically copy all of the tif_dirread.c and
|
|
68
|
+
tif_dirwrite.c files in order to access the various fetching routines
|
|
69
|
+
which were all declared static and therefore inaccessible in the TIFF
|
|
70
|
+
library.)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
I'm including the four source files (tif_imgiter.h, tif_imgiter.c,
|
|
74
|
+
tif_pdsdirread.c, tif_pdsdirwrite.c) in case you want to take a look at
|
|
75
|
+
them. I can also send you some sample code that uses them if you like.
|
|
76
|
+
If you're interested in having them incorporated into the standard TIFF
|
|
77
|
+
library, I'd be happy to do that integration and clean up and document
|
|
78
|
+
the routines. (For example, I've already realized that instead of
|
|
79
|
+
limiting the SEP callback function to three bands (R,G,B) it should take
|
|
80
|
+
an array to enable the handling of n-banded multi-spectral data...) If
|
|
81
|
+
not, I'll just leave them as they are, since they work fine for us now.
|
|
82
|
+
|
|
83
|
+
Holler if you have any questions.
|
|
84
|
+
|
|
85
|
+
-- Conrad
|
|
86
|
+
__________________________________________________________________
|
|
87
|
+
Capt Conrad J. Poelman PL/WSAT (Phillips Laboratory)
|
|
88
|
+
505-846-4347 3550 Aberdeen Ave SE
|
|
89
|
+
(FAX) 505-846-4374 Kirtland AFB, NM 87117-5776
|
|
90
|
+
|
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
/* $Header: /cvs/maptools/cvsroot/libtiff/contrib/pds/tif_imageiter.c,v 1.4 2010-06-08 18:55:15 bfriesen Exp $ */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 1991-1996 Sam Leffler
|
|
5
|
+
* Copyright (c) 1991-1996 Silicon Graphics, Inc.
|
|
6
|
+
*
|
|
7
|
+
* Permission to use, copy, modify, distribute, and sell this software and
|
|
8
|
+
* its documentation for any purpose is hereby granted without fee, provided
|
|
9
|
+
* that (i) the above copyright notices and this permission notice appear in
|
|
10
|
+
* all copies of the software and related documentation, and (ii) the names of
|
|
11
|
+
* Sam Leffler and Silicon Graphics may not be used in any advertising or
|
|
12
|
+
* publicity relating to the software without the specific, prior written
|
|
13
|
+
* permission of Sam Leffler and Silicon Graphics.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
+
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
|
17
|
+
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
18
|
+
*
|
|
19
|
+
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
|
20
|
+
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
|
21
|
+
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
|
22
|
+
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
|
23
|
+
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
|
24
|
+
* OF THIS SOFTWARE.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/*
|
|
28
|
+
* TIFF Library
|
|
29
|
+
*
|
|
30
|
+
* Written by Conrad J. Poelman, PL/WSAT, Kirtland AFB, NM on 26 Mar 96.
|
|
31
|
+
*
|
|
32
|
+
* This file contains code to allow a calling program to "iterate" over each
|
|
33
|
+
* pixels in an image as it is read from the file. The iterator takes care of
|
|
34
|
+
* reading strips versus (possibly clipped) tiles, decoding the information
|
|
35
|
+
* according to the decoding method, and so on, so that calling program can
|
|
36
|
+
* ignore those details. The calling program does, however, need to be
|
|
37
|
+
* conscious of the type of the pixel data that it is receiving.
|
|
38
|
+
*
|
|
39
|
+
* For reasons of efficiency, the callback function actually gets called for
|
|
40
|
+
* "blocks" of pixels rather than for individual pixels. The format of the
|
|
41
|
+
* callback arguments is given below.
|
|
42
|
+
*
|
|
43
|
+
* This code was taken from TIFFReadRGBAImage() in tif_getimage.c of the original
|
|
44
|
+
* TIFF distribution, and simplified and generalized to provide this general
|
|
45
|
+
* iteration capability. Those routines could certainly be re-implemented in terms
|
|
46
|
+
* of a TIFFImageIter if desired.
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
#include "tiffiop.h"
|
|
50
|
+
#include "tif_imageiter.h"
|
|
51
|
+
#include <assert.h>
|
|
52
|
+
#include <stdio.h>
|
|
53
|
+
|
|
54
|
+
static int gtTileContig(TIFFImageIter*, void *udata, uint32, uint32);
|
|
55
|
+
static int gtTileSeparate(TIFFImageIter*, void *udata, uint32, uint32);
|
|
56
|
+
static int gtStripContig(TIFFImageIter*, void *udata, uint32, uint32);
|
|
57
|
+
static int gtStripSeparate(TIFFImageIter*, void *udata, uint32, uint32);
|
|
58
|
+
|
|
59
|
+
static const char photoTag[] = "PhotometricInterpretation";
|
|
60
|
+
|
|
61
|
+
static int
|
|
62
|
+
isCCITTCompression(TIFF* tif)
|
|
63
|
+
{
|
|
64
|
+
uint16 compress;
|
|
65
|
+
TIFFGetField(tif, TIFFTAG_COMPRESSION, &compress);
|
|
66
|
+
return (compress == COMPRESSION_CCITTFAX3 ||
|
|
67
|
+
compress == COMPRESSION_CCITTFAX4 ||
|
|
68
|
+
compress == COMPRESSION_CCITTRLE ||
|
|
69
|
+
compress == COMPRESSION_CCITTRLEW);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
int
|
|
73
|
+
TIFFImageIterBegin(TIFFImageIter* img, TIFF* tif, int stop, char emsg[1024])
|
|
74
|
+
{
|
|
75
|
+
uint16* sampleinfo;
|
|
76
|
+
uint16 extrasamples;
|
|
77
|
+
uint16 planarconfig;
|
|
78
|
+
int colorchannels;
|
|
79
|
+
|
|
80
|
+
img->tif = tif;
|
|
81
|
+
img->stoponerr = stop;
|
|
82
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_BITSPERSAMPLE, &img->bitspersample);
|
|
83
|
+
img->alpha = 0;
|
|
84
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_SAMPLESPERPIXEL, &img->samplesperpixel);
|
|
85
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_EXTRASAMPLES,
|
|
86
|
+
&extrasamples, &sampleinfo);
|
|
87
|
+
if (extrasamples == 1)
|
|
88
|
+
switch (sampleinfo[0]) {
|
|
89
|
+
case EXTRASAMPLE_ASSOCALPHA: /* data is pre-multiplied */
|
|
90
|
+
case EXTRASAMPLE_UNASSALPHA: /* data is not pre-multiplied */
|
|
91
|
+
img->alpha = sampleinfo[0];
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
colorchannels = img->samplesperpixel - extrasamples;
|
|
95
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_PLANARCONFIG, &planarconfig);
|
|
96
|
+
if (!TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &img->photometric)) {
|
|
97
|
+
switch (colorchannels) {
|
|
98
|
+
case 1:
|
|
99
|
+
if (isCCITTCompression(tif))
|
|
100
|
+
img->photometric = PHOTOMETRIC_MINISWHITE;
|
|
101
|
+
else
|
|
102
|
+
img->photometric = PHOTOMETRIC_MINISBLACK;
|
|
103
|
+
break;
|
|
104
|
+
case 3:
|
|
105
|
+
img->photometric = PHOTOMETRIC_RGB;
|
|
106
|
+
break;
|
|
107
|
+
default:
|
|
108
|
+
sprintf(emsg, "Missing needed %s tag", photoTag);
|
|
109
|
+
return (0);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
switch (img->photometric) {
|
|
113
|
+
case PHOTOMETRIC_PALETTE:
|
|
114
|
+
if (!TIFFGetField(tif, TIFFTAG_COLORMAP,
|
|
115
|
+
&img->redcmap, &img->greencmap, &img->bluecmap)) {
|
|
116
|
+
TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Missing required \"Colormap\" tag");
|
|
117
|
+
return (0);
|
|
118
|
+
}
|
|
119
|
+
/* fall thru... */
|
|
120
|
+
case PHOTOMETRIC_MINISWHITE:
|
|
121
|
+
case PHOTOMETRIC_MINISBLACK:
|
|
122
|
+
/* This should work now so skip the check - BSR
|
|
123
|
+
if (planarconfig == PLANARCONFIG_CONTIG && img->samplesperpixel != 1) {
|
|
124
|
+
sprintf(emsg,
|
|
125
|
+
"Sorry, can not handle contiguous data with %s=%d, and %s=%d",
|
|
126
|
+
photoTag, img->photometric,
|
|
127
|
+
"Samples/pixel", img->samplesperpixel);
|
|
128
|
+
return (0);
|
|
129
|
+
}
|
|
130
|
+
*/
|
|
131
|
+
break;
|
|
132
|
+
case PHOTOMETRIC_YCBCR:
|
|
133
|
+
if (planarconfig != PLANARCONFIG_CONTIG) {
|
|
134
|
+
sprintf(emsg, "Sorry, can not handle YCbCr images with %s=%d",
|
|
135
|
+
"Planarconfiguration", planarconfig);
|
|
136
|
+
return (0);
|
|
137
|
+
}
|
|
138
|
+
/* It would probably be nice to have a reality check here. */
|
|
139
|
+
{ uint16 compress;
|
|
140
|
+
TIFFGetField(tif, TIFFTAG_COMPRESSION, &compress);
|
|
141
|
+
if (compress == COMPRESSION_JPEG && planarconfig == PLANARCONFIG_CONTIG) {
|
|
142
|
+
/* can rely on libjpeg to convert to RGB */
|
|
143
|
+
/* XXX should restore current state on exit */
|
|
144
|
+
TIFFSetField(tif, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB);
|
|
145
|
+
img->photometric = PHOTOMETRIC_RGB;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
break;
|
|
149
|
+
case PHOTOMETRIC_RGB:
|
|
150
|
+
if (colorchannels < 3) {
|
|
151
|
+
sprintf(emsg, "Sorry, can not handle RGB image with %s=%d",
|
|
152
|
+
"Color channels", colorchannels);
|
|
153
|
+
return (0);
|
|
154
|
+
}
|
|
155
|
+
break;
|
|
156
|
+
case PHOTOMETRIC_SEPARATED: {
|
|
157
|
+
uint16 inkset;
|
|
158
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_INKSET, &inkset);
|
|
159
|
+
if (inkset != INKSET_CMYK) {
|
|
160
|
+
sprintf(emsg, "Sorry, can not handle separated image with %s=%d",
|
|
161
|
+
"InkSet", inkset);
|
|
162
|
+
return (0);
|
|
163
|
+
}
|
|
164
|
+
if (img->samplesperpixel != 4) {
|
|
165
|
+
sprintf(emsg, "Sorry, can not handle separated image with %s=%d",
|
|
166
|
+
"Samples/pixel", img->samplesperpixel);
|
|
167
|
+
return (0);
|
|
168
|
+
}
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
default:
|
|
172
|
+
sprintf(emsg, "Sorry, can not handle image with %s=%d",
|
|
173
|
+
photoTag, img->photometric);
|
|
174
|
+
return (0);
|
|
175
|
+
}
|
|
176
|
+
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &img->width);
|
|
177
|
+
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &img->height);
|
|
178
|
+
|
|
179
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_ORIENTATION, &img->orientation);
|
|
180
|
+
switch (img->orientation) {
|
|
181
|
+
case ORIENTATION_BOTRIGHT:
|
|
182
|
+
case ORIENTATION_RIGHTBOT: /* XXX */
|
|
183
|
+
case ORIENTATION_LEFTBOT: /* XXX */
|
|
184
|
+
TIFFWarning(TIFFFileName(tif), "using bottom-left orientation");
|
|
185
|
+
img->orientation = ORIENTATION_BOTLEFT;
|
|
186
|
+
/* fall thru... */
|
|
187
|
+
case ORIENTATION_BOTLEFT:
|
|
188
|
+
break;
|
|
189
|
+
case ORIENTATION_TOPRIGHT:
|
|
190
|
+
case ORIENTATION_RIGHTTOP: /* XXX */
|
|
191
|
+
case ORIENTATION_LEFTTOP: /* XXX */
|
|
192
|
+
default:
|
|
193
|
+
TIFFWarning(TIFFFileName(tif), "using top-left orientation");
|
|
194
|
+
img->orientation = ORIENTATION_TOPLEFT;
|
|
195
|
+
/* fall thru... */
|
|
196
|
+
case ORIENTATION_TOPLEFT:
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
img->isContig =
|
|
201
|
+
!(planarconfig == PLANARCONFIG_SEPARATE && colorchannels > 1);
|
|
202
|
+
if (img->isContig) {
|
|
203
|
+
img->get = TIFFIsTiled(tif) ? gtTileContig : gtStripContig;
|
|
204
|
+
} else {
|
|
205
|
+
img->get = TIFFIsTiled(tif) ? gtTileSeparate : gtStripSeparate;
|
|
206
|
+
}
|
|
207
|
+
return (1);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
int
|
|
211
|
+
TIFFImageIterGet(TIFFImageIter* img, void *udata, uint32 w, uint32 h)
|
|
212
|
+
{
|
|
213
|
+
if (img->get == NULL) {
|
|
214
|
+
TIFFErrorExt(img->tif->tif_clientdata, TIFFFileName(img->tif), "No \"get\" routine setup");
|
|
215
|
+
return (0);
|
|
216
|
+
}
|
|
217
|
+
if (img->callback.any == NULL) {
|
|
218
|
+
TIFFErrorExt(img->tif->tif_clientdata, TIFFFileName(img->tif),
|
|
219
|
+
"No \"put\" routine setupl; probably can not handle image format");
|
|
220
|
+
return (0);
|
|
221
|
+
}
|
|
222
|
+
return (*img->get)(img, udata, w, h);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
TIFFImageIterEnd(TIFFImageIter* img)
|
|
226
|
+
{
|
|
227
|
+
/* Nothing to free... ? */
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/*
|
|
231
|
+
* Read the specified image into an ABGR-format raster.
|
|
232
|
+
*/
|
|
233
|
+
int
|
|
234
|
+
TIFFReadImageIter(TIFF* tif,
|
|
235
|
+
uint32 rwidth, uint32 rheight, uint8* raster, int stop)
|
|
236
|
+
{
|
|
237
|
+
char emsg[1024];
|
|
238
|
+
TIFFImageIter img;
|
|
239
|
+
int ok;
|
|
240
|
+
|
|
241
|
+
if (TIFFImageIterBegin(&img, tif, stop, emsg)) {
|
|
242
|
+
/* XXX verify rwidth and rheight against width and height */
|
|
243
|
+
ok = TIFFImageIterGet(&img, raster, rwidth, img.height);
|
|
244
|
+
TIFFImageIterEnd(&img);
|
|
245
|
+
} else {
|
|
246
|
+
TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), emsg);
|
|
247
|
+
ok = 0;
|
|
248
|
+
}
|
|
249
|
+
return (ok);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
/*
|
|
254
|
+
* Get an tile-organized image that has
|
|
255
|
+
* PlanarConfiguration contiguous if SamplesPerPixel > 1
|
|
256
|
+
* or
|
|
257
|
+
* SamplesPerPixel == 1
|
|
258
|
+
*/
|
|
259
|
+
static int
|
|
260
|
+
gtTileContig(TIFFImageIter* img, void *udata, uint32 w, uint32 h)
|
|
261
|
+
{
|
|
262
|
+
TIFF* tif = img->tif;
|
|
263
|
+
ImageIterTileContigRoutine callback = img->callback.contig;
|
|
264
|
+
uint16 orientation;
|
|
265
|
+
uint32 col, row;
|
|
266
|
+
uint32 tw, th;
|
|
267
|
+
u_char* buf;
|
|
268
|
+
int32 fromskew;
|
|
269
|
+
uint32 nrow;
|
|
270
|
+
|
|
271
|
+
buf = (u_char*) _TIFFmalloc(TIFFTileSize(tif));
|
|
272
|
+
if (buf == 0) {
|
|
273
|
+
TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for tile buffer");
|
|
274
|
+
return (0);
|
|
275
|
+
}
|
|
276
|
+
TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tw);
|
|
277
|
+
TIFFGetField(tif, TIFFTAG_TILELENGTH, &th);
|
|
278
|
+
orientation = img->orientation;
|
|
279
|
+
for (row = 0; row < h; row += th) {
|
|
280
|
+
nrow = (row + th > h ? h - row : th);
|
|
281
|
+
for (col = 0; col < w; col += tw) {
|
|
282
|
+
if (TIFFReadTile(tif, buf, col, row, 0, 0) < 0 && img->stoponerr)
|
|
283
|
+
break;
|
|
284
|
+
if (col + tw > w) {
|
|
285
|
+
/*
|
|
286
|
+
* Tile is clipped horizontally. Calculate
|
|
287
|
+
* visible portion and skewing factors.
|
|
288
|
+
*/
|
|
289
|
+
uint32 npix = w - col;
|
|
290
|
+
fromskew = tw - npix;
|
|
291
|
+
(*callback)(img, udata, col, row, npix, nrow, fromskew, buf);
|
|
292
|
+
} else {
|
|
293
|
+
(*callback)(img, udata, col, row, tw, nrow, 0, buf);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
_TIFFfree(buf);
|
|
298
|
+
return (1);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/*
|
|
302
|
+
* Get an tile-organized image that has
|
|
303
|
+
* SamplesPerPixel > 1
|
|
304
|
+
* PlanarConfiguration separated
|
|
305
|
+
* We assume that all such images are RGB.
|
|
306
|
+
*/
|
|
307
|
+
static int
|
|
308
|
+
gtTileSeparate(TIFFImageIter* img, void *udata, uint32 w, uint32 h)
|
|
309
|
+
{
|
|
310
|
+
TIFF* tif = img->tif;
|
|
311
|
+
ImageIterTileSeparateRoutine callback = img->callback.separate;
|
|
312
|
+
uint16 orientation;
|
|
313
|
+
uint32 col, row;
|
|
314
|
+
uint32 tw, th;
|
|
315
|
+
u_char* buf;
|
|
316
|
+
u_char* r;
|
|
317
|
+
u_char* g;
|
|
318
|
+
u_char* b;
|
|
319
|
+
u_char* a;
|
|
320
|
+
tsize_t tilesize;
|
|
321
|
+
int32 fromskew;
|
|
322
|
+
int alpha = img->alpha;
|
|
323
|
+
uint32 nrow;
|
|
324
|
+
|
|
325
|
+
tilesize = TIFFTileSize(tif);
|
|
326
|
+
buf = (u_char*) _TIFFmalloc(4*tilesize);
|
|
327
|
+
if (buf == 0) {
|
|
328
|
+
TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for tile buffer");
|
|
329
|
+
return (0);
|
|
330
|
+
}
|
|
331
|
+
r = buf;
|
|
332
|
+
g = r + tilesize;
|
|
333
|
+
b = g + tilesize;
|
|
334
|
+
a = b + tilesize;
|
|
335
|
+
if (!alpha)
|
|
336
|
+
memset(a, 0xff, tilesize);
|
|
337
|
+
TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tw);
|
|
338
|
+
TIFFGetField(tif, TIFFTAG_TILELENGTH, &th);
|
|
339
|
+
orientation = img->orientation;
|
|
340
|
+
for (row = 0; row < h; row += th) {
|
|
341
|
+
nrow = (row + th > h ? h - row : th);
|
|
342
|
+
for (col = 0; col < w; col += tw) {
|
|
343
|
+
if (TIFFReadTile(tif, r, col, row,0,0) < 0 && img->stoponerr)
|
|
344
|
+
break;
|
|
345
|
+
if (TIFFReadTile(tif, g, col, row,0,1) < 0 && img->stoponerr)
|
|
346
|
+
break;
|
|
347
|
+
if (TIFFReadTile(tif, b, col, row,0,2) < 0 && img->stoponerr)
|
|
348
|
+
break;
|
|
349
|
+
if (alpha && TIFFReadTile(tif,a,col,row,0,3) < 0 && img->stoponerr)
|
|
350
|
+
break;
|
|
351
|
+
if (col + tw > w) {
|
|
352
|
+
/*
|
|
353
|
+
* Tile is clipped horizontally. Calculate
|
|
354
|
+
* visible portion and skewing factors.
|
|
355
|
+
*/
|
|
356
|
+
uint32 npix = w - col;
|
|
357
|
+
fromskew = tw - npix;
|
|
358
|
+
(*callback)(img, udata, col, row, npix, nrow, fromskew, r, g, b, a);
|
|
359
|
+
} else {
|
|
360
|
+
(*callback)(img, udata, col, row, tw, nrow, 0, r, g, b, a);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
_TIFFfree(buf);
|
|
365
|
+
return (1);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/*
|
|
369
|
+
* Get a strip-organized image that has
|
|
370
|
+
* PlanarConfiguration contiguous if SamplesPerPixel > 1
|
|
371
|
+
* or
|
|
372
|
+
* SamplesPerPixel == 1
|
|
373
|
+
*/
|
|
374
|
+
static int
|
|
375
|
+
gtStripContig(TIFFImageIter* img, void *udata, uint32 w, uint32 h)
|
|
376
|
+
{
|
|
377
|
+
TIFF* tif = img->tif;
|
|
378
|
+
ImageIterTileContigRoutine callback = img->callback.contig;
|
|
379
|
+
uint16 orientation;
|
|
380
|
+
uint32 row, nrow;
|
|
381
|
+
u_char* buf;
|
|
382
|
+
uint32 rowsperstrip;
|
|
383
|
+
uint32 imagewidth = img->width;
|
|
384
|
+
tsize_t scanline;
|
|
385
|
+
int32 fromskew;
|
|
386
|
+
|
|
387
|
+
buf = (u_char*) _TIFFmalloc(TIFFStripSize(tif));
|
|
388
|
+
if (buf == 0) {
|
|
389
|
+
TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for strip buffer");
|
|
390
|
+
return (0);
|
|
391
|
+
}
|
|
392
|
+
orientation = img->orientation;
|
|
393
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_ROWSPERSTRIP, &rowsperstrip);
|
|
394
|
+
scanline = TIFFScanlineSize(tif);
|
|
395
|
+
fromskew = (w < imagewidth ? imagewidth - w : 0);
|
|
396
|
+
for (row = 0; row < h; row += rowsperstrip) {
|
|
397
|
+
nrow = (row + rowsperstrip > h ? h - row : rowsperstrip);
|
|
398
|
+
if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 0),
|
|
399
|
+
buf, nrow*scanline) < 0 && img->stoponerr)
|
|
400
|
+
break;
|
|
401
|
+
(*callback)(img, udata, 0, row, w, nrow, fromskew, buf);
|
|
402
|
+
}
|
|
403
|
+
_TIFFfree(buf);
|
|
404
|
+
return (1);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/*
|
|
408
|
+
* Get a strip-organized image with
|
|
409
|
+
* SamplesPerPixel > 1
|
|
410
|
+
* PlanarConfiguration separated
|
|
411
|
+
* We assume that all such images are RGB.
|
|
412
|
+
*/
|
|
413
|
+
static int
|
|
414
|
+
gtStripSeparate(TIFFImageIter* img, void *udata, uint32 w, uint32 h)
|
|
415
|
+
{
|
|
416
|
+
TIFF* tif = img->tif;
|
|
417
|
+
ImageIterTileSeparateRoutine callback = img->callback.separate;
|
|
418
|
+
uint16 orientation;
|
|
419
|
+
u_char *buf;
|
|
420
|
+
u_char *r, *g, *b, *a;
|
|
421
|
+
uint32 row, nrow;
|
|
422
|
+
tsize_t scanline;
|
|
423
|
+
uint32 rowsperstrip;
|
|
424
|
+
uint32 imagewidth = img->width;
|
|
425
|
+
tsize_t stripsize;
|
|
426
|
+
int32 fromskew;
|
|
427
|
+
int alpha = img->alpha;
|
|
428
|
+
|
|
429
|
+
stripsize = TIFFStripSize(tif);
|
|
430
|
+
r = buf = (u_char *)_TIFFmalloc(4*stripsize);
|
|
431
|
+
if (buf == 0) {
|
|
432
|
+
TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for tile buffer");
|
|
433
|
+
return (0);
|
|
434
|
+
}
|
|
435
|
+
g = r + stripsize;
|
|
436
|
+
b = g + stripsize;
|
|
437
|
+
a = b + stripsize;
|
|
438
|
+
if (!alpha)
|
|
439
|
+
memset(a, 0xff, stripsize);
|
|
440
|
+
orientation = img->orientation;
|
|
441
|
+
TIFFGetFieldDefaulted(tif, TIFFTAG_ROWSPERSTRIP, &rowsperstrip);
|
|
442
|
+
scanline = TIFFScanlineSize(tif);
|
|
443
|
+
fromskew = (w < imagewidth ? imagewidth - w : 0);
|
|
444
|
+
for (row = 0; row < h; row += rowsperstrip) {
|
|
445
|
+
nrow = (row + rowsperstrip > h ? h - row : rowsperstrip);
|
|
446
|
+
if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 0),
|
|
447
|
+
r, nrow*scanline) < 0 && img->stoponerr)
|
|
448
|
+
break;
|
|
449
|
+
if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 1),
|
|
450
|
+
g, nrow*scanline) < 0 && img->stoponerr)
|
|
451
|
+
break;
|
|
452
|
+
if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 2),
|
|
453
|
+
b, nrow*scanline) < 0 && img->stoponerr)
|
|
454
|
+
break;
|
|
455
|
+
if (alpha &&
|
|
456
|
+
(TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, row, 3),
|
|
457
|
+
a, nrow*scanline) < 0 && img->stoponerr))
|
|
458
|
+
break;
|
|
459
|
+
(*callback)(img, udata, 0, row, w, nrow, fromskew, r, g, b, a);
|
|
460
|
+
}
|
|
461
|
+
_TIFFfree(buf);
|
|
462
|
+
return (1);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
DECLAREContigCallbackFunc(TestContigCallback)
|
|
466
|
+
{
|
|
467
|
+
printf("Contig Callback called with x = %d, y = %d, w = %d, h = %d, fromskew = %d\n",
|
|
468
|
+
x, y, w, h, fromskew);
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
DECLARESepCallbackFunc(TestSepCallback)
|
|
473
|
+
{
|
|
474
|
+
printf("Sep Callback called with x = %d, y = %d, w = %d, h = %d, fromskew = %d\n",
|
|
475
|
+
x, y, w, h, fromskew);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
#ifdef MAIN
|
|
480
|
+
main(int argc, char **argv)
|
|
481
|
+
{
|
|
482
|
+
char emsg[1024];
|
|
483
|
+
TIFFImageIter img;
|
|
484
|
+
int ok;
|
|
485
|
+
int stop = 1;
|
|
486
|
+
|
|
487
|
+
TIFF *tif;
|
|
488
|
+
unsigned long nx, ny;
|
|
489
|
+
unsigned short BitsPerSample, SamplesPerPixel;
|
|
490
|
+
int isColorMapped, isPliFile;
|
|
491
|
+
unsigned char *ColorMap;
|
|
492
|
+
unsigned char *data;
|
|
493
|
+
|
|
494
|
+
if (argc < 2) {
|
|
495
|
+
fprintf(stderr,"usage: %s tiff_file\n",argv[0]);
|
|
496
|
+
exit(1);
|
|
497
|
+
}
|
|
498
|
+
tif = (TIFF *)PLIGetImage(argv[1], (void *) &data, &ColorMap,
|
|
499
|
+
&nx, &ny, &BitsPerSample, &SamplesPerPixel,
|
|
500
|
+
&isColorMapped, &isPliFile);
|
|
501
|
+
if (tif != NULL) {
|
|
502
|
+
|
|
503
|
+
if (TIFFImageIterBegin(&img, tif, stop, emsg)) {
|
|
504
|
+
/* Here need to set data and callback function! */
|
|
505
|
+
if (img.isContig) {
|
|
506
|
+
img.callback = TestContigCallback;
|
|
507
|
+
} else {
|
|
508
|
+
img.callback = TestSepCallback;
|
|
509
|
+
}
|
|
510
|
+
ok = TIFFImageIterGet(&img, NULL, img.width, img.height);
|
|
511
|
+
TIFFImageIterEnd(&img);
|
|
512
|
+
} else {
|
|
513
|
+
TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), emsg);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
}
|
|
518
|
+
#endif
|
|
519
|
+
/*
|
|
520
|
+
* Local Variables:
|
|
521
|
+
* mode: c
|
|
522
|
+
* c-basic-offset: 8
|
|
523
|
+
* fill-column: 78
|
|
524
|
+
* End:
|
|
525
|
+
*/
|