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,430 @@
|
|
|
1
|
+
/* $Id: tif_stream.cxx,v 1.13 2015-05-28 01:50:22 bfriesen Exp $ */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 1988-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 UNIX-specific Routines.
|
|
29
|
+
*/
|
|
30
|
+
#include "tiffiop.h"
|
|
31
|
+
#include <iostream>
|
|
32
|
+
|
|
33
|
+
#ifndef __VMS
|
|
34
|
+
using namespace std;
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
/*
|
|
38
|
+
ISO C++ uses a 'std::streamsize' type to define counts. This makes
|
|
39
|
+
it similar to, (but perhaps not the same as) size_t.
|
|
40
|
+
|
|
41
|
+
The std::ios::pos_type is used to represent stream positions as used
|
|
42
|
+
by tellg(), tellp(), seekg(), and seekp(). This makes it similar to
|
|
43
|
+
(but perhaps not the same as) 'off_t'. The std::ios::streampos type
|
|
44
|
+
is used for character streams, but is documented to not be an
|
|
45
|
+
integral type anymore, so it should *not* be assigned to an integral
|
|
46
|
+
type.
|
|
47
|
+
|
|
48
|
+
The std::ios::off_type is used to specify relative offsets needed by
|
|
49
|
+
the variants of seekg() and seekp() which accept a relative offset
|
|
50
|
+
argument.
|
|
51
|
+
|
|
52
|
+
Useful prototype knowledge:
|
|
53
|
+
|
|
54
|
+
Obtain read position
|
|
55
|
+
ios::pos_type basic_istream::tellg()
|
|
56
|
+
|
|
57
|
+
Set read position
|
|
58
|
+
basic_istream& basic_istream::seekg(ios::pos_type)
|
|
59
|
+
basic_istream& basic_istream::seekg(ios::off_type, ios_base::seekdir)
|
|
60
|
+
|
|
61
|
+
Read data
|
|
62
|
+
basic_istream& istream::read(char *str, streamsize count)
|
|
63
|
+
|
|
64
|
+
Number of characters read in last unformatted read
|
|
65
|
+
streamsize istream::gcount();
|
|
66
|
+
|
|
67
|
+
Obtain write position
|
|
68
|
+
ios::pos_type basic_ostream::tellp()
|
|
69
|
+
|
|
70
|
+
Set write position
|
|
71
|
+
basic_ostream& basic_ostream::seekp(ios::pos_type)
|
|
72
|
+
basic_ostream& basic_ostream::seekp(ios::off_type, ios_base::seekdir)
|
|
73
|
+
|
|
74
|
+
Write data
|
|
75
|
+
basic_ostream& ostream::write(const char *str, streamsize count)
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
struct tiffis_data;
|
|
79
|
+
struct tiffos_data;
|
|
80
|
+
|
|
81
|
+
extern "C" {
|
|
82
|
+
|
|
83
|
+
static tmsize_t _tiffosReadProc(thandle_t, void*, tmsize_t);
|
|
84
|
+
static tmsize_t _tiffisReadProc(thandle_t fd, void* buf, tmsize_t size);
|
|
85
|
+
static tmsize_t _tiffosWriteProc(thandle_t fd, void* buf, tmsize_t size);
|
|
86
|
+
static tmsize_t _tiffisWriteProc(thandle_t, void*, tmsize_t);
|
|
87
|
+
static uint64 _tiffosSeekProc(thandle_t fd, uint64 off, int whence);
|
|
88
|
+
static uint64 _tiffisSeekProc(thandle_t fd, uint64 off, int whence);
|
|
89
|
+
static uint64 _tiffosSizeProc(thandle_t fd);
|
|
90
|
+
static uint64 _tiffisSizeProc(thandle_t fd);
|
|
91
|
+
static int _tiffosCloseProc(thandle_t fd);
|
|
92
|
+
static int _tiffisCloseProc(thandle_t fd);
|
|
93
|
+
static int _tiffDummyMapProc(thandle_t , void** base, toff_t* size );
|
|
94
|
+
static void _tiffDummyUnmapProc(thandle_t , void* base, toff_t size );
|
|
95
|
+
static TIFF* _tiffStreamOpen(const char* name, const char* mode, void *fd);
|
|
96
|
+
|
|
97
|
+
struct tiffis_data
|
|
98
|
+
{
|
|
99
|
+
istream *stream;
|
|
100
|
+
ios::pos_type start_pos;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
struct tiffos_data
|
|
104
|
+
{
|
|
105
|
+
ostream *stream;
|
|
106
|
+
ios::pos_type start_pos;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
static tmsize_t
|
|
110
|
+
_tiffosReadProc(thandle_t, void*, tmsize_t)
|
|
111
|
+
{
|
|
112
|
+
return 0;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
static tmsize_t
|
|
116
|
+
_tiffisReadProc(thandle_t fd, void* buf, tmsize_t size)
|
|
117
|
+
{
|
|
118
|
+
tiffis_data *data = reinterpret_cast<tiffis_data *>(fd);
|
|
119
|
+
|
|
120
|
+
// Verify that type does not overflow.
|
|
121
|
+
streamsize request_size = size;
|
|
122
|
+
if (static_cast<tmsize_t>(request_size) != size)
|
|
123
|
+
return static_cast<tmsize_t>(-1);
|
|
124
|
+
|
|
125
|
+
data->stream->read((char *) buf, request_size);
|
|
126
|
+
|
|
127
|
+
return static_cast<tmsize_t>(data->stream->gcount());
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
static tmsize_t
|
|
131
|
+
_tiffosWriteProc(thandle_t fd, void* buf, tmsize_t size)
|
|
132
|
+
{
|
|
133
|
+
tiffos_data *data = reinterpret_cast<tiffos_data *>(fd);
|
|
134
|
+
ostream *os = data->stream;
|
|
135
|
+
ios::pos_type pos = os->tellp();
|
|
136
|
+
|
|
137
|
+
// Verify that type does not overflow.
|
|
138
|
+
streamsize request_size = size;
|
|
139
|
+
if (static_cast<tmsize_t>(request_size) != size)
|
|
140
|
+
return static_cast<tmsize_t>(-1);
|
|
141
|
+
|
|
142
|
+
os->write(reinterpret_cast<const char *>(buf), request_size);
|
|
143
|
+
|
|
144
|
+
return static_cast<tmsize_t>(os->tellp() - pos);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
static tmsize_t
|
|
148
|
+
_tiffisWriteProc(thandle_t, void*, tmsize_t)
|
|
149
|
+
{
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
static uint64
|
|
154
|
+
_tiffosSeekProc(thandle_t fd, uint64 off, int whence)
|
|
155
|
+
{
|
|
156
|
+
tiffos_data *data = reinterpret_cast<tiffos_data *>(fd);
|
|
157
|
+
ostream *os = data->stream;
|
|
158
|
+
|
|
159
|
+
// if the stream has already failed, don't do anything
|
|
160
|
+
if( os->fail() )
|
|
161
|
+
return static_cast<uint64>(-1);
|
|
162
|
+
|
|
163
|
+
switch(whence) {
|
|
164
|
+
case SEEK_SET:
|
|
165
|
+
{
|
|
166
|
+
// Compute 64-bit offset
|
|
167
|
+
uint64 new_offset = static_cast<uint64>(data->start_pos) + off;
|
|
168
|
+
|
|
169
|
+
// Verify that value does not overflow
|
|
170
|
+
ios::off_type offset = static_cast<ios::off_type>(new_offset);
|
|
171
|
+
if (static_cast<uint64>(offset) != new_offset)
|
|
172
|
+
return static_cast<uint64>(-1);
|
|
173
|
+
|
|
174
|
+
os->seekp(offset, ios::beg);
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case SEEK_CUR:
|
|
178
|
+
{
|
|
179
|
+
// Verify that value does not overflow
|
|
180
|
+
ios::off_type offset = static_cast<ios::off_type>(off);
|
|
181
|
+
if (static_cast<uint64>(offset) != off)
|
|
182
|
+
return static_cast<uint64>(-1);
|
|
183
|
+
|
|
184
|
+
os->seekp(offset, ios::cur);
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
case SEEK_END:
|
|
188
|
+
{
|
|
189
|
+
// Verify that value does not overflow
|
|
190
|
+
ios::off_type offset = static_cast<ios::off_type>(off);
|
|
191
|
+
if (static_cast<uint64>(offset) != off)
|
|
192
|
+
return static_cast<uint64>(-1);
|
|
193
|
+
|
|
194
|
+
os->seekp(offset, ios::end);
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Attempt to workaround problems with seeking past the end of the
|
|
200
|
+
// stream. ofstream doesn't have a problem with this but
|
|
201
|
+
// ostrstream/ostringstream does. In that situation, add intermediate
|
|
202
|
+
// '\0' characters.
|
|
203
|
+
if( os->fail() ) {
|
|
204
|
+
#ifdef __VMS
|
|
205
|
+
int old_state;
|
|
206
|
+
#else
|
|
207
|
+
ios::iostate old_state;
|
|
208
|
+
#endif
|
|
209
|
+
ios::pos_type origin;
|
|
210
|
+
|
|
211
|
+
old_state = os->rdstate();
|
|
212
|
+
// reset the fail bit or else tellp() won't work below
|
|
213
|
+
os->clear(os->rdstate() & ~ios::failbit);
|
|
214
|
+
switch( whence ) {
|
|
215
|
+
case SEEK_SET:
|
|
216
|
+
default:
|
|
217
|
+
origin = data->start_pos;
|
|
218
|
+
break;
|
|
219
|
+
case SEEK_CUR:
|
|
220
|
+
origin = os->tellp();
|
|
221
|
+
break;
|
|
222
|
+
case SEEK_END:
|
|
223
|
+
os->seekp(0, ios::end);
|
|
224
|
+
origin = os->tellp();
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
// restore original stream state
|
|
228
|
+
os->clear(old_state);
|
|
229
|
+
|
|
230
|
+
// only do something if desired seek position is valid
|
|
231
|
+
if( (static_cast<uint64>(origin) + off) > static_cast<uint64>(data->start_pos) ) {
|
|
232
|
+
uint64 num_fill;
|
|
233
|
+
|
|
234
|
+
// clear the fail bit
|
|
235
|
+
os->clear(os->rdstate() & ~ios::failbit);
|
|
236
|
+
|
|
237
|
+
// extend the stream to the expected size
|
|
238
|
+
os->seekp(0, ios::end);
|
|
239
|
+
num_fill = (static_cast<uint64>(origin)) + off - os->tellp();
|
|
240
|
+
for( uint64 i = 0; i < num_fill; i++ )
|
|
241
|
+
os->put('\0');
|
|
242
|
+
|
|
243
|
+
// retry the seek
|
|
244
|
+
os->seekp(static_cast<ios::off_type>(static_cast<uint64>(origin) + off), ios::beg);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
return static_cast<uint64>(os->tellp());
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
static uint64
|
|
252
|
+
_tiffisSeekProc(thandle_t fd, uint64 off, int whence)
|
|
253
|
+
{
|
|
254
|
+
tiffis_data *data = reinterpret_cast<tiffis_data *>(fd);
|
|
255
|
+
|
|
256
|
+
switch(whence) {
|
|
257
|
+
case SEEK_SET:
|
|
258
|
+
{
|
|
259
|
+
// Compute 64-bit offset
|
|
260
|
+
uint64 new_offset = static_cast<uint64>(data->start_pos) + off;
|
|
261
|
+
|
|
262
|
+
// Verify that value does not overflow
|
|
263
|
+
ios::off_type offset = static_cast<ios::off_type>(new_offset);
|
|
264
|
+
if (static_cast<uint64>(offset) != new_offset)
|
|
265
|
+
return static_cast<uint64>(-1);
|
|
266
|
+
|
|
267
|
+
data->stream->seekg(offset, ios::beg);
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
case SEEK_CUR:
|
|
271
|
+
{
|
|
272
|
+
// Verify that value does not overflow
|
|
273
|
+
ios::off_type offset = static_cast<ios::off_type>(off);
|
|
274
|
+
if (static_cast<uint64>(offset) != off)
|
|
275
|
+
return static_cast<uint64>(-1);
|
|
276
|
+
|
|
277
|
+
data->stream->seekg(offset, ios::cur);
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
case SEEK_END:
|
|
281
|
+
{
|
|
282
|
+
// Verify that value does not overflow
|
|
283
|
+
ios::off_type offset = static_cast<ios::off_type>(off);
|
|
284
|
+
if (static_cast<uint64>(offset) != off)
|
|
285
|
+
return static_cast<uint64>(-1);
|
|
286
|
+
|
|
287
|
+
data->stream->seekg(offset, ios::end);
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return (uint64) (data->stream->tellg() - data->start_pos);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
static uint64
|
|
296
|
+
_tiffosSizeProc(thandle_t fd)
|
|
297
|
+
{
|
|
298
|
+
tiffos_data *data = reinterpret_cast<tiffos_data *>(fd);
|
|
299
|
+
ostream *os = data->stream;
|
|
300
|
+
ios::pos_type pos = os->tellp();
|
|
301
|
+
ios::pos_type len;
|
|
302
|
+
|
|
303
|
+
os->seekp(0, ios::end);
|
|
304
|
+
len = os->tellp();
|
|
305
|
+
os->seekp(pos);
|
|
306
|
+
|
|
307
|
+
return (uint64) len;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
static uint64
|
|
311
|
+
_tiffisSizeProc(thandle_t fd)
|
|
312
|
+
{
|
|
313
|
+
tiffis_data *data = reinterpret_cast<tiffis_data *>(fd);
|
|
314
|
+
ios::pos_type pos = data->stream->tellg();
|
|
315
|
+
ios::pos_type len;
|
|
316
|
+
|
|
317
|
+
data->stream->seekg(0, ios::end);
|
|
318
|
+
len = data->stream->tellg();
|
|
319
|
+
data->stream->seekg(pos);
|
|
320
|
+
|
|
321
|
+
return (uint64) len;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
static int
|
|
325
|
+
_tiffosCloseProc(thandle_t fd)
|
|
326
|
+
{
|
|
327
|
+
// Our stream was not allocated by us, so it shouldn't be closed by us.
|
|
328
|
+
delete reinterpret_cast<tiffos_data *>(fd);
|
|
329
|
+
return 0;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
static int
|
|
333
|
+
_tiffisCloseProc(thandle_t fd)
|
|
334
|
+
{
|
|
335
|
+
// Our stream was not allocated by us, so it shouldn't be closed by us.
|
|
336
|
+
delete reinterpret_cast<tiffis_data *>(fd);
|
|
337
|
+
return 0;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
static int
|
|
341
|
+
_tiffDummyMapProc(thandle_t , void** base, toff_t* size )
|
|
342
|
+
{
|
|
343
|
+
(void) base;
|
|
344
|
+
(void) size;
|
|
345
|
+
return (0);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
static void
|
|
349
|
+
_tiffDummyUnmapProc(thandle_t , void* base, toff_t size )
|
|
350
|
+
{
|
|
351
|
+
(void) base;
|
|
352
|
+
(void) size;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/*
|
|
356
|
+
* Open a TIFF file descriptor for read/writing.
|
|
357
|
+
*/
|
|
358
|
+
static TIFF*
|
|
359
|
+
_tiffStreamOpen(const char* name, const char* mode, void *fd)
|
|
360
|
+
{
|
|
361
|
+
TIFF* tif;
|
|
362
|
+
|
|
363
|
+
if( strchr(mode, 'w') ) {
|
|
364
|
+
tiffos_data *data = new tiffos_data;
|
|
365
|
+
data->stream = reinterpret_cast<ostream *>(fd);
|
|
366
|
+
data->start_pos = data->stream->tellp();
|
|
367
|
+
|
|
368
|
+
// Open for writing.
|
|
369
|
+
tif = TIFFClientOpen(name, mode,
|
|
370
|
+
reinterpret_cast<thandle_t>(data),
|
|
371
|
+
_tiffosReadProc,
|
|
372
|
+
_tiffosWriteProc,
|
|
373
|
+
_tiffosSeekProc,
|
|
374
|
+
_tiffosCloseProc,
|
|
375
|
+
_tiffosSizeProc,
|
|
376
|
+
_tiffDummyMapProc,
|
|
377
|
+
_tiffDummyUnmapProc);
|
|
378
|
+
} else {
|
|
379
|
+
tiffis_data *data = new tiffis_data;
|
|
380
|
+
data->stream = reinterpret_cast<istream *>(fd);
|
|
381
|
+
data->start_pos = data->stream->tellg();
|
|
382
|
+
// Open for reading.
|
|
383
|
+
tif = TIFFClientOpen(name, mode,
|
|
384
|
+
reinterpret_cast<thandle_t>(data),
|
|
385
|
+
_tiffisReadProc,
|
|
386
|
+
_tiffisWriteProc,
|
|
387
|
+
_tiffisSeekProc,
|
|
388
|
+
_tiffisCloseProc,
|
|
389
|
+
_tiffisSizeProc,
|
|
390
|
+
_tiffDummyMapProc,
|
|
391
|
+
_tiffDummyUnmapProc);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
return (tif);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
} /* extern "C" */
|
|
398
|
+
|
|
399
|
+
TIFF*
|
|
400
|
+
TIFFStreamOpen(const char* name, ostream *os)
|
|
401
|
+
{
|
|
402
|
+
// If os is either a ostrstream or ostringstream, and has no data
|
|
403
|
+
// written to it yet, then tellp() will return -1 which will break us.
|
|
404
|
+
// We workaround this by writing out a dummy character and
|
|
405
|
+
// then seek back to the beginning.
|
|
406
|
+
if( !os->fail() && static_cast<int>(os->tellp()) < 0 ) {
|
|
407
|
+
*os << '\0';
|
|
408
|
+
os->seekp(0);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
// NB: We don't support mapped files with streams so add 'm'
|
|
412
|
+
return _tiffStreamOpen(name, "wm", os);
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
TIFF*
|
|
416
|
+
TIFFStreamOpen(const char* name, istream *is)
|
|
417
|
+
{
|
|
418
|
+
// NB: We don't support mapped files with streams so add 'm'
|
|
419
|
+
return _tiffStreamOpen(name, "rm", is);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/* vim: set ts=8 sts=8 sw=8 noet: */
|
|
423
|
+
/*
|
|
424
|
+
* Local Variables:
|
|
425
|
+
* mode: c
|
|
426
|
+
* c-basic-offset: 8
|
|
427
|
+
* fill-column: 78
|
|
428
|
+
* End:
|
|
429
|
+
*/
|
|
430
|
+
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/* $Id: tif_strip.c,v 1.38 2016-12-03 11:02:15 erouault Exp $ */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 1991-1997 Sam Leffler
|
|
5
|
+
* Copyright (c) 1991-1997 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
|
+
* Strip-organized Image Support Routines.
|
|
31
|
+
*/
|
|
32
|
+
#include "tiffiop.h"
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
* Compute which strip a (row,sample) value is in.
|
|
36
|
+
*/
|
|
37
|
+
uint32
|
|
38
|
+
TIFFComputeStrip(TIFF* tif, uint32 row, uint16 sample)
|
|
39
|
+
{
|
|
40
|
+
static const char module[] = "TIFFComputeStrip";
|
|
41
|
+
TIFFDirectory *td = &tif->tif_dir;
|
|
42
|
+
uint32 strip;
|
|
43
|
+
|
|
44
|
+
strip = row / td->td_rowsperstrip;
|
|
45
|
+
if (td->td_planarconfig == PLANARCONFIG_SEPARATE) {
|
|
46
|
+
if (sample >= td->td_samplesperpixel) {
|
|
47
|
+
TIFFErrorExt(tif->tif_clientdata, module,
|
|
48
|
+
"%lu: Sample out of range, max %lu",
|
|
49
|
+
(unsigned long) sample, (unsigned long) td->td_samplesperpixel);
|
|
50
|
+
return (0);
|
|
51
|
+
}
|
|
52
|
+
strip += (uint32)sample*td->td_stripsperimage;
|
|
53
|
+
}
|
|
54
|
+
return (strip);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
* Compute how many strips are in an image.
|
|
59
|
+
*/
|
|
60
|
+
uint32
|
|
61
|
+
TIFFNumberOfStrips(TIFF* tif)
|
|
62
|
+
{
|
|
63
|
+
TIFFDirectory *td = &tif->tif_dir;
|
|
64
|
+
uint32 nstrips;
|
|
65
|
+
|
|
66
|
+
nstrips = (td->td_rowsperstrip == (uint32) -1 ? 1 :
|
|
67
|
+
TIFFhowmany_32(td->td_imagelength, td->td_rowsperstrip));
|
|
68
|
+
if (td->td_planarconfig == PLANARCONFIG_SEPARATE)
|
|
69
|
+
nstrips = _TIFFMultiply32(tif, nstrips, (uint32)td->td_samplesperpixel,
|
|
70
|
+
"TIFFNumberOfStrips");
|
|
71
|
+
return (nstrips);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
* Compute the # bytes in a variable height, row-aligned strip.
|
|
76
|
+
*/
|
|
77
|
+
uint64
|
|
78
|
+
TIFFVStripSize64(TIFF* tif, uint32 nrows)
|
|
79
|
+
{
|
|
80
|
+
static const char module[] = "TIFFVStripSize64";
|
|
81
|
+
TIFFDirectory *td = &tif->tif_dir;
|
|
82
|
+
if (nrows==(uint32)(-1))
|
|
83
|
+
nrows=td->td_imagelength;
|
|
84
|
+
if ((td->td_planarconfig==PLANARCONFIG_CONTIG)&&
|
|
85
|
+
(td->td_photometric == PHOTOMETRIC_YCBCR)&&
|
|
86
|
+
(!isUpSampled(tif)))
|
|
87
|
+
{
|
|
88
|
+
/*
|
|
89
|
+
* Packed YCbCr data contain one Cb+Cr for every
|
|
90
|
+
* HorizontalSampling*VerticalSampling Y values.
|
|
91
|
+
* Must also roundup width and height when calculating
|
|
92
|
+
* since images that are not a multiple of the
|
|
93
|
+
* horizontal/vertical subsampling area include
|
|
94
|
+
* YCbCr data for the extended image.
|
|
95
|
+
*/
|
|
96
|
+
uint16 ycbcrsubsampling[2];
|
|
97
|
+
uint16 samplingblock_samples;
|
|
98
|
+
uint32 samplingblocks_hor;
|
|
99
|
+
uint32 samplingblocks_ver;
|
|
100
|
+
uint64 samplingrow_samples;
|
|
101
|
+
uint64 samplingrow_size;
|
|
102
|
+
if(td->td_samplesperpixel!=3)
|
|
103
|
+
{
|
|
104
|
+
TIFFErrorExt(tif->tif_clientdata,module,
|
|
105
|
+
"Invalid td_samplesperpixel value");
|
|
106
|
+
return 0;
|
|
107
|
+
}
|
|
108
|
+
TIFFGetFieldDefaulted(tif,TIFFTAG_YCBCRSUBSAMPLING,ycbcrsubsampling+0,
|
|
109
|
+
ycbcrsubsampling+1);
|
|
110
|
+
if ((ycbcrsubsampling[0] != 1 && ycbcrsubsampling[0] != 2 && ycbcrsubsampling[0] != 4)
|
|
111
|
+
||(ycbcrsubsampling[1] != 1 && ycbcrsubsampling[1] != 2 && ycbcrsubsampling[1] != 4))
|
|
112
|
+
{
|
|
113
|
+
TIFFErrorExt(tif->tif_clientdata,module,
|
|
114
|
+
"Invalid YCbCr subsampling (%dx%d)",
|
|
115
|
+
ycbcrsubsampling[0],
|
|
116
|
+
ycbcrsubsampling[1] );
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
samplingblock_samples=ycbcrsubsampling[0]*ycbcrsubsampling[1]+2;
|
|
120
|
+
samplingblocks_hor=TIFFhowmany_32(td->td_imagewidth,ycbcrsubsampling[0]);
|
|
121
|
+
samplingblocks_ver=TIFFhowmany_32(nrows,ycbcrsubsampling[1]);
|
|
122
|
+
samplingrow_samples=_TIFFMultiply64(tif,samplingblocks_hor,samplingblock_samples,module);
|
|
123
|
+
samplingrow_size=TIFFhowmany8_64(_TIFFMultiply64(tif,samplingrow_samples,td->td_bitspersample,module));
|
|
124
|
+
return(_TIFFMultiply64(tif,samplingrow_size,samplingblocks_ver,module));
|
|
125
|
+
}
|
|
126
|
+
else
|
|
127
|
+
return(_TIFFMultiply64(tif,nrows,TIFFScanlineSize64(tif),module));
|
|
128
|
+
}
|
|
129
|
+
tmsize_t
|
|
130
|
+
TIFFVStripSize(TIFF* tif, uint32 nrows)
|
|
131
|
+
{
|
|
132
|
+
static const char module[] = "TIFFVStripSize";
|
|
133
|
+
uint64 m;
|
|
134
|
+
tmsize_t n;
|
|
135
|
+
m=TIFFVStripSize64(tif,nrows);
|
|
136
|
+
n=(tmsize_t)m;
|
|
137
|
+
if ((uint64)n!=m)
|
|
138
|
+
{
|
|
139
|
+
TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
|
|
140
|
+
n=0;
|
|
141
|
+
}
|
|
142
|
+
return(n);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/*
|
|
146
|
+
* Compute the # bytes in a raw strip.
|
|
147
|
+
*/
|
|
148
|
+
uint64
|
|
149
|
+
TIFFRawStripSize64(TIFF* tif, uint32 strip)
|
|
150
|
+
{
|
|
151
|
+
static const char module[] = "TIFFRawStripSize64";
|
|
152
|
+
TIFFDirectory* td = &tif->tif_dir;
|
|
153
|
+
uint64 bytecount = td->td_stripbytecount[strip];
|
|
154
|
+
|
|
155
|
+
if (bytecount == 0)
|
|
156
|
+
{
|
|
157
|
+
#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
|
|
158
|
+
TIFFErrorExt(tif->tif_clientdata, module,
|
|
159
|
+
"%I64u: Invalid strip byte count, strip %lu",
|
|
160
|
+
(unsigned __int64) bytecount,
|
|
161
|
+
(unsigned long) strip);
|
|
162
|
+
#else
|
|
163
|
+
TIFFErrorExt(tif->tif_clientdata, module,
|
|
164
|
+
"%llu: Invalid strip byte count, strip %lu",
|
|
165
|
+
(unsigned long long) bytecount,
|
|
166
|
+
(unsigned long) strip);
|
|
167
|
+
#endif
|
|
168
|
+
bytecount = (uint64) -1;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return bytecount;
|
|
172
|
+
}
|
|
173
|
+
tmsize_t
|
|
174
|
+
TIFFRawStripSize(TIFF* tif, uint32 strip)
|
|
175
|
+
{
|
|
176
|
+
static const char module[] = "TIFFRawStripSize";
|
|
177
|
+
uint64 m;
|
|
178
|
+
tmsize_t n;
|
|
179
|
+
m=TIFFRawStripSize64(tif,strip);
|
|
180
|
+
if (m==(uint64)(-1))
|
|
181
|
+
n=(tmsize_t)(-1);
|
|
182
|
+
else
|
|
183
|
+
{
|
|
184
|
+
n=(tmsize_t)m;
|
|
185
|
+
if ((uint64)n!=m)
|
|
186
|
+
{
|
|
187
|
+
TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
|
|
188
|
+
n=0;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return(n);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/*
|
|
195
|
+
* Compute the # bytes in a (row-aligned) strip.
|
|
196
|
+
*
|
|
197
|
+
* Note that if RowsPerStrip is larger than the
|
|
198
|
+
* recorded ImageLength, then the strip size is
|
|
199
|
+
* truncated to reflect the actual space required
|
|
200
|
+
* to hold the strip.
|
|
201
|
+
*/
|
|
202
|
+
uint64
|
|
203
|
+
TIFFStripSize64(TIFF* tif)
|
|
204
|
+
{
|
|
205
|
+
TIFFDirectory* td = &tif->tif_dir;
|
|
206
|
+
uint32 rps = td->td_rowsperstrip;
|
|
207
|
+
if (rps > td->td_imagelength)
|
|
208
|
+
rps = td->td_imagelength;
|
|
209
|
+
return (TIFFVStripSize64(tif, rps));
|
|
210
|
+
}
|
|
211
|
+
tmsize_t
|
|
212
|
+
TIFFStripSize(TIFF* tif)
|
|
213
|
+
{
|
|
214
|
+
static const char module[] = "TIFFStripSize";
|
|
215
|
+
uint64 m;
|
|
216
|
+
tmsize_t n;
|
|
217
|
+
m=TIFFStripSize64(tif);
|
|
218
|
+
n=(tmsize_t)m;
|
|
219
|
+
if ((uint64)n!=m)
|
|
220
|
+
{
|
|
221
|
+
TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
|
|
222
|
+
n=0;
|
|
223
|
+
}
|
|
224
|
+
return(n);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/*
|
|
228
|
+
* Compute a default strip size based on the image
|
|
229
|
+
* characteristics and a requested value. If the
|
|
230
|
+
* request is <1 then we choose a strip size according
|
|
231
|
+
* to certain heuristics.
|
|
232
|
+
*/
|
|
233
|
+
uint32
|
|
234
|
+
TIFFDefaultStripSize(TIFF* tif, uint32 request)
|
|
235
|
+
{
|
|
236
|
+
return (*tif->tif_defstripsize)(tif, request);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
uint32
|
|
240
|
+
_TIFFDefaultStripSize(TIFF* tif, uint32 s)
|
|
241
|
+
{
|
|
242
|
+
if ((int32) s < 1) {
|
|
243
|
+
/*
|
|
244
|
+
* If RowsPerStrip is unspecified, try to break the
|
|
245
|
+
* image up into strips that are approximately
|
|
246
|
+
* STRIP_SIZE_DEFAULT bytes long.
|
|
247
|
+
*/
|
|
248
|
+
uint64 scanlinesize;
|
|
249
|
+
uint64 rows;
|
|
250
|
+
scanlinesize=TIFFScanlineSize64(tif);
|
|
251
|
+
if (scanlinesize==0)
|
|
252
|
+
scanlinesize=1;
|
|
253
|
+
rows=(uint64)STRIP_SIZE_DEFAULT/scanlinesize;
|
|
254
|
+
if (rows==0)
|
|
255
|
+
rows=1;
|
|
256
|
+
else if (rows>0xFFFFFFFF)
|
|
257
|
+
rows=0xFFFFFFFF;
|
|
258
|
+
s=(uint32)rows;
|
|
259
|
+
}
|
|
260
|
+
return (s);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/*
|
|
264
|
+
* Return the number of bytes to read/write in a call to
|
|
265
|
+
* one of the scanline-oriented i/o routines. Note that
|
|
266
|
+
* this number may be 1/samples-per-pixel if data is
|
|
267
|
+
* stored as separate planes.
|
|
268
|
+
* The ScanlineSize in case of YCbCrSubsampling is defined as the
|
|
269
|
+
* strip size divided by the strip height, i.e. the size of a pack of vertical
|
|
270
|
+
* subsampling lines divided by vertical subsampling. It should thus make
|
|
271
|
+
* sense when multiplied by a multiple of vertical subsampling.
|
|
272
|
+
*/
|
|
273
|
+
uint64
|
|
274
|
+
TIFFScanlineSize64(TIFF* tif)
|
|
275
|
+
{
|
|
276
|
+
static const char module[] = "TIFFScanlineSize64";
|
|
277
|
+
TIFFDirectory *td = &tif->tif_dir;
|
|
278
|
+
uint64 scanline_size;
|
|
279
|
+
if (td->td_planarconfig==PLANARCONFIG_CONTIG)
|
|
280
|
+
{
|
|
281
|
+
if ((td->td_photometric==PHOTOMETRIC_YCBCR)&&
|
|
282
|
+
(td->td_samplesperpixel==3)&&
|
|
283
|
+
(!isUpSampled(tif)))
|
|
284
|
+
{
|
|
285
|
+
uint16 ycbcrsubsampling[2];
|
|
286
|
+
uint16 samplingblock_samples;
|
|
287
|
+
uint32 samplingblocks_hor;
|
|
288
|
+
uint64 samplingrow_samples;
|
|
289
|
+
uint64 samplingrow_size;
|
|
290
|
+
if(td->td_samplesperpixel!=3)
|
|
291
|
+
{
|
|
292
|
+
TIFFErrorExt(tif->tif_clientdata,module,
|
|
293
|
+
"Invalid td_samplesperpixel value");
|
|
294
|
+
return 0;
|
|
295
|
+
}
|
|
296
|
+
TIFFGetFieldDefaulted(tif,TIFFTAG_YCBCRSUBSAMPLING,
|
|
297
|
+
ycbcrsubsampling+0,
|
|
298
|
+
ycbcrsubsampling+1);
|
|
299
|
+
if (((ycbcrsubsampling[0]!=1)&&(ycbcrsubsampling[0]!=2)&&(ycbcrsubsampling[0]!=4)) ||
|
|
300
|
+
((ycbcrsubsampling[1]!=1)&&(ycbcrsubsampling[1]!=2)&&(ycbcrsubsampling[1]!=4)))
|
|
301
|
+
{
|
|
302
|
+
TIFFErrorExt(tif->tif_clientdata,module,
|
|
303
|
+
"Invalid YCbCr subsampling");
|
|
304
|
+
return 0;
|
|
305
|
+
}
|
|
306
|
+
samplingblock_samples = ycbcrsubsampling[0]*ycbcrsubsampling[1]+2;
|
|
307
|
+
samplingblocks_hor = TIFFhowmany_32(td->td_imagewidth,ycbcrsubsampling[0]);
|
|
308
|
+
samplingrow_samples = _TIFFMultiply64(tif,samplingblocks_hor,samplingblock_samples,module);
|
|
309
|
+
samplingrow_size = TIFFhowmany_64(_TIFFMultiply64(tif,samplingrow_samples,td->td_bitspersample,module),8);
|
|
310
|
+
scanline_size = (samplingrow_size/ycbcrsubsampling[1]);
|
|
311
|
+
}
|
|
312
|
+
else
|
|
313
|
+
{
|
|
314
|
+
uint64 scanline_samples;
|
|
315
|
+
scanline_samples=_TIFFMultiply64(tif,td->td_imagewidth,td->td_samplesperpixel,module);
|
|
316
|
+
scanline_size=TIFFhowmany_64(_TIFFMultiply64(tif,scanline_samples,td->td_bitspersample,module),8);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
else
|
|
320
|
+
{
|
|
321
|
+
scanline_size=TIFFhowmany_64(_TIFFMultiply64(tif,td->td_imagewidth,td->td_bitspersample,module),8);
|
|
322
|
+
}
|
|
323
|
+
if (scanline_size == 0)
|
|
324
|
+
{
|
|
325
|
+
TIFFErrorExt(tif->tif_clientdata,module,"Computed scanline size is zero");
|
|
326
|
+
return 0;
|
|
327
|
+
}
|
|
328
|
+
return(scanline_size);
|
|
329
|
+
}
|
|
330
|
+
tmsize_t
|
|
331
|
+
TIFFScanlineSize(TIFF* tif)
|
|
332
|
+
{
|
|
333
|
+
static const char module[] = "TIFFScanlineSize";
|
|
334
|
+
uint64 m;
|
|
335
|
+
tmsize_t n;
|
|
336
|
+
m=TIFFScanlineSize64(tif);
|
|
337
|
+
n=(tmsize_t)m;
|
|
338
|
+
if ((uint64)n!=m) {
|
|
339
|
+
TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
|
|
340
|
+
n=0;
|
|
341
|
+
}
|
|
342
|
+
return(n);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/*
|
|
346
|
+
* Return the number of bytes required to store a complete
|
|
347
|
+
* decoded and packed raster scanline (as opposed to the
|
|
348
|
+
* I/O size returned by TIFFScanlineSize which may be less
|
|
349
|
+
* if data is store as separate planes).
|
|
350
|
+
*/
|
|
351
|
+
uint64
|
|
352
|
+
TIFFRasterScanlineSize64(TIFF* tif)
|
|
353
|
+
{
|
|
354
|
+
static const char module[] = "TIFFRasterScanlineSize64";
|
|
355
|
+
TIFFDirectory *td = &tif->tif_dir;
|
|
356
|
+
uint64 scanline;
|
|
357
|
+
|
|
358
|
+
scanline = _TIFFMultiply64(tif, td->td_bitspersample, td->td_imagewidth, module);
|
|
359
|
+
if (td->td_planarconfig == PLANARCONFIG_CONTIG) {
|
|
360
|
+
scanline = _TIFFMultiply64(tif, scanline, td->td_samplesperpixel, module);
|
|
361
|
+
return (TIFFhowmany8_64(scanline));
|
|
362
|
+
} else
|
|
363
|
+
return (_TIFFMultiply64(tif, TIFFhowmany8_64(scanline),
|
|
364
|
+
td->td_samplesperpixel, module));
|
|
365
|
+
}
|
|
366
|
+
tmsize_t
|
|
367
|
+
TIFFRasterScanlineSize(TIFF* tif)
|
|
368
|
+
{
|
|
369
|
+
static const char module[] = "TIFFRasterScanlineSize";
|
|
370
|
+
uint64 m;
|
|
371
|
+
tmsize_t n;
|
|
372
|
+
m=TIFFRasterScanlineSize64(tif);
|
|
373
|
+
n=(tmsize_t)m;
|
|
374
|
+
if ((uint64)n!=m)
|
|
375
|
+
{
|
|
376
|
+
TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
|
|
377
|
+
n=0;
|
|
378
|
+
}
|
|
379
|
+
return(n);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/* vim: set ts=8 sts=8 sw=8 noet: */
|
|
383
|
+
/*
|
|
384
|
+
* Local Variables:
|
|
385
|
+
* mode: c
|
|
386
|
+
* c-basic-offset: 8
|
|
387
|
+
* fill-column: 78
|
|
388
|
+
* End:
|
|
389
|
+
*/
|