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,309 @@
|
|
1
|
+
/* $Id: tif_dir.h,v 1.55 2017-06-01 12:44:04 erouault Exp $ */
|
2
|
+
|
3
|
+
/*
|
4
|
+
* Copyright (c) 1988-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
|
+
#ifndef _TIFFDIR_
|
28
|
+
#define _TIFFDIR_
|
29
|
+
/*
|
30
|
+
* ``Library-private'' Directory-related Definitions.
|
31
|
+
*/
|
32
|
+
|
33
|
+
typedef struct {
|
34
|
+
const TIFFField *info;
|
35
|
+
int count;
|
36
|
+
void *value;
|
37
|
+
} TIFFTagValue;
|
38
|
+
|
39
|
+
/*
|
40
|
+
* TIFF Image File Directories are comprised of a table of field
|
41
|
+
* descriptors of the form shown below. The table is sorted in
|
42
|
+
* ascending order by tag. The values associated with each entry are
|
43
|
+
* disjoint and may appear anywhere in the file (so long as they are
|
44
|
+
* placed on a word boundary).
|
45
|
+
*
|
46
|
+
* If the value is 4 bytes or less, in ClassicTIFF, or 8 bytes or less in
|
47
|
+
* BigTIFF, then it is placed in the offset field to save space. If so,
|
48
|
+
* it is left-justified in the offset field.
|
49
|
+
*/
|
50
|
+
typedef struct {
|
51
|
+
uint16 tdir_tag; /* see below */
|
52
|
+
uint16 tdir_type; /* data type; see below */
|
53
|
+
uint64 tdir_count; /* number of items; length in spec */
|
54
|
+
union {
|
55
|
+
uint16 toff_short;
|
56
|
+
uint32 toff_long;
|
57
|
+
uint64 toff_long8;
|
58
|
+
} tdir_offset; /* either offset or the data itself if fits */
|
59
|
+
} TIFFDirEntry;
|
60
|
+
|
61
|
+
/*
|
62
|
+
* Internal format of a TIFF directory entry.
|
63
|
+
*/
|
64
|
+
typedef struct {
|
65
|
+
#define FIELD_SETLONGS 4
|
66
|
+
/* bit vector of fields that are set */
|
67
|
+
unsigned long td_fieldsset[FIELD_SETLONGS];
|
68
|
+
|
69
|
+
uint32 td_imagewidth, td_imagelength, td_imagedepth;
|
70
|
+
uint32 td_tilewidth, td_tilelength, td_tiledepth;
|
71
|
+
uint32 td_subfiletype;
|
72
|
+
uint16 td_bitspersample;
|
73
|
+
uint16 td_sampleformat;
|
74
|
+
uint16 td_compression;
|
75
|
+
uint16 td_photometric;
|
76
|
+
uint16 td_threshholding;
|
77
|
+
uint16 td_fillorder;
|
78
|
+
uint16 td_orientation;
|
79
|
+
uint16 td_samplesperpixel;
|
80
|
+
uint32 td_rowsperstrip;
|
81
|
+
uint16 td_minsamplevalue, td_maxsamplevalue;
|
82
|
+
double* td_sminsamplevalue;
|
83
|
+
double* td_smaxsamplevalue;
|
84
|
+
float td_xresolution, td_yresolution;
|
85
|
+
uint16 td_resolutionunit;
|
86
|
+
uint16 td_planarconfig;
|
87
|
+
float td_xposition, td_yposition;
|
88
|
+
uint16 td_pagenumber[2];
|
89
|
+
uint16* td_colormap[3];
|
90
|
+
uint16 td_halftonehints[2];
|
91
|
+
uint16 td_extrasamples;
|
92
|
+
uint16* td_sampleinfo;
|
93
|
+
/* even though the name is misleading, td_stripsperimage is the number
|
94
|
+
* of striles (=strips or tiles) per plane, and td_nstrips the total
|
95
|
+
* number of striles */
|
96
|
+
uint32 td_stripsperimage;
|
97
|
+
uint32 td_nstrips; /* size of offset & bytecount arrays */
|
98
|
+
uint64* td_stripoffset;
|
99
|
+
uint64* td_stripbytecount;
|
100
|
+
int td_stripbytecountsorted; /* is the bytecount array sorted ascending? */
|
101
|
+
#if defined(DEFER_STRILE_LOAD)
|
102
|
+
TIFFDirEntry td_stripoffset_entry; /* for deferred loading */
|
103
|
+
TIFFDirEntry td_stripbytecount_entry; /* for deferred loading */
|
104
|
+
#endif
|
105
|
+
uint16 td_nsubifd;
|
106
|
+
uint64* td_subifd;
|
107
|
+
/* YCbCr parameters */
|
108
|
+
uint16 td_ycbcrsubsampling[2];
|
109
|
+
uint16 td_ycbcrpositioning;
|
110
|
+
/* Colorimetry parameters */
|
111
|
+
uint16* td_transferfunction[3];
|
112
|
+
float* td_refblackwhite;
|
113
|
+
/* CMYK parameters */
|
114
|
+
int td_inknameslen;
|
115
|
+
char* td_inknames;
|
116
|
+
|
117
|
+
int td_customValueCount;
|
118
|
+
TIFFTagValue *td_customValues;
|
119
|
+
} TIFFDirectory;
|
120
|
+
|
121
|
+
/*
|
122
|
+
* Field flags used to indicate fields that have been set in a directory, and
|
123
|
+
* to reference fields when manipulating a directory.
|
124
|
+
*/
|
125
|
+
|
126
|
+
/*
|
127
|
+
* FIELD_IGNORE is used to signify tags that are to be processed but otherwise
|
128
|
+
* ignored. This permits antiquated tags to be quietly read and discarded.
|
129
|
+
* Note that a bit *is* allocated for ignored tags; this is understood by the
|
130
|
+
* directory reading logic which uses this fact to avoid special-case handling
|
131
|
+
*/
|
132
|
+
#define FIELD_IGNORE 0
|
133
|
+
|
134
|
+
/* multi-item fields */
|
135
|
+
#define FIELD_IMAGEDIMENSIONS 1
|
136
|
+
#define FIELD_TILEDIMENSIONS 2
|
137
|
+
#define FIELD_RESOLUTION 3
|
138
|
+
#define FIELD_POSITION 4
|
139
|
+
|
140
|
+
/* single-item fields */
|
141
|
+
#define FIELD_SUBFILETYPE 5
|
142
|
+
#define FIELD_BITSPERSAMPLE 6
|
143
|
+
#define FIELD_COMPRESSION 7
|
144
|
+
#define FIELD_PHOTOMETRIC 8
|
145
|
+
#define FIELD_THRESHHOLDING 9
|
146
|
+
#define FIELD_FILLORDER 10
|
147
|
+
#define FIELD_ORIENTATION 15
|
148
|
+
#define FIELD_SAMPLESPERPIXEL 16
|
149
|
+
#define FIELD_ROWSPERSTRIP 17
|
150
|
+
#define FIELD_MINSAMPLEVALUE 18
|
151
|
+
#define FIELD_MAXSAMPLEVALUE 19
|
152
|
+
#define FIELD_PLANARCONFIG 20
|
153
|
+
#define FIELD_RESOLUTIONUNIT 22
|
154
|
+
#define FIELD_PAGENUMBER 23
|
155
|
+
#define FIELD_STRIPBYTECOUNTS 24
|
156
|
+
#define FIELD_STRIPOFFSETS 25
|
157
|
+
#define FIELD_COLORMAP 26
|
158
|
+
#define FIELD_EXTRASAMPLES 31
|
159
|
+
#define FIELD_SAMPLEFORMAT 32
|
160
|
+
#define FIELD_SMINSAMPLEVALUE 33
|
161
|
+
#define FIELD_SMAXSAMPLEVALUE 34
|
162
|
+
#define FIELD_IMAGEDEPTH 35
|
163
|
+
#define FIELD_TILEDEPTH 36
|
164
|
+
#define FIELD_HALFTONEHINTS 37
|
165
|
+
#define FIELD_YCBCRSUBSAMPLING 39
|
166
|
+
#define FIELD_YCBCRPOSITIONING 40
|
167
|
+
#define FIELD_REFBLACKWHITE 41
|
168
|
+
#define FIELD_TRANSFERFUNCTION 44
|
169
|
+
#define FIELD_INKNAMES 46
|
170
|
+
#define FIELD_SUBIFD 49
|
171
|
+
/* FIELD_CUSTOM (see tiffio.h) 65 */
|
172
|
+
/* end of support for well-known tags; codec-private tags follow */
|
173
|
+
#define FIELD_CODEC 66 /* base of codec-private tags */
|
174
|
+
|
175
|
+
|
176
|
+
/*
|
177
|
+
* Pseudo-tags don't normally need field bits since they are not written to an
|
178
|
+
* output file (by definition). The library also has express logic to always
|
179
|
+
* query a codec for a pseudo-tag so allocating a field bit for one is a
|
180
|
+
* waste. If codec wants to promote the notion of a pseudo-tag being ``set''
|
181
|
+
* or ``unset'' then it can do using internal state flags without polluting
|
182
|
+
* the field bit space defined for real tags.
|
183
|
+
*/
|
184
|
+
#define FIELD_PSEUDO 0
|
185
|
+
|
186
|
+
#define FIELD_LAST (32*FIELD_SETLONGS-1)
|
187
|
+
|
188
|
+
#define BITn(n) (((unsigned long)1L)<<((n)&0x1f))
|
189
|
+
#define BITFIELDn(tif, n) ((tif)->tif_dir.td_fieldsset[(n)/32])
|
190
|
+
#define TIFFFieldSet(tif, field) (BITFIELDn(tif, field) & BITn(field))
|
191
|
+
#define TIFFSetFieldBit(tif, field) (BITFIELDn(tif, field) |= BITn(field))
|
192
|
+
#define TIFFClrFieldBit(tif, field) (BITFIELDn(tif, field) &= ~BITn(field))
|
193
|
+
|
194
|
+
#define FieldSet(fields, f) (fields[(f)/32] & BITn(f))
|
195
|
+
#define ResetFieldBit(fields, f) (fields[(f)/32] &= ~BITn(f))
|
196
|
+
|
197
|
+
typedef enum {
|
198
|
+
TIFF_SETGET_UNDEFINED = 0,
|
199
|
+
TIFF_SETGET_ASCII = 1,
|
200
|
+
TIFF_SETGET_UINT8 = 2,
|
201
|
+
TIFF_SETGET_SINT8 = 3,
|
202
|
+
TIFF_SETGET_UINT16 = 4,
|
203
|
+
TIFF_SETGET_SINT16 = 5,
|
204
|
+
TIFF_SETGET_UINT32 = 6,
|
205
|
+
TIFF_SETGET_SINT32 = 7,
|
206
|
+
TIFF_SETGET_UINT64 = 8,
|
207
|
+
TIFF_SETGET_SINT64 = 9,
|
208
|
+
TIFF_SETGET_FLOAT = 10,
|
209
|
+
TIFF_SETGET_DOUBLE = 11,
|
210
|
+
TIFF_SETGET_IFD8 = 12,
|
211
|
+
TIFF_SETGET_INT = 13,
|
212
|
+
TIFF_SETGET_UINT16_PAIR = 14,
|
213
|
+
TIFF_SETGET_C0_ASCII = 15,
|
214
|
+
TIFF_SETGET_C0_UINT8 = 16,
|
215
|
+
TIFF_SETGET_C0_SINT8 = 17,
|
216
|
+
TIFF_SETGET_C0_UINT16 = 18,
|
217
|
+
TIFF_SETGET_C0_SINT16 = 19,
|
218
|
+
TIFF_SETGET_C0_UINT32 = 20,
|
219
|
+
TIFF_SETGET_C0_SINT32 = 21,
|
220
|
+
TIFF_SETGET_C0_UINT64 = 22,
|
221
|
+
TIFF_SETGET_C0_SINT64 = 23,
|
222
|
+
TIFF_SETGET_C0_FLOAT = 24,
|
223
|
+
TIFF_SETGET_C0_DOUBLE = 25,
|
224
|
+
TIFF_SETGET_C0_IFD8 = 26,
|
225
|
+
TIFF_SETGET_C16_ASCII = 27,
|
226
|
+
TIFF_SETGET_C16_UINT8 = 28,
|
227
|
+
TIFF_SETGET_C16_SINT8 = 29,
|
228
|
+
TIFF_SETGET_C16_UINT16 = 30,
|
229
|
+
TIFF_SETGET_C16_SINT16 = 31,
|
230
|
+
TIFF_SETGET_C16_UINT32 = 32,
|
231
|
+
TIFF_SETGET_C16_SINT32 = 33,
|
232
|
+
TIFF_SETGET_C16_UINT64 = 34,
|
233
|
+
TIFF_SETGET_C16_SINT64 = 35,
|
234
|
+
TIFF_SETGET_C16_FLOAT = 36,
|
235
|
+
TIFF_SETGET_C16_DOUBLE = 37,
|
236
|
+
TIFF_SETGET_C16_IFD8 = 38,
|
237
|
+
TIFF_SETGET_C32_ASCII = 39,
|
238
|
+
TIFF_SETGET_C32_UINT8 = 40,
|
239
|
+
TIFF_SETGET_C32_SINT8 = 41,
|
240
|
+
TIFF_SETGET_C32_UINT16 = 42,
|
241
|
+
TIFF_SETGET_C32_SINT16 = 43,
|
242
|
+
TIFF_SETGET_C32_UINT32 = 44,
|
243
|
+
TIFF_SETGET_C32_SINT32 = 45,
|
244
|
+
TIFF_SETGET_C32_UINT64 = 46,
|
245
|
+
TIFF_SETGET_C32_SINT64 = 47,
|
246
|
+
TIFF_SETGET_C32_FLOAT = 48,
|
247
|
+
TIFF_SETGET_C32_DOUBLE = 49,
|
248
|
+
TIFF_SETGET_C32_IFD8 = 50,
|
249
|
+
TIFF_SETGET_OTHER = 51
|
250
|
+
} TIFFSetGetFieldType;
|
251
|
+
|
252
|
+
#if defined(__cplusplus)
|
253
|
+
extern "C" {
|
254
|
+
#endif
|
255
|
+
|
256
|
+
extern const TIFFFieldArray* _TIFFGetFields(void);
|
257
|
+
extern const TIFFFieldArray* _TIFFGetExifFields(void);
|
258
|
+
extern void _TIFFSetupFields(TIFF* tif, const TIFFFieldArray* infoarray);
|
259
|
+
extern void _TIFFPrintFieldInfo(TIFF*, FILE*);
|
260
|
+
|
261
|
+
extern int _TIFFFillStriles(TIFF*);
|
262
|
+
|
263
|
+
typedef enum {
|
264
|
+
tfiatImage,
|
265
|
+
tfiatExif,
|
266
|
+
tfiatOther
|
267
|
+
} TIFFFieldArrayType;
|
268
|
+
|
269
|
+
struct _TIFFFieldArray {
|
270
|
+
TIFFFieldArrayType type; /* array type, will be used to determine if IFD is image and such */
|
271
|
+
uint32 allocated_size; /* 0 if array is constant, other if modified by future definition extension support */
|
272
|
+
uint32 count; /* number of elements in fields array */
|
273
|
+
TIFFField* fields; /* actual field info */
|
274
|
+
};
|
275
|
+
|
276
|
+
struct _TIFFField {
|
277
|
+
uint32 field_tag; /* field's tag */
|
278
|
+
short field_readcount; /* read count/TIFF_VARIABLE/TIFF_SPP */
|
279
|
+
short field_writecount; /* write count/TIFF_VARIABLE */
|
280
|
+
TIFFDataType field_type; /* type of associated data */
|
281
|
+
uint32 reserved; /* reserved for future extension */
|
282
|
+
TIFFSetGetFieldType set_field_type; /* type to be passed to TIFFSetField */
|
283
|
+
TIFFSetGetFieldType get_field_type; /* type to be passed to TIFFGetField */
|
284
|
+
unsigned short field_bit; /* bit in fieldsset bit vector */
|
285
|
+
unsigned char field_oktochange; /* if true, can change while writing */
|
286
|
+
unsigned char field_passcount; /* if true, pass dir count on set */
|
287
|
+
char* field_name; /* ASCII name */
|
288
|
+
TIFFFieldArray* field_subfields; /* if field points to child ifds, child ifd field definition array */
|
289
|
+
};
|
290
|
+
|
291
|
+
extern int _TIFFMergeFields(TIFF*, const TIFFField[], uint32);
|
292
|
+
extern const TIFFField* _TIFFFindOrRegisterField(TIFF *, uint32, TIFFDataType);
|
293
|
+
extern TIFFField* _TIFFCreateAnonField(TIFF *, uint32, TIFFDataType);
|
294
|
+
extern int _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag);
|
295
|
+
|
296
|
+
#if defined(__cplusplus)
|
297
|
+
}
|
298
|
+
#endif
|
299
|
+
#endif /* _TIFFDIR_ */
|
300
|
+
|
301
|
+
/* vim: set ts=8 sts=8 sw=8 noet: */
|
302
|
+
|
303
|
+
/*
|
304
|
+
* Local Variables:
|
305
|
+
* mode: c
|
306
|
+
* c-basic-offset: 8
|
307
|
+
* fill-column: 78
|
308
|
+
* End:
|
309
|
+
*/
|
@@ -0,0 +1,1070 @@
|
|
1
|
+
/* $Id: tif_dirinfo.c,v 1.127 2017-06-01 12:44:04 erouault Exp $ */
|
2
|
+
|
3
|
+
/*
|
4
|
+
* Copyright (c) 1988-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
|
+
* Core Directory Tag Support.
|
31
|
+
*/
|
32
|
+
#include "tiffiop.h"
|
33
|
+
#include <stdlib.h>
|
34
|
+
|
35
|
+
/*
|
36
|
+
* NOTE: THIS ARRAY IS ASSUMED TO BE SORTED BY TAG.
|
37
|
+
*
|
38
|
+
* NOTE: The second field (field_readcount) and third field (field_writecount)
|
39
|
+
* sometimes use the values TIFF_VARIABLE (-1), TIFF_VARIABLE2 (-3)
|
40
|
+
* and TIFF_SPP (-2). The macros should be used but would throw off
|
41
|
+
* the formatting of the code, so please interpret the -1, -2 and -3
|
42
|
+
* values accordingly.
|
43
|
+
*/
|
44
|
+
|
45
|
+
/* const object should be initialized */
|
46
|
+
#ifdef _MSC_VER
|
47
|
+
#pragma warning( push )
|
48
|
+
#pragma warning( disable : 4132 )
|
49
|
+
#endif
|
50
|
+
static const TIFFFieldArray tiffFieldArray;
|
51
|
+
static const TIFFFieldArray exifFieldArray;
|
52
|
+
#ifdef _MSC_VER
|
53
|
+
#pragma warning( pop )
|
54
|
+
#endif
|
55
|
+
|
56
|
+
static const TIFFField
|
57
|
+
tiffFields[] = {
|
58
|
+
{ TIFFTAG_SUBFILETYPE, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_SUBFILETYPE, 1, 0, "SubfileType", NULL },
|
59
|
+
{ TIFFTAG_OSUBFILETYPE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_SUBFILETYPE, 1, 0, "OldSubfileType", NULL },
|
60
|
+
{ TIFFTAG_IMAGEWIDTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_IMAGEDIMENSIONS, 0, 0, "ImageWidth", NULL },
|
61
|
+
{ TIFFTAG_IMAGELENGTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_IMAGEDIMENSIONS, 1, 0, "ImageLength", NULL },
|
62
|
+
{ TIFFTAG_BITSPERSAMPLE, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_BITSPERSAMPLE, 0, 0, "BitsPerSample", NULL },
|
63
|
+
{ TIFFTAG_COMPRESSION, -1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_COMPRESSION, 0, 0, "Compression", NULL },
|
64
|
+
{ TIFFTAG_PHOTOMETRIC, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_PHOTOMETRIC, 0, 0, "PhotometricInterpretation", NULL },
|
65
|
+
{ TIFFTAG_THRESHHOLDING, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_THRESHHOLDING, 1, 0, "Threshholding", NULL },
|
66
|
+
{ TIFFTAG_CELLWIDTH, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "CellWidth", NULL },
|
67
|
+
{ TIFFTAG_CELLLENGTH, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "CellLength", NULL },
|
68
|
+
{ TIFFTAG_FILLORDER, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_FILLORDER, 0, 0, "FillOrder", NULL },
|
69
|
+
{ TIFFTAG_DOCUMENTNAME, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DocumentName", NULL },
|
70
|
+
{ TIFFTAG_IMAGEDESCRIPTION, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageDescription", NULL },
|
71
|
+
{ TIFFTAG_MAKE, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Make", NULL },
|
72
|
+
{ TIFFTAG_MODEL, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Model", NULL },
|
73
|
+
{ TIFFTAG_STRIPOFFSETS, -1, -1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_STRIPOFFSETS, 0, 0, "StripOffsets", NULL },
|
74
|
+
{ TIFFTAG_ORIENTATION, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_ORIENTATION, 0, 0, "Orientation", NULL },
|
75
|
+
{ TIFFTAG_SAMPLESPERPIXEL, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_SAMPLESPERPIXEL, 0, 0, "SamplesPerPixel", NULL },
|
76
|
+
{ TIFFTAG_ROWSPERSTRIP, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_ROWSPERSTRIP, 0, 0, "RowsPerStrip", NULL },
|
77
|
+
{ TIFFTAG_STRIPBYTECOUNTS, -1, -1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_STRIPBYTECOUNTS, 0, 0, "StripByteCounts", NULL },
|
78
|
+
{ TIFFTAG_MINSAMPLEVALUE, -2, -1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_MINSAMPLEVALUE, 1, 0, "MinSampleValue", NULL },
|
79
|
+
{ TIFFTAG_MAXSAMPLEVALUE, -2, -1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_MAXSAMPLEVALUE, 1, 0, "MaxSampleValue", NULL },
|
80
|
+
{ TIFFTAG_XRESOLUTION, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_RESOLUTION, 1, 0, "XResolution", NULL },
|
81
|
+
{ TIFFTAG_YRESOLUTION, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_RESOLUTION, 1, 0, "YResolution", NULL },
|
82
|
+
{ TIFFTAG_PLANARCONFIG, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_PLANARCONFIG, 0, 0, "PlanarConfiguration", NULL },
|
83
|
+
{ TIFFTAG_PAGENAME, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "PageName", NULL },
|
84
|
+
{ TIFFTAG_XPOSITION, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_POSITION, 1, 0, "XPosition", NULL },
|
85
|
+
{ TIFFTAG_YPOSITION, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_POSITION, 1, 0, "YPosition", NULL },
|
86
|
+
{ TIFFTAG_FREEOFFSETS, -1, -1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 0, 0, "FreeOffsets", NULL },
|
87
|
+
{ TIFFTAG_FREEBYTECOUNTS, -1, -1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 0, 0, "FreeByteCounts", NULL },
|
88
|
+
{ TIFFTAG_GRAYRESPONSEUNIT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "GrayResponseUnit", NULL },
|
89
|
+
{ TIFFTAG_GRAYRESPONSECURVE, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "GrayResponseCurve", NULL },
|
90
|
+
{ TIFFTAG_RESOLUTIONUNIT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_RESOLUTIONUNIT, 1, 0, "ResolutionUnit", NULL },
|
91
|
+
{ TIFFTAG_PAGENUMBER, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_PAGENUMBER, 1, 0, "PageNumber", NULL },
|
92
|
+
{ TIFFTAG_COLORRESPONSEUNIT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_IGNORE, 1, 0, "ColorResponseUnit", NULL },
|
93
|
+
{ TIFFTAG_TRANSFERFUNCTION, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_OTHER, TIFF_SETGET_UNDEFINED, FIELD_TRANSFERFUNCTION, 1, 0, "TransferFunction", NULL },
|
94
|
+
{ TIFFTAG_SOFTWARE, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Software", NULL },
|
95
|
+
{ TIFFTAG_DATETIME, 20, 20, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DateTime", NULL },
|
96
|
+
{ TIFFTAG_ARTIST, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Artist", NULL },
|
97
|
+
{ TIFFTAG_HOSTCOMPUTER, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "HostComputer", NULL },
|
98
|
+
{ TIFFTAG_WHITEPOINT, 2, 2, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "WhitePoint", NULL },
|
99
|
+
{ TIFFTAG_PRIMARYCHROMATICITIES, 6, 6, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "PrimaryChromaticities", NULL },
|
100
|
+
{ TIFFTAG_COLORMAP, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_OTHER, TIFF_SETGET_UNDEFINED, FIELD_COLORMAP, 1, 0, "ColorMap", NULL },
|
101
|
+
{ TIFFTAG_HALFTONEHINTS, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_HALFTONEHINTS, 1, 0, "HalftoneHints", NULL },
|
102
|
+
{ TIFFTAG_TILEWIDTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_TILEDIMENSIONS, 0, 0, "TileWidth", NULL },
|
103
|
+
{ TIFFTAG_TILELENGTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_TILEDIMENSIONS, 0, 0, "TileLength", NULL },
|
104
|
+
{ TIFFTAG_TILEOFFSETS, -1, 1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_STRIPOFFSETS, 0, 0, "TileOffsets", NULL },
|
105
|
+
{ TIFFTAG_TILEBYTECOUNTS, -1, 1, TIFF_LONG8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_STRIPBYTECOUNTS, 0, 0, "TileByteCounts", NULL },
|
106
|
+
{ TIFFTAG_SUBIFD, -1, -1, TIFF_IFD8, 0, TIFF_SETGET_C16_IFD8, TIFF_SETGET_UNDEFINED, FIELD_SUBIFD, 1, 1, "SubIFD", (TIFFFieldArray*) &tiffFieldArray },
|
107
|
+
{ TIFFTAG_INKSET, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "InkSet", NULL },
|
108
|
+
{ TIFFTAG_INKNAMES, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_C16_ASCII, TIFF_SETGET_UNDEFINED, FIELD_INKNAMES, 1, 1, "InkNames", NULL },
|
109
|
+
{ TIFFTAG_NUMBEROFINKS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "NumberOfInks", NULL },
|
110
|
+
{ TIFFTAG_DOTRANGE, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DotRange", NULL },
|
111
|
+
{ TIFFTAG_TARGETPRINTER, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TargetPrinter", NULL },
|
112
|
+
{ TIFFTAG_EXTRASAMPLES, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_EXTRASAMPLES, 0, 1, "ExtraSamples", NULL },
|
113
|
+
{ TIFFTAG_SAMPLEFORMAT, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_SAMPLEFORMAT, 0, 0, "SampleFormat", NULL },
|
114
|
+
{ TIFFTAG_SMINSAMPLEVALUE, -2, -1, TIFF_ANY, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_SMINSAMPLEVALUE, 1, 0, "SMinSampleValue", NULL },
|
115
|
+
{ TIFFTAG_SMAXSAMPLEVALUE, -2, -1, TIFF_ANY, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_SMAXSAMPLEVALUE, 1, 0, "SMaxSampleValue", NULL },
|
116
|
+
{ TIFFTAG_CLIPPATH, -1, -3, TIFF_BYTE, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ClipPath", NULL },
|
117
|
+
{ TIFFTAG_XCLIPPATHUNITS, 1, 1, TIFF_SLONG, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "XClipPathUnits", NULL },
|
118
|
+
{ TIFFTAG_XCLIPPATHUNITS, 1, 1, TIFF_SBYTE, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "XClipPathUnits", NULL },
|
119
|
+
{ TIFFTAG_YCLIPPATHUNITS, 1, 1, TIFF_SLONG, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "YClipPathUnits", NULL },
|
120
|
+
{ TIFFTAG_YCBCRCOEFFICIENTS, 3, 3, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "YCbCrCoefficients", NULL },
|
121
|
+
{ TIFFTAG_YCBCRSUBSAMPLING, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_YCBCRSUBSAMPLING, 0, 0, "YCbCrSubsampling", NULL },
|
122
|
+
{ TIFFTAG_YCBCRPOSITIONING, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_YCBCRPOSITIONING, 0, 0, "YCbCrPositioning", NULL },
|
123
|
+
{ TIFFTAG_REFERENCEBLACKWHITE, 6, 6, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_REFBLACKWHITE, 1, 0, "ReferenceBlackWhite", NULL },
|
124
|
+
{ TIFFTAG_XMLPACKET, -3, -3, TIFF_BYTE, 0, TIFF_SETGET_C32_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "XMLPacket", NULL },
|
125
|
+
/* begin SGI tags */
|
126
|
+
{ TIFFTAG_MATTEING, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_EXTRASAMPLES, 0, 0, "Matteing", NULL },
|
127
|
+
{ TIFFTAG_DATATYPE, -2, -1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_SAMPLEFORMAT, 0, 0, "DataType", NULL },
|
128
|
+
{ TIFFTAG_IMAGEDEPTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_IMAGEDEPTH, 0, 0, "ImageDepth", NULL },
|
129
|
+
{ TIFFTAG_TILEDEPTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_TILEDEPTH, 0, 0, "TileDepth", NULL },
|
130
|
+
/* end SGI tags */
|
131
|
+
/* begin Pixar tags */
|
132
|
+
{ TIFFTAG_PIXAR_IMAGEFULLWIDTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageFullWidth", NULL },
|
133
|
+
{ TIFFTAG_PIXAR_IMAGEFULLLENGTH, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageFullLength", NULL },
|
134
|
+
{ TIFFTAG_PIXAR_TEXTUREFORMAT, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TextureFormat", NULL },
|
135
|
+
{ TIFFTAG_PIXAR_WRAPMODES, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TextureWrapModes", NULL },
|
136
|
+
{ TIFFTAG_PIXAR_FOVCOT, 1, 1, TIFF_FLOAT, 0, TIFF_SETGET_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FieldOfViewCotangent", NULL },
|
137
|
+
{ TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN, 16, 16, TIFF_FLOAT, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MatrixWorldToScreen", NULL },
|
138
|
+
{ TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA, 16, 16, TIFF_FLOAT, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MatrixWorldToCamera", NULL },
|
139
|
+
{ TIFFTAG_CFAREPEATPATTERNDIM, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_C0_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CFARepeatPatternDim", NULL },
|
140
|
+
{ TIFFTAG_CFAPATTERN, 4, 4, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CFAPattern" , NULL},
|
141
|
+
{ TIFFTAG_COPYRIGHT, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Copyright", NULL },
|
142
|
+
/* end Pixar tags */
|
143
|
+
{ TIFFTAG_RICHTIFFIPTC, -3, -3, TIFF_LONG, 0, TIFF_SETGET_C32_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "RichTIFFIPTC", NULL },
|
144
|
+
{ TIFFTAG_PHOTOSHOP, -3, -3, TIFF_BYTE, 0, TIFF_SETGET_C32_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "Photoshop", NULL },
|
145
|
+
{ TIFFTAG_EXIFIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "EXIFIFDOffset", (TIFFFieldArray*) &exifFieldArray },
|
146
|
+
{ TIFFTAG_ICCPROFILE, -3, -3, TIFF_UNDEFINED, 0, TIFF_SETGET_C32_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ICC Profile", NULL },
|
147
|
+
{ TIFFTAG_GPSIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "GPSIFDOffset", NULL },
|
148
|
+
{ TIFFTAG_FAXRECVPARAMS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UINT32, FIELD_CUSTOM, TRUE, FALSE, "FaxRecvParams", NULL },
|
149
|
+
{ TIFFTAG_FAXSUBADDRESS, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_ASCII, FIELD_CUSTOM, TRUE, FALSE, "FaxSubAddress", NULL },
|
150
|
+
{ TIFFTAG_FAXRECVTIME, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UINT32, FIELD_CUSTOM, TRUE, FALSE, "FaxRecvTime", NULL },
|
151
|
+
{ TIFFTAG_FAXDCS, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_ASCII, FIELD_CUSTOM, TRUE, FALSE, "FaxDcs", NULL },
|
152
|
+
{ TIFFTAG_STONITS, 1, 1, TIFF_DOUBLE, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "StoNits", NULL },
|
153
|
+
{ TIFFTAG_INTEROPERABILITYIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "InteroperabilityIFDOffset", NULL },
|
154
|
+
/* begin DNG tags */
|
155
|
+
{ TIFFTAG_DNGVERSION, 4, 4, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DNGVersion", NULL },
|
156
|
+
{ TIFFTAG_DNGBACKWARDVERSION, 4, 4, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DNGBackwardVersion", NULL },
|
157
|
+
{ TIFFTAG_UNIQUECAMERAMODEL, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "UniqueCameraModel", NULL },
|
158
|
+
{ TIFFTAG_LOCALIZEDCAMERAMODEL, -1, -1, TIFF_BYTE, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "LocalizedCameraModel", NULL },
|
159
|
+
{ TIFFTAG_CFAPLANECOLOR, -1, -1, TIFF_BYTE, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CFAPlaneColor", NULL },
|
160
|
+
{ TIFFTAG_CFALAYOUT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CFALayout", NULL },
|
161
|
+
{ TIFFTAG_LINEARIZATIONTABLE, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "LinearizationTable", NULL },
|
162
|
+
{ TIFFTAG_BLACKLEVELREPEATDIM, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_C0_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "BlackLevelRepeatDim", NULL },
|
163
|
+
{ TIFFTAG_BLACKLEVEL, -1, -1, TIFF_RATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "BlackLevel", NULL },
|
164
|
+
{ TIFFTAG_BLACKLEVELDELTAH, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "BlackLevelDeltaH", NULL },
|
165
|
+
{ TIFFTAG_BLACKLEVELDELTAV, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "BlackLevelDeltaV", NULL },
|
166
|
+
{ TIFFTAG_WHITELEVEL, -1, -1, TIFF_LONG, 0, TIFF_SETGET_C16_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "WhiteLevel", NULL },
|
167
|
+
{ TIFFTAG_DEFAULTSCALE, 2, 2, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DefaultScale", NULL },
|
168
|
+
{ TIFFTAG_BESTQUALITYSCALE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "BestQualityScale", NULL },
|
169
|
+
{ TIFFTAG_DEFAULTCROPORIGIN, 2, 2, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DefaultCropOrigin", NULL },
|
170
|
+
{ TIFFTAG_DEFAULTCROPSIZE, 2, 2, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DefaultCropSize", NULL },
|
171
|
+
{ TIFFTAG_COLORMATRIX1, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ColorMatrix1", NULL },
|
172
|
+
{ TIFFTAG_COLORMATRIX2, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ColorMatrix2", NULL },
|
173
|
+
{ TIFFTAG_CAMERACALIBRATION1, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CameraCalibration1", NULL },
|
174
|
+
{ TIFFTAG_CAMERACALIBRATION2, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CameraCalibration2", NULL },
|
175
|
+
{ TIFFTAG_REDUCTIONMATRIX1, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ReductionMatrix1", NULL },
|
176
|
+
{ TIFFTAG_REDUCTIONMATRIX2, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ReductionMatrix2", NULL },
|
177
|
+
{ TIFFTAG_ANALOGBALANCE, -1, -1, TIFF_RATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AnalogBalance", NULL },
|
178
|
+
{ TIFFTAG_ASSHOTNEUTRAL, -1, -1, TIFF_RATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AsShotNeutral", NULL },
|
179
|
+
{ TIFFTAG_ASSHOTWHITEXY, 2, 2, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "AsShotWhiteXY", NULL },
|
180
|
+
{ TIFFTAG_BASELINEEXPOSURE, 1, 1, TIFF_SRATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "BaselineExposure", NULL },
|
181
|
+
{ TIFFTAG_BASELINENOISE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "BaselineNoise", NULL },
|
182
|
+
{ TIFFTAG_BASELINESHARPNESS, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "BaselineSharpness", NULL },
|
183
|
+
{ TIFFTAG_BAYERGREENSPLIT, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "BayerGreenSplit", NULL },
|
184
|
+
{ TIFFTAG_LINEARRESPONSELIMIT, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "LinearResponseLimit", NULL },
|
185
|
+
{ TIFFTAG_CAMERASERIALNUMBER, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "CameraSerialNumber", NULL },
|
186
|
+
{ TIFFTAG_LENSINFO, 4, 4, TIFF_RATIONAL, 0, TIFF_SETGET_C0_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "LensInfo", NULL },
|
187
|
+
{ TIFFTAG_CHROMABLURRADIUS, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ChromaBlurRadius", NULL },
|
188
|
+
{ TIFFTAG_ANTIALIASSTRENGTH, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "AntiAliasStrength", NULL },
|
189
|
+
{ TIFFTAG_SHADOWSCALE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ShadowScale", NULL },
|
190
|
+
{ TIFFTAG_DNGPRIVATEDATA, -1, -1, TIFF_BYTE, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "DNGPrivateData", NULL },
|
191
|
+
{ TIFFTAG_MAKERNOTESAFETY, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "MakerNoteSafety", NULL },
|
192
|
+
{ TIFFTAG_CALIBRATIONILLUMINANT1, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CalibrationIlluminant1", NULL },
|
193
|
+
{ TIFFTAG_CALIBRATIONILLUMINANT2, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CalibrationIlluminant2", NULL },
|
194
|
+
{ TIFFTAG_RAWDATAUNIQUEID, 16, 16, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "RawDataUniqueID", NULL },
|
195
|
+
{ TIFFTAG_ORIGINALRAWFILENAME, -1, -1, TIFF_BYTE, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "OriginalRawFileName", NULL },
|
196
|
+
{ TIFFTAG_ORIGINALRAWFILEDATA, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "OriginalRawFileData", NULL },
|
197
|
+
{ TIFFTAG_ACTIVEAREA, 4, 4, TIFF_LONG, 0, TIFF_SETGET_C0_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ActiveArea", NULL },
|
198
|
+
{ TIFFTAG_MASKEDAREAS, -1, -1, TIFF_LONG, 0, TIFF_SETGET_C16_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "MaskedAreas", NULL },
|
199
|
+
{ TIFFTAG_ASSHOTICCPROFILE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AsShotICCProfile", NULL },
|
200
|
+
{ TIFFTAG_ASSHOTPREPROFILEMATRIX, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "AsShotPreProfileMatrix", NULL },
|
201
|
+
{ TIFFTAG_CURRENTICCPROFILE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CurrentICCProfile", NULL },
|
202
|
+
{ TIFFTAG_CURRENTPREPROFILEMATRIX, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "CurrentPreProfileMatrix", NULL },
|
203
|
+
{ TIFFTAG_PERSAMPLE, 0, 0, TIFF_SHORT, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_PSEUDO, TRUE, FALSE, "PerSample", NULL},
|
204
|
+
/* end DNG tags */
|
205
|
+
/* begin TIFF/FX tags */
|
206
|
+
{ TIFFTAG_INDEXED, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "Indexed", NULL },
|
207
|
+
{ TIFFTAG_GLOBALPARAMETERSIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "GlobalParametersIFD", NULL },
|
208
|
+
{ TIFFTAG_PROFILETYPE, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ProfileType", NULL },
|
209
|
+
{ TIFFTAG_FAXPROFILE, 1, 1, TIFF_BYTE, 0, TIFF_SETGET_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "FaxProfile", NULL },
|
210
|
+
{ TIFFTAG_CODINGMETHODS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "CodingMethods", NULL },
|
211
|
+
{ TIFFTAG_VERSIONYEAR, 4, 4, TIFF_BYTE, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "VersionYear", NULL },
|
212
|
+
{ TIFFTAG_MODENUMBER, 1, 1, TIFF_BYTE, 0, TIFF_SETGET_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ModeNumber", NULL },
|
213
|
+
{ TIFFTAG_DECODE, -1, -1, TIFF_SRATIONAL, 0, TIFF_SETGET_C16_FLOAT, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "Decode", NULL },
|
214
|
+
{ TIFFTAG_IMAGEBASECOLOR, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ImageBaseColor", NULL },
|
215
|
+
{ TIFFTAG_T82OPTIONS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "T82Options", NULL },
|
216
|
+
{ TIFFTAG_STRIPROWCOUNTS, -1, -1, TIFF_LONG, 0, TIFF_SETGET_C16_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "StripRowCounts", NULL },
|
217
|
+
{ TIFFTAG_IMAGELAYER, 2, 2, TIFF_LONG, 0, TIFF_SETGET_C0_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "ImageLayer", NULL },
|
218
|
+
/* end TIFF/FX tags */
|
219
|
+
/* begin pseudo tags */
|
220
|
+
};
|
221
|
+
|
222
|
+
static const TIFFField
|
223
|
+
exifFields[] = {
|
224
|
+
{ EXIFTAG_EXPOSURETIME, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureTime", NULL },
|
225
|
+
{ EXIFTAG_FNUMBER, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FNumber", NULL },
|
226
|
+
{ EXIFTAG_EXPOSUREPROGRAM, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureProgram", NULL },
|
227
|
+
{ EXIFTAG_SPECTRALSENSITIVITY, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SpectralSensitivity", NULL },
|
228
|
+
{ EXIFTAG_ISOSPEEDRATINGS, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "ISOSpeedRatings", NULL },
|
229
|
+
{ EXIFTAG_OECF, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "OptoelectricConversionFactor", NULL },
|
230
|
+
{ EXIFTAG_EXIFVERSION, 4, 4, TIFF_UNDEFINED, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExifVersion", NULL },
|
231
|
+
{ EXIFTAG_DATETIMEORIGINAL, 20, 20, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DateTimeOriginal", NULL },
|
232
|
+
{ EXIFTAG_DATETIMEDIGITIZED, 20, 20, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DateTimeDigitized", NULL },
|
233
|
+
{ EXIFTAG_COMPONENTSCONFIGURATION, 4, 4, TIFF_UNDEFINED, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ComponentsConfiguration", NULL },
|
234
|
+
{ EXIFTAG_COMPRESSEDBITSPERPIXEL, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "CompressedBitsPerPixel", NULL },
|
235
|
+
{ EXIFTAG_SHUTTERSPEEDVALUE, 1, 1, TIFF_SRATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ShutterSpeedValue", NULL },
|
236
|
+
{ EXIFTAG_APERTUREVALUE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ApertureValue", NULL },
|
237
|
+
{ EXIFTAG_BRIGHTNESSVALUE, 1, 1, TIFF_SRATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "BrightnessValue", NULL },
|
238
|
+
{ EXIFTAG_EXPOSUREBIASVALUE, 1, 1, TIFF_SRATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureBiasValue", NULL },
|
239
|
+
{ EXIFTAG_MAXAPERTUREVALUE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MaxApertureValue", NULL },
|
240
|
+
{ EXIFTAG_SUBJECTDISTANCE, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SubjectDistance", NULL },
|
241
|
+
{ EXIFTAG_METERINGMODE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "MeteringMode", NULL },
|
242
|
+
{ EXIFTAG_LIGHTSOURCE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "LightSource", NULL },
|
243
|
+
{ EXIFTAG_FLASH, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Flash", NULL },
|
244
|
+
{ EXIFTAG_FOCALLENGTH, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FocalLength", NULL },
|
245
|
+
{ EXIFTAG_SUBJECTAREA, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "SubjectArea", NULL },
|
246
|
+
{ EXIFTAG_MAKERNOTE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "MakerNote", NULL },
|
247
|
+
{ EXIFTAG_USERCOMMENT, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "UserComment", NULL },
|
248
|
+
{ EXIFTAG_SUBSECTIME, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SubSecTime", NULL },
|
249
|
+
{ EXIFTAG_SUBSECTIMEORIGINAL, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SubSecTimeOriginal", NULL },
|
250
|
+
{ EXIFTAG_SUBSECTIMEDIGITIZED, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SubSecTimeDigitized", NULL },
|
251
|
+
{ EXIFTAG_FLASHPIXVERSION, 4, 4, TIFF_UNDEFINED, 0, TIFF_SETGET_C0_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FlashpixVersion", NULL },
|
252
|
+
{ EXIFTAG_COLORSPACE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ColorSpace", NULL },
|
253
|
+
{ EXIFTAG_PIXELXDIMENSION, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "PixelXDimension", NULL },
|
254
|
+
{ EXIFTAG_PIXELYDIMENSION, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "PixelYDimension", NULL },
|
255
|
+
{ EXIFTAG_RELATEDSOUNDFILE, 13, 13, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "RelatedSoundFile", NULL },
|
256
|
+
{ EXIFTAG_FLASHENERGY, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FlashEnergy", NULL },
|
257
|
+
{ EXIFTAG_SPATIALFREQUENCYRESPONSE, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "SpatialFrequencyResponse", NULL },
|
258
|
+
{ EXIFTAG_FOCALPLANEXRESOLUTION, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FocalPlaneXResolution", NULL },
|
259
|
+
{ EXIFTAG_FOCALPLANEYRESOLUTION, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FocalPlaneYResolution", NULL },
|
260
|
+
{ EXIFTAG_FOCALPLANERESOLUTIONUNIT, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FocalPlaneResolutionUnit", NULL },
|
261
|
+
{ EXIFTAG_SUBJECTLOCATION, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_C0_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SubjectLocation", NULL },
|
262
|
+
{ EXIFTAG_EXPOSUREINDEX, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureIndex", NULL },
|
263
|
+
{ EXIFTAG_SENSINGMETHOD, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SensingMethod", NULL },
|
264
|
+
{ EXIFTAG_FILESOURCE, 1, 1, TIFF_UNDEFINED, 0, TIFF_SETGET_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FileSource", NULL },
|
265
|
+
{ EXIFTAG_SCENETYPE, 1, 1, TIFF_UNDEFINED, 0, TIFF_SETGET_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SceneType", NULL },
|
266
|
+
{ EXIFTAG_CFAPATTERN, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "CFAPattern", NULL },
|
267
|
+
{ EXIFTAG_CUSTOMRENDERED, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "CustomRendered", NULL },
|
268
|
+
{ EXIFTAG_EXPOSUREMODE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ExposureMode", NULL },
|
269
|
+
{ EXIFTAG_WHITEBALANCE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "WhiteBalance", NULL },
|
270
|
+
{ EXIFTAG_DIGITALZOOMRATIO, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "DigitalZoomRatio", NULL },
|
271
|
+
{ EXIFTAG_FOCALLENGTHIN35MMFILM, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "FocalLengthIn35mmFilm", NULL },
|
272
|
+
{ EXIFTAG_SCENECAPTURETYPE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SceneCaptureType", NULL },
|
273
|
+
{ EXIFTAG_GAINCONTROL, 1, 1, TIFF_RATIONAL, 0, TIFF_SETGET_DOUBLE, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "GainControl", NULL },
|
274
|
+
{ EXIFTAG_CONTRAST, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Contrast", NULL },
|
275
|
+
{ EXIFTAG_SATURATION, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Saturation", NULL },
|
276
|
+
{ EXIFTAG_SHARPNESS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "Sharpness", NULL },
|
277
|
+
{ EXIFTAG_DEVICESETTINGDESCRIPTION, -1, -1, TIFF_UNDEFINED, 0, TIFF_SETGET_C16_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 1, "DeviceSettingDescription", NULL },
|
278
|
+
{ EXIFTAG_SUBJECTDISTANCERANGE, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "SubjectDistanceRange", NULL },
|
279
|
+
{ EXIFTAG_IMAGEUNIQUEID, 33, 33, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "ImageUniqueID", NULL }
|
280
|
+
};
|
281
|
+
|
282
|
+
static const TIFFFieldArray
|
283
|
+
tiffFieldArray = { tfiatImage, 0, TIFFArrayCount(tiffFields), (TIFFField*) tiffFields };
|
284
|
+
static const TIFFFieldArray
|
285
|
+
exifFieldArray = { tfiatExif, 0, TIFFArrayCount(exifFields), (TIFFField*) exifFields };
|
286
|
+
|
287
|
+
/*
|
288
|
+
* We have our own local lfind() equivalent to avoid subtle differences
|
289
|
+
* in types passed to lfind() on different systems.
|
290
|
+
*/
|
291
|
+
|
292
|
+
static void *
|
293
|
+
td_lfind(const void *key, const void *base, size_t *nmemb, size_t size,
|
294
|
+
int(*compar)(const void *, const void *))
|
295
|
+
{
|
296
|
+
char *element, *end;
|
297
|
+
|
298
|
+
end = (char *)base + *nmemb * size;
|
299
|
+
for (element = (char *)base; element < end; element += size)
|
300
|
+
if (!compar(key, element)) /* key found */
|
301
|
+
return element;
|
302
|
+
|
303
|
+
return NULL;
|
304
|
+
}
|
305
|
+
|
306
|
+
const TIFFFieldArray*
|
307
|
+
_TIFFGetFields(void)
|
308
|
+
{
|
309
|
+
return(&tiffFieldArray);
|
310
|
+
}
|
311
|
+
|
312
|
+
const TIFFFieldArray*
|
313
|
+
_TIFFGetExifFields(void)
|
314
|
+
{
|
315
|
+
return(&exifFieldArray);
|
316
|
+
}
|
317
|
+
|
318
|
+
void
|
319
|
+
_TIFFSetupFields(TIFF* tif, const TIFFFieldArray* fieldarray)
|
320
|
+
{
|
321
|
+
if (tif->tif_fields && tif->tif_nfields > 0) {
|
322
|
+
uint32 i;
|
323
|
+
|
324
|
+
for (i = 0; i < tif->tif_nfields; i++) {
|
325
|
+
TIFFField *fld = tif->tif_fields[i];
|
326
|
+
if (fld->field_bit == FIELD_CUSTOM &&
|
327
|
+
strncmp("Tag ", fld->field_name, 4) == 0) {
|
328
|
+
_TIFFfree(fld->field_name);
|
329
|
+
_TIFFfree(fld);
|
330
|
+
}
|
331
|
+
}
|
332
|
+
|
333
|
+
_TIFFfree(tif->tif_fields);
|
334
|
+
tif->tif_fields = NULL;
|
335
|
+
tif->tif_nfields = 0;
|
336
|
+
}
|
337
|
+
if (!_TIFFMergeFields(tif, fieldarray->fields, fieldarray->count)) {
|
338
|
+
TIFFErrorExt(tif->tif_clientdata, "_TIFFSetupFields",
|
339
|
+
"Setting up field info failed");
|
340
|
+
}
|
341
|
+
}
|
342
|
+
|
343
|
+
static int
|
344
|
+
tagCompare(const void* a, const void* b)
|
345
|
+
{
|
346
|
+
const TIFFField* ta = *(const TIFFField**) a;
|
347
|
+
const TIFFField* tb = *(const TIFFField**) b;
|
348
|
+
/* NB: be careful of return values for 16-bit platforms */
|
349
|
+
if (ta->field_tag != tb->field_tag)
|
350
|
+
return (int)ta->field_tag - (int)tb->field_tag;
|
351
|
+
else
|
352
|
+
return (ta->field_type == TIFF_ANY) ?
|
353
|
+
0 : ((int)tb->field_type - (int)ta->field_type);
|
354
|
+
}
|
355
|
+
|
356
|
+
static int
|
357
|
+
tagNameCompare(const void* a, const void* b)
|
358
|
+
{
|
359
|
+
const TIFFField* ta = *(const TIFFField**) a;
|
360
|
+
const TIFFField* tb = *(const TIFFField**) b;
|
361
|
+
int ret = strcmp(ta->field_name, tb->field_name);
|
362
|
+
|
363
|
+
if (ret)
|
364
|
+
return ret;
|
365
|
+
else
|
366
|
+
return (ta->field_type == TIFF_ANY) ?
|
367
|
+
0 : ((int)tb->field_type - (int)ta->field_type);
|
368
|
+
}
|
369
|
+
|
370
|
+
int
|
371
|
+
_TIFFMergeFields(TIFF* tif, const TIFFField info[], uint32 n)
|
372
|
+
{
|
373
|
+
static const char module[] = "_TIFFMergeFields";
|
374
|
+
static const char reason[] = "for fields array";
|
375
|
+
/* TIFFField** tp; */
|
376
|
+
uint32 i;
|
377
|
+
|
378
|
+
tif->tif_foundfield = NULL;
|
379
|
+
|
380
|
+
if (tif->tif_fields && tif->tif_nfields > 0) {
|
381
|
+
tif->tif_fields = (TIFFField**)
|
382
|
+
_TIFFCheckRealloc(tif, tif->tif_fields,
|
383
|
+
(tif->tif_nfields + n),
|
384
|
+
sizeof(TIFFField *), reason);
|
385
|
+
} else {
|
386
|
+
tif->tif_fields = (TIFFField **)
|
387
|
+
_TIFFCheckMalloc(tif, n, sizeof(TIFFField *),
|
388
|
+
reason);
|
389
|
+
}
|
390
|
+
if (!tif->tif_fields) {
|
391
|
+
TIFFErrorExt(tif->tif_clientdata, module,
|
392
|
+
"Failed to allocate fields array");
|
393
|
+
return 0;
|
394
|
+
}
|
395
|
+
|
396
|
+
/* tp = tif->tif_fields + tif->tif_nfields; */
|
397
|
+
for (i = 0; i < n; i++) {
|
398
|
+
const TIFFField *fip =
|
399
|
+
TIFFFindField(tif, info[i].field_tag, TIFF_ANY);
|
400
|
+
|
401
|
+
/* only add definitions that aren't already present */
|
402
|
+
if (!fip) {
|
403
|
+
tif->tif_fields[tif->tif_nfields] = (TIFFField *) (info+i);
|
404
|
+
tif->tif_nfields++;
|
405
|
+
}
|
406
|
+
}
|
407
|
+
|
408
|
+
/* Sort the field info by tag number */
|
409
|
+
qsort(tif->tif_fields, tif->tif_nfields,
|
410
|
+
sizeof(TIFFField *), tagCompare);
|
411
|
+
|
412
|
+
return n;
|
413
|
+
}
|
414
|
+
|
415
|
+
void
|
416
|
+
_TIFFPrintFieldInfo(TIFF* tif, FILE* fd)
|
417
|
+
{
|
418
|
+
uint32 i;
|
419
|
+
|
420
|
+
fprintf(fd, "%s: \n", tif->tif_name);
|
421
|
+
for (i = 0; i < tif->tif_nfields; i++) {
|
422
|
+
const TIFFField* fip = tif->tif_fields[i];
|
423
|
+
fprintf(fd, "field[%2d] %5lu, %2d, %2d, %d, %2d, %5s, %5s, %s\n"
|
424
|
+
, (int)i
|
425
|
+
, (unsigned long) fip->field_tag
|
426
|
+
, fip->field_readcount, fip->field_writecount
|
427
|
+
, fip->field_type
|
428
|
+
, fip->field_bit
|
429
|
+
, fip->field_oktochange ? "TRUE" : "FALSE"
|
430
|
+
, fip->field_passcount ? "TRUE" : "FALSE"
|
431
|
+
, fip->field_name
|
432
|
+
);
|
433
|
+
}
|
434
|
+
}
|
435
|
+
|
436
|
+
/*
|
437
|
+
* Return size of TIFFDataType in bytes
|
438
|
+
*/
|
439
|
+
int
|
440
|
+
TIFFDataWidth(TIFFDataType type)
|
441
|
+
{
|
442
|
+
switch(type)
|
443
|
+
{
|
444
|
+
case 0: /* nothing */
|
445
|
+
case TIFF_BYTE:
|
446
|
+
case TIFF_ASCII:
|
447
|
+
case TIFF_SBYTE:
|
448
|
+
case TIFF_UNDEFINED:
|
449
|
+
return 1;
|
450
|
+
case TIFF_SHORT:
|
451
|
+
case TIFF_SSHORT:
|
452
|
+
return 2;
|
453
|
+
case TIFF_LONG:
|
454
|
+
case TIFF_SLONG:
|
455
|
+
case TIFF_FLOAT:
|
456
|
+
case TIFF_IFD:
|
457
|
+
return 4;
|
458
|
+
case TIFF_RATIONAL:
|
459
|
+
case TIFF_SRATIONAL:
|
460
|
+
case TIFF_DOUBLE:
|
461
|
+
case TIFF_LONG8:
|
462
|
+
case TIFF_SLONG8:
|
463
|
+
case TIFF_IFD8:
|
464
|
+
return 8;
|
465
|
+
default:
|
466
|
+
return 0; /* will return 0 for unknown types */
|
467
|
+
}
|
468
|
+
}
|
469
|
+
|
470
|
+
/*
|
471
|
+
* Return size of TIFFDataType in bytes.
|
472
|
+
*
|
473
|
+
* XXX: We need a separate function to determine the space needed
|
474
|
+
* to store the value. For TIFF_RATIONAL values TIFFDataWidth() returns 8,
|
475
|
+
* but we use 4-byte float to represent rationals.
|
476
|
+
*/
|
477
|
+
int
|
478
|
+
_TIFFDataSize(TIFFDataType type)
|
479
|
+
{
|
480
|
+
switch (type)
|
481
|
+
{
|
482
|
+
case TIFF_BYTE:
|
483
|
+
case TIFF_SBYTE:
|
484
|
+
case TIFF_ASCII:
|
485
|
+
case TIFF_UNDEFINED:
|
486
|
+
return 1;
|
487
|
+
case TIFF_SHORT:
|
488
|
+
case TIFF_SSHORT:
|
489
|
+
return 2;
|
490
|
+
case TIFF_LONG:
|
491
|
+
case TIFF_SLONG:
|
492
|
+
case TIFF_FLOAT:
|
493
|
+
case TIFF_IFD:
|
494
|
+
case TIFF_RATIONAL:
|
495
|
+
case TIFF_SRATIONAL:
|
496
|
+
return 4;
|
497
|
+
case TIFF_DOUBLE:
|
498
|
+
case TIFF_LONG8:
|
499
|
+
case TIFF_SLONG8:
|
500
|
+
case TIFF_IFD8:
|
501
|
+
return 8;
|
502
|
+
default:
|
503
|
+
return 0;
|
504
|
+
}
|
505
|
+
}
|
506
|
+
|
507
|
+
const TIFFField*
|
508
|
+
TIFFFindField(TIFF* tif, uint32 tag, TIFFDataType dt)
|
509
|
+
{
|
510
|
+
TIFFField key = {0, 0, 0, TIFF_NOTYPE, 0, 0, 0, 0, 0, 0, NULL, NULL};
|
511
|
+
TIFFField* pkey = &key;
|
512
|
+
const TIFFField **ret;
|
513
|
+
if (tif->tif_foundfield && tif->tif_foundfield->field_tag == tag &&
|
514
|
+
(dt == TIFF_ANY || dt == tif->tif_foundfield->field_type))
|
515
|
+
return tif->tif_foundfield;
|
516
|
+
|
517
|
+
/* If we are invoked with no field information, then just return. */
|
518
|
+
if (!tif->tif_fields)
|
519
|
+
return NULL;
|
520
|
+
|
521
|
+
/* NB: use sorted search (e.g. binary search) */
|
522
|
+
|
523
|
+
key.field_tag = tag;
|
524
|
+
key.field_type = dt;
|
525
|
+
|
526
|
+
ret = (const TIFFField **) bsearch(&pkey, tif->tif_fields,
|
527
|
+
tif->tif_nfields,
|
528
|
+
sizeof(TIFFField *), tagCompare);
|
529
|
+
return tif->tif_foundfield = (ret ? *ret : NULL);
|
530
|
+
}
|
531
|
+
|
532
|
+
static const TIFFField*
|
533
|
+
_TIFFFindFieldByName(TIFF* tif, const char *field_name, TIFFDataType dt)
|
534
|
+
{
|
535
|
+
TIFFField key = {0, 0, 0, TIFF_NOTYPE, 0, 0, 0, 0, 0, 0, NULL, NULL};
|
536
|
+
TIFFField* pkey = &key;
|
537
|
+
const TIFFField **ret;
|
538
|
+
if (tif->tif_foundfield
|
539
|
+
&& streq(tif->tif_foundfield->field_name, field_name)
|
540
|
+
&& (dt == TIFF_ANY || dt == tif->tif_foundfield->field_type))
|
541
|
+
return (tif->tif_foundfield);
|
542
|
+
|
543
|
+
/* If we are invoked with no field information, then just return. */
|
544
|
+
if (!tif->tif_fields)
|
545
|
+
return NULL;
|
546
|
+
|
547
|
+
/* NB: use linear search since list is sorted by key#, not name */
|
548
|
+
|
549
|
+
key.field_name = (char *)field_name;
|
550
|
+
key.field_type = dt;
|
551
|
+
|
552
|
+
ret = (const TIFFField **)
|
553
|
+
td_lfind(&pkey, tif->tif_fields, &tif->tif_nfields,
|
554
|
+
sizeof(TIFFField *), tagNameCompare);
|
555
|
+
|
556
|
+
return tif->tif_foundfield = (ret ? *ret : NULL);
|
557
|
+
}
|
558
|
+
|
559
|
+
const TIFFField*
|
560
|
+
TIFFFieldWithTag(TIFF* tif, uint32 tag)
|
561
|
+
{
|
562
|
+
const TIFFField* fip = TIFFFindField(tif, tag, TIFF_ANY);
|
563
|
+
if (!fip) {
|
564
|
+
TIFFErrorExt(tif->tif_clientdata, "TIFFFieldWithTag",
|
565
|
+
"Internal error, unknown tag 0x%x",
|
566
|
+
(unsigned int) tag);
|
567
|
+
}
|
568
|
+
return (fip);
|
569
|
+
}
|
570
|
+
|
571
|
+
const TIFFField*
|
572
|
+
TIFFFieldWithName(TIFF* tif, const char *field_name)
|
573
|
+
{
|
574
|
+
const TIFFField* fip =
|
575
|
+
_TIFFFindFieldByName(tif, field_name, TIFF_ANY);
|
576
|
+
if (!fip) {
|
577
|
+
TIFFErrorExt(tif->tif_clientdata, "TIFFFieldWithName",
|
578
|
+
"Internal error, unknown tag %s", field_name);
|
579
|
+
}
|
580
|
+
return (fip);
|
581
|
+
}
|
582
|
+
|
583
|
+
uint32
|
584
|
+
TIFFFieldTag(const TIFFField* fip)
|
585
|
+
{
|
586
|
+
return fip->field_tag;
|
587
|
+
}
|
588
|
+
|
589
|
+
const char *
|
590
|
+
TIFFFieldName(const TIFFField* fip)
|
591
|
+
{
|
592
|
+
return fip->field_name;
|
593
|
+
}
|
594
|
+
|
595
|
+
TIFFDataType
|
596
|
+
TIFFFieldDataType(const TIFFField* fip)
|
597
|
+
{
|
598
|
+
return fip->field_type;
|
599
|
+
}
|
600
|
+
|
601
|
+
int
|
602
|
+
TIFFFieldPassCount(const TIFFField* fip)
|
603
|
+
{
|
604
|
+
return fip->field_passcount;
|
605
|
+
}
|
606
|
+
|
607
|
+
int
|
608
|
+
TIFFFieldReadCount(const TIFFField* fip)
|
609
|
+
{
|
610
|
+
return fip->field_readcount;
|
611
|
+
}
|
612
|
+
|
613
|
+
int
|
614
|
+
TIFFFieldWriteCount(const TIFFField* fip)
|
615
|
+
{
|
616
|
+
return fip->field_writecount;
|
617
|
+
}
|
618
|
+
|
619
|
+
const TIFFField*
|
620
|
+
_TIFFFindOrRegisterField(TIFF *tif, uint32 tag, TIFFDataType dt)
|
621
|
+
|
622
|
+
{
|
623
|
+
const TIFFField *fld;
|
624
|
+
|
625
|
+
fld = TIFFFindField(tif, tag, dt);
|
626
|
+
if (fld == NULL) {
|
627
|
+
fld = _TIFFCreateAnonField(tif, tag, dt);
|
628
|
+
if (!_TIFFMergeFields(tif, fld, 1))
|
629
|
+
return NULL;
|
630
|
+
}
|
631
|
+
|
632
|
+
return fld;
|
633
|
+
}
|
634
|
+
|
635
|
+
TIFFField*
|
636
|
+
_TIFFCreateAnonField(TIFF *tif, uint32 tag, TIFFDataType field_type)
|
637
|
+
{
|
638
|
+
TIFFField *fld;
|
639
|
+
(void) tif;
|
640
|
+
|
641
|
+
fld = (TIFFField *) _TIFFmalloc(sizeof (TIFFField));
|
642
|
+
if (fld == NULL)
|
643
|
+
return NULL;
|
644
|
+
_TIFFmemset(fld, 0, sizeof(TIFFField));
|
645
|
+
|
646
|
+
fld->field_tag = tag;
|
647
|
+
fld->field_readcount = TIFF_VARIABLE2;
|
648
|
+
fld->field_writecount = TIFF_VARIABLE2;
|
649
|
+
fld->field_type = field_type;
|
650
|
+
fld->reserved = 0;
|
651
|
+
switch (field_type)
|
652
|
+
{
|
653
|
+
case TIFF_BYTE:
|
654
|
+
case TIFF_UNDEFINED:
|
655
|
+
fld->set_field_type = TIFF_SETGET_C32_UINT8;
|
656
|
+
fld->get_field_type = TIFF_SETGET_C32_UINT8;
|
657
|
+
break;
|
658
|
+
case TIFF_ASCII:
|
659
|
+
fld->set_field_type = TIFF_SETGET_C32_ASCII;
|
660
|
+
fld->get_field_type = TIFF_SETGET_C32_ASCII;
|
661
|
+
break;
|
662
|
+
case TIFF_SHORT:
|
663
|
+
fld->set_field_type = TIFF_SETGET_C32_UINT16;
|
664
|
+
fld->get_field_type = TIFF_SETGET_C32_UINT16;
|
665
|
+
break;
|
666
|
+
case TIFF_LONG:
|
667
|
+
fld->set_field_type = TIFF_SETGET_C32_UINT32;
|
668
|
+
fld->get_field_type = TIFF_SETGET_C32_UINT32;
|
669
|
+
break;
|
670
|
+
case TIFF_RATIONAL:
|
671
|
+
case TIFF_SRATIONAL:
|
672
|
+
case TIFF_FLOAT:
|
673
|
+
fld->set_field_type = TIFF_SETGET_C32_FLOAT;
|
674
|
+
fld->get_field_type = TIFF_SETGET_C32_FLOAT;
|
675
|
+
break;
|
676
|
+
case TIFF_SBYTE:
|
677
|
+
fld->set_field_type = TIFF_SETGET_C32_SINT8;
|
678
|
+
fld->get_field_type = TIFF_SETGET_C32_SINT8;
|
679
|
+
break;
|
680
|
+
case TIFF_SSHORT:
|
681
|
+
fld->set_field_type = TIFF_SETGET_C32_SINT16;
|
682
|
+
fld->get_field_type = TIFF_SETGET_C32_SINT16;
|
683
|
+
break;
|
684
|
+
case TIFF_SLONG:
|
685
|
+
fld->set_field_type = TIFF_SETGET_C32_SINT32;
|
686
|
+
fld->get_field_type = TIFF_SETGET_C32_SINT32;
|
687
|
+
break;
|
688
|
+
case TIFF_DOUBLE:
|
689
|
+
fld->set_field_type = TIFF_SETGET_C32_DOUBLE;
|
690
|
+
fld->get_field_type = TIFF_SETGET_C32_DOUBLE;
|
691
|
+
break;
|
692
|
+
case TIFF_IFD:
|
693
|
+
case TIFF_IFD8:
|
694
|
+
fld->set_field_type = TIFF_SETGET_C32_IFD8;
|
695
|
+
fld->get_field_type = TIFF_SETGET_C32_IFD8;
|
696
|
+
break;
|
697
|
+
case TIFF_LONG8:
|
698
|
+
fld->set_field_type = TIFF_SETGET_C32_UINT64;
|
699
|
+
fld->get_field_type = TIFF_SETGET_C32_UINT64;
|
700
|
+
break;
|
701
|
+
case TIFF_SLONG8:
|
702
|
+
fld->set_field_type = TIFF_SETGET_C32_SINT64;
|
703
|
+
fld->get_field_type = TIFF_SETGET_C32_SINT64;
|
704
|
+
break;
|
705
|
+
default:
|
706
|
+
fld->set_field_type = TIFF_SETGET_UNDEFINED;
|
707
|
+
fld->get_field_type = TIFF_SETGET_UNDEFINED;
|
708
|
+
break;
|
709
|
+
}
|
710
|
+
fld->field_bit = FIELD_CUSTOM;
|
711
|
+
fld->field_oktochange = TRUE;
|
712
|
+
fld->field_passcount = TRUE;
|
713
|
+
fld->field_name = (char *) _TIFFmalloc(32);
|
714
|
+
if (fld->field_name == NULL) {
|
715
|
+
_TIFFfree(fld);
|
716
|
+
return NULL;
|
717
|
+
}
|
718
|
+
fld->field_subfields = NULL;
|
719
|
+
|
720
|
+
/*
|
721
|
+
* note that this name is a special sign to TIFFClose() and
|
722
|
+
* _TIFFSetupFields() to free the field
|
723
|
+
*/
|
724
|
+
(void) snprintf(fld->field_name, 32, "Tag %d", (int) tag);
|
725
|
+
|
726
|
+
return fld;
|
727
|
+
}
|
728
|
+
|
729
|
+
/****************************************************************************
|
730
|
+
* O B S O L E T E D I N T E R F A C E S
|
731
|
+
*
|
732
|
+
* Don't use this stuff in your applications, it may be removed in the future
|
733
|
+
* libtiff versions.
|
734
|
+
****************************************************************************/
|
735
|
+
|
736
|
+
static TIFFSetGetFieldType
|
737
|
+
_TIFFSetGetType(TIFFDataType type, short count, unsigned char passcount)
|
738
|
+
{
|
739
|
+
if (type == TIFF_ASCII && count == TIFF_VARIABLE && passcount == 0)
|
740
|
+
return TIFF_SETGET_ASCII;
|
741
|
+
|
742
|
+
else if (count == 1 && passcount == 0) {
|
743
|
+
switch (type)
|
744
|
+
{
|
745
|
+
case TIFF_BYTE:
|
746
|
+
case TIFF_UNDEFINED:
|
747
|
+
return TIFF_SETGET_UINT8;
|
748
|
+
case TIFF_ASCII:
|
749
|
+
return TIFF_SETGET_ASCII;
|
750
|
+
case TIFF_SHORT:
|
751
|
+
return TIFF_SETGET_UINT16;
|
752
|
+
case TIFF_LONG:
|
753
|
+
return TIFF_SETGET_UINT32;
|
754
|
+
case TIFF_RATIONAL:
|
755
|
+
case TIFF_SRATIONAL:
|
756
|
+
case TIFF_FLOAT:
|
757
|
+
return TIFF_SETGET_FLOAT;
|
758
|
+
case TIFF_SBYTE:
|
759
|
+
return TIFF_SETGET_SINT8;
|
760
|
+
case TIFF_SSHORT:
|
761
|
+
return TIFF_SETGET_SINT16;
|
762
|
+
case TIFF_SLONG:
|
763
|
+
return TIFF_SETGET_SINT32;
|
764
|
+
case TIFF_DOUBLE:
|
765
|
+
return TIFF_SETGET_DOUBLE;
|
766
|
+
case TIFF_IFD:
|
767
|
+
case TIFF_IFD8:
|
768
|
+
return TIFF_SETGET_IFD8;
|
769
|
+
case TIFF_LONG8:
|
770
|
+
return TIFF_SETGET_UINT64;
|
771
|
+
case TIFF_SLONG8:
|
772
|
+
return TIFF_SETGET_SINT64;
|
773
|
+
default:
|
774
|
+
return TIFF_SETGET_UNDEFINED;
|
775
|
+
}
|
776
|
+
}
|
777
|
+
|
778
|
+
else if (count >= 1 && passcount == 0) {
|
779
|
+
switch (type)
|
780
|
+
{
|
781
|
+
case TIFF_BYTE:
|
782
|
+
case TIFF_UNDEFINED:
|
783
|
+
return TIFF_SETGET_C0_UINT8;
|
784
|
+
case TIFF_ASCII:
|
785
|
+
return TIFF_SETGET_C0_ASCII;
|
786
|
+
case TIFF_SHORT:
|
787
|
+
return TIFF_SETGET_C0_UINT16;
|
788
|
+
case TIFF_LONG:
|
789
|
+
return TIFF_SETGET_C0_UINT32;
|
790
|
+
case TIFF_RATIONAL:
|
791
|
+
case TIFF_SRATIONAL:
|
792
|
+
case TIFF_FLOAT:
|
793
|
+
return TIFF_SETGET_C0_FLOAT;
|
794
|
+
case TIFF_SBYTE:
|
795
|
+
return TIFF_SETGET_C0_SINT8;
|
796
|
+
case TIFF_SSHORT:
|
797
|
+
return TIFF_SETGET_C0_SINT16;
|
798
|
+
case TIFF_SLONG:
|
799
|
+
return TIFF_SETGET_C0_SINT32;
|
800
|
+
case TIFF_DOUBLE:
|
801
|
+
return TIFF_SETGET_C0_DOUBLE;
|
802
|
+
case TIFF_IFD:
|
803
|
+
case TIFF_IFD8:
|
804
|
+
return TIFF_SETGET_C0_IFD8;
|
805
|
+
case TIFF_LONG8:
|
806
|
+
return TIFF_SETGET_C0_UINT64;
|
807
|
+
case TIFF_SLONG8:
|
808
|
+
return TIFF_SETGET_C0_SINT64;
|
809
|
+
default:
|
810
|
+
return TIFF_SETGET_UNDEFINED;
|
811
|
+
}
|
812
|
+
}
|
813
|
+
|
814
|
+
else if (count == TIFF_VARIABLE && passcount == 1) {
|
815
|
+
switch (type)
|
816
|
+
{
|
817
|
+
case TIFF_BYTE:
|
818
|
+
case TIFF_UNDEFINED:
|
819
|
+
return TIFF_SETGET_C16_UINT8;
|
820
|
+
case TIFF_ASCII:
|
821
|
+
return TIFF_SETGET_C16_ASCII;
|
822
|
+
case TIFF_SHORT:
|
823
|
+
return TIFF_SETGET_C16_UINT16;
|
824
|
+
case TIFF_LONG:
|
825
|
+
return TIFF_SETGET_C16_UINT32;
|
826
|
+
case TIFF_RATIONAL:
|
827
|
+
case TIFF_SRATIONAL:
|
828
|
+
case TIFF_FLOAT:
|
829
|
+
return TIFF_SETGET_C16_FLOAT;
|
830
|
+
case TIFF_SBYTE:
|
831
|
+
return TIFF_SETGET_C16_SINT8;
|
832
|
+
case TIFF_SSHORT:
|
833
|
+
return TIFF_SETGET_C16_SINT16;
|
834
|
+
case TIFF_SLONG:
|
835
|
+
return TIFF_SETGET_C16_SINT32;
|
836
|
+
case TIFF_DOUBLE:
|
837
|
+
return TIFF_SETGET_C16_DOUBLE;
|
838
|
+
case TIFF_IFD:
|
839
|
+
case TIFF_IFD8:
|
840
|
+
return TIFF_SETGET_C16_IFD8;
|
841
|
+
case TIFF_LONG8:
|
842
|
+
return TIFF_SETGET_C16_UINT64;
|
843
|
+
case TIFF_SLONG8:
|
844
|
+
return TIFF_SETGET_C16_SINT64;
|
845
|
+
default:
|
846
|
+
return TIFF_SETGET_UNDEFINED;
|
847
|
+
}
|
848
|
+
}
|
849
|
+
|
850
|
+
else if (count == TIFF_VARIABLE2 && passcount == 1) {
|
851
|
+
switch (type)
|
852
|
+
{
|
853
|
+
case TIFF_BYTE:
|
854
|
+
case TIFF_UNDEFINED:
|
855
|
+
return TIFF_SETGET_C32_UINT8;
|
856
|
+
case TIFF_ASCII:
|
857
|
+
return TIFF_SETGET_C32_ASCII;
|
858
|
+
case TIFF_SHORT:
|
859
|
+
return TIFF_SETGET_C32_UINT16;
|
860
|
+
case TIFF_LONG:
|
861
|
+
return TIFF_SETGET_C32_UINT32;
|
862
|
+
case TIFF_RATIONAL:
|
863
|
+
case TIFF_SRATIONAL:
|
864
|
+
case TIFF_FLOAT:
|
865
|
+
return TIFF_SETGET_C32_FLOAT;
|
866
|
+
case TIFF_SBYTE:
|
867
|
+
return TIFF_SETGET_C32_SINT8;
|
868
|
+
case TIFF_SSHORT:
|
869
|
+
return TIFF_SETGET_C32_SINT16;
|
870
|
+
case TIFF_SLONG:
|
871
|
+
return TIFF_SETGET_C32_SINT32;
|
872
|
+
case TIFF_DOUBLE:
|
873
|
+
return TIFF_SETGET_C32_DOUBLE;
|
874
|
+
case TIFF_IFD:
|
875
|
+
case TIFF_IFD8:
|
876
|
+
return TIFF_SETGET_C32_IFD8;
|
877
|
+
case TIFF_LONG8:
|
878
|
+
return TIFF_SETGET_C32_UINT64;
|
879
|
+
case TIFF_SLONG8:
|
880
|
+
return TIFF_SETGET_C32_SINT64;
|
881
|
+
default:
|
882
|
+
return TIFF_SETGET_UNDEFINED;
|
883
|
+
}
|
884
|
+
}
|
885
|
+
|
886
|
+
return TIFF_SETGET_UNDEFINED;
|
887
|
+
}
|
888
|
+
|
889
|
+
int
|
890
|
+
TIFFMergeFieldInfo(TIFF* tif, const TIFFFieldInfo info[], uint32 n)
|
891
|
+
{
|
892
|
+
static const char module[] = "TIFFMergeFieldInfo";
|
893
|
+
static const char reason[] = "for fields array";
|
894
|
+
TIFFField *tp;
|
895
|
+
size_t nfields;
|
896
|
+
uint32 i;
|
897
|
+
|
898
|
+
if (tif->tif_nfieldscompat > 0) {
|
899
|
+
tif->tif_fieldscompat = (TIFFFieldArray *)
|
900
|
+
_TIFFCheckRealloc(tif, tif->tif_fieldscompat,
|
901
|
+
tif->tif_nfieldscompat + 1,
|
902
|
+
sizeof(TIFFFieldArray), reason);
|
903
|
+
} else {
|
904
|
+
tif->tif_fieldscompat = (TIFFFieldArray *)
|
905
|
+
_TIFFCheckMalloc(tif, 1, sizeof(TIFFFieldArray),
|
906
|
+
reason);
|
907
|
+
}
|
908
|
+
if (!tif->tif_fieldscompat) {
|
909
|
+
TIFFErrorExt(tif->tif_clientdata, module,
|
910
|
+
"Failed to allocate fields array");
|
911
|
+
return -1;
|
912
|
+
}
|
913
|
+
nfields = tif->tif_nfieldscompat++;
|
914
|
+
|
915
|
+
tif->tif_fieldscompat[nfields].type = tfiatOther;
|
916
|
+
tif->tif_fieldscompat[nfields].allocated_size = n;
|
917
|
+
tif->tif_fieldscompat[nfields].count = n;
|
918
|
+
tif->tif_fieldscompat[nfields].fields =
|
919
|
+
(TIFFField *)_TIFFCheckMalloc(tif, n, sizeof(TIFFField),
|
920
|
+
reason);
|
921
|
+
if (!tif->tif_fieldscompat[nfields].fields) {
|
922
|
+
TIFFErrorExt(tif->tif_clientdata, module,
|
923
|
+
"Failed to allocate fields array");
|
924
|
+
return -1;
|
925
|
+
}
|
926
|
+
|
927
|
+
tp = tif->tif_fieldscompat[nfields].fields;
|
928
|
+
for (i = 0; i < n; i++) {
|
929
|
+
tp->field_tag = info[i].field_tag;
|
930
|
+
tp->field_readcount = info[i].field_readcount;
|
931
|
+
tp->field_writecount = info[i].field_writecount;
|
932
|
+
tp->field_type = info[i].field_type;
|
933
|
+
tp->reserved = 0;
|
934
|
+
tp->set_field_type =
|
935
|
+
_TIFFSetGetType(info[i].field_type,
|
936
|
+
info[i].field_readcount,
|
937
|
+
info[i].field_passcount);
|
938
|
+
tp->get_field_type =
|
939
|
+
_TIFFSetGetType(info[i].field_type,
|
940
|
+
info[i].field_readcount,
|
941
|
+
info[i].field_passcount);
|
942
|
+
tp->field_bit = info[i].field_bit;
|
943
|
+
tp->field_oktochange = info[i].field_oktochange;
|
944
|
+
tp->field_passcount = info[i].field_passcount;
|
945
|
+
tp->field_name = info[i].field_name;
|
946
|
+
tp->field_subfields = NULL;
|
947
|
+
tp++;
|
948
|
+
}
|
949
|
+
|
950
|
+
if (!_TIFFMergeFields(tif, tif->tif_fieldscompat[nfields].fields, n)) {
|
951
|
+
TIFFErrorExt(tif->tif_clientdata, module,
|
952
|
+
"Setting up field info failed");
|
953
|
+
return -1;
|
954
|
+
}
|
955
|
+
|
956
|
+
return 0;
|
957
|
+
}
|
958
|
+
|
959
|
+
int
|
960
|
+
_TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag)
|
961
|
+
{
|
962
|
+
/* Filter out non-codec specific tags */
|
963
|
+
switch (tag) {
|
964
|
+
/* Shared tags */
|
965
|
+
case TIFFTAG_PREDICTOR:
|
966
|
+
/* JPEG tags */
|
967
|
+
case TIFFTAG_JPEGTABLES:
|
968
|
+
/* OJPEG tags */
|
969
|
+
case TIFFTAG_JPEGIFOFFSET:
|
970
|
+
case TIFFTAG_JPEGIFBYTECOUNT:
|
971
|
+
case TIFFTAG_JPEGQTABLES:
|
972
|
+
case TIFFTAG_JPEGDCTABLES:
|
973
|
+
case TIFFTAG_JPEGACTABLES:
|
974
|
+
case TIFFTAG_JPEGPROC:
|
975
|
+
case TIFFTAG_JPEGRESTARTINTERVAL:
|
976
|
+
/* CCITT* */
|
977
|
+
case TIFFTAG_BADFAXLINES:
|
978
|
+
case TIFFTAG_CLEANFAXDATA:
|
979
|
+
case TIFFTAG_CONSECUTIVEBADFAXLINES:
|
980
|
+
case TIFFTAG_GROUP3OPTIONS:
|
981
|
+
case TIFFTAG_GROUP4OPTIONS:
|
982
|
+
break;
|
983
|
+
default:
|
984
|
+
return 1;
|
985
|
+
}
|
986
|
+
/* Check if codec specific tags are allowed for the current
|
987
|
+
* compression scheme (codec) */
|
988
|
+
switch (tif->tif_dir.td_compression) {
|
989
|
+
case COMPRESSION_LZW:
|
990
|
+
if (tag == TIFFTAG_PREDICTOR)
|
991
|
+
return 1;
|
992
|
+
break;
|
993
|
+
case COMPRESSION_PACKBITS:
|
994
|
+
/* No codec-specific tags */
|
995
|
+
break;
|
996
|
+
case COMPRESSION_THUNDERSCAN:
|
997
|
+
/* No codec-specific tags */
|
998
|
+
break;
|
999
|
+
case COMPRESSION_NEXT:
|
1000
|
+
/* No codec-specific tags */
|
1001
|
+
break;
|
1002
|
+
case COMPRESSION_JPEG:
|
1003
|
+
if (tag == TIFFTAG_JPEGTABLES)
|
1004
|
+
return 1;
|
1005
|
+
break;
|
1006
|
+
case COMPRESSION_OJPEG:
|
1007
|
+
switch (tag) {
|
1008
|
+
case TIFFTAG_JPEGIFOFFSET:
|
1009
|
+
case TIFFTAG_JPEGIFBYTECOUNT:
|
1010
|
+
case TIFFTAG_JPEGQTABLES:
|
1011
|
+
case TIFFTAG_JPEGDCTABLES:
|
1012
|
+
case TIFFTAG_JPEGACTABLES:
|
1013
|
+
case TIFFTAG_JPEGPROC:
|
1014
|
+
case TIFFTAG_JPEGRESTARTINTERVAL:
|
1015
|
+
return 1;
|
1016
|
+
}
|
1017
|
+
break;
|
1018
|
+
case COMPRESSION_CCITTRLE:
|
1019
|
+
case COMPRESSION_CCITTRLEW:
|
1020
|
+
case COMPRESSION_CCITTFAX3:
|
1021
|
+
case COMPRESSION_CCITTFAX4:
|
1022
|
+
switch (tag) {
|
1023
|
+
case TIFFTAG_BADFAXLINES:
|
1024
|
+
case TIFFTAG_CLEANFAXDATA:
|
1025
|
+
case TIFFTAG_CONSECUTIVEBADFAXLINES:
|
1026
|
+
return 1;
|
1027
|
+
case TIFFTAG_GROUP3OPTIONS:
|
1028
|
+
if (tif->tif_dir.td_compression == COMPRESSION_CCITTFAX3)
|
1029
|
+
return 1;
|
1030
|
+
break;
|
1031
|
+
case TIFFTAG_GROUP4OPTIONS:
|
1032
|
+
if (tif->tif_dir.td_compression == COMPRESSION_CCITTFAX4)
|
1033
|
+
return 1;
|
1034
|
+
break;
|
1035
|
+
}
|
1036
|
+
break;
|
1037
|
+
case COMPRESSION_JBIG:
|
1038
|
+
/* No codec-specific tags */
|
1039
|
+
break;
|
1040
|
+
case COMPRESSION_DEFLATE:
|
1041
|
+
case COMPRESSION_ADOBE_DEFLATE:
|
1042
|
+
if (tag == TIFFTAG_PREDICTOR)
|
1043
|
+
return 1;
|
1044
|
+
break;
|
1045
|
+
case COMPRESSION_PIXARLOG:
|
1046
|
+
if (tag == TIFFTAG_PREDICTOR)
|
1047
|
+
return 1;
|
1048
|
+
break;
|
1049
|
+
case COMPRESSION_SGILOG:
|
1050
|
+
case COMPRESSION_SGILOG24:
|
1051
|
+
/* No codec-specific tags */
|
1052
|
+
break;
|
1053
|
+
case COMPRESSION_LZMA:
|
1054
|
+
if (tag == TIFFTAG_PREDICTOR)
|
1055
|
+
return 1;
|
1056
|
+
break;
|
1057
|
+
|
1058
|
+
}
|
1059
|
+
return 0;
|
1060
|
+
}
|
1061
|
+
|
1062
|
+
/* vim: set ts=8 sts=8 sw=8 noet: */
|
1063
|
+
|
1064
|
+
/*
|
1065
|
+
* Local Variables:
|
1066
|
+
* mode: c
|
1067
|
+
* c-basic-offset: 8
|
1068
|
+
* fill-column: 78
|
1069
|
+
* End:
|
1070
|
+
*/
|