laag-libtiff 4.0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (629) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.org +34 -0
  5. data/ext/laag/libtiff/extconf.rb +13 -0
  6. data/laag-libtiff.gemspec +20 -0
  7. data/lib/laag/libtiff.rb +29 -0
  8. data/vendor/gitlab.com/libtiff/libtiff/.appveyor.yml +109 -0
  9. data/vendor/gitlab.com/libtiff/libtiff/.cvsignore +4 -0
  10. data/vendor/gitlab.com/libtiff/libtiff/.travis.yml +34 -0
  11. data/vendor/gitlab.com/libtiff/libtiff/CMakeLists.txt +764 -0
  12. data/vendor/gitlab.com/libtiff/libtiff/COMMITTERS +19 -0
  13. data/vendor/gitlab.com/libtiff/libtiff/COPYRIGHT +21 -0
  14. data/vendor/gitlab.com/libtiff/libtiff/ChangeLog +8073 -0
  15. data/vendor/gitlab.com/libtiff/libtiff/HOWTO-RELEASE +119 -0
  16. data/vendor/gitlab.com/libtiff/libtiff/HOWTO-SECURITY-RELEASE +19 -0
  17. data/vendor/gitlab.com/libtiff/libtiff/Makefile.am +91 -0
  18. data/vendor/gitlab.com/libtiff/libtiff/Makefile.in +995 -0
  19. data/vendor/gitlab.com/libtiff/libtiff/Makefile.vc +58 -0
  20. data/vendor/gitlab.com/libtiff/libtiff/README +61 -0
  21. data/vendor/gitlab.com/libtiff/libtiff/README.vms +12 -0
  22. data/vendor/gitlab.com/libtiff/libtiff/RELEASE-DATE +1 -0
  23. data/vendor/gitlab.com/libtiff/libtiff/SConstruct +171 -0
  24. data/vendor/gitlab.com/libtiff/libtiff/TODO +12 -0
  25. data/vendor/gitlab.com/libtiff/libtiff/VERSION +1 -0
  26. data/vendor/gitlab.com/libtiff/libtiff/aclocal.m4 +1194 -0
  27. data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/bmp2tiff.1.html +121 -0
  28. data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/gif2tiff.1.html +141 -0
  29. data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/ras2tiff.1.html +139 -0
  30. data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/sgi2tiff.1.html +147 -0
  31. data/vendor/gitlab.com/libtiff/libtiff/archive/html/man/tiffsv.1.html +207 -0
  32. data/vendor/gitlab.com/libtiff/libtiff/archive/man/bmp2tiff.1 +85 -0
  33. data/vendor/gitlab.com/libtiff/libtiff/archive/man/gif2tiff.1 +81 -0
  34. data/vendor/gitlab.com/libtiff/libtiff/archive/man/ras2tiff.1 +96 -0
  35. data/vendor/gitlab.com/libtiff/libtiff/archive/man/sgi2tiff.1 +93 -0
  36. data/vendor/gitlab.com/libtiff/libtiff/archive/man/tiffsv.1 +142 -0
  37. data/vendor/gitlab.com/libtiff/libtiff/archive/tools/bmp2tiff.c +937 -0
  38. data/vendor/gitlab.com/libtiff/libtiff/archive/tools/gif2tiff.c +591 -0
  39. data/vendor/gitlab.com/libtiff/libtiff/archive/tools/ras2tiff.c +338 -0
  40. data/vendor/gitlab.com/libtiff/libtiff/archive/tools/rasterfile.h +44 -0
  41. data/vendor/gitlab.com/libtiff/libtiff/archive/tools/sgi2tiff.c +337 -0
  42. data/vendor/gitlab.com/libtiff/libtiff/archive/tools/sgisv.c +318 -0
  43. data/vendor/gitlab.com/libtiff/libtiff/archive/tools/ycbcr.c +168 -0
  44. data/vendor/gitlab.com/libtiff/libtiff/autogen.sh +8 -0
  45. data/vendor/gitlab.com/libtiff/libtiff/build/.cvsignore +1 -0
  46. data/vendor/gitlab.com/libtiff/libtiff/build/CMakeLists.txt +25 -0
  47. data/vendor/gitlab.com/libtiff/libtiff/build/Makefile.am +32 -0
  48. data/vendor/gitlab.com/libtiff/libtiff/build/Makefile.in +680 -0
  49. data/vendor/gitlab.com/libtiff/libtiff/build/README +3 -0
  50. data/vendor/gitlab.com/libtiff/libtiff/build/travis-ci +108 -0
  51. data/vendor/gitlab.com/libtiff/libtiff/commit +233 -0
  52. data/vendor/gitlab.com/libtiff/libtiff/config/compile +347 -0
  53. data/vendor/gitlab.com/libtiff/libtiff/config/config.guess +1526 -0
  54. data/vendor/gitlab.com/libtiff/libtiff/config/config.sub +1658 -0
  55. data/vendor/gitlab.com/libtiff/libtiff/config/depcomp +791 -0
  56. data/vendor/gitlab.com/libtiff/libtiff/config/install-sh +507 -0
  57. data/vendor/gitlab.com/libtiff/libtiff/config/ltmain.sh +11156 -0
  58. data/vendor/gitlab.com/libtiff/libtiff/config/missing +215 -0
  59. data/vendor/gitlab.com/libtiff/libtiff/config/mkinstalldirs +161 -0
  60. data/vendor/gitlab.com/libtiff/libtiff/config/test-driver +127 -0
  61. data/vendor/gitlab.com/libtiff/libtiff/configure +23612 -0
  62. data/vendor/gitlab.com/libtiff/libtiff/configure.ac +1112 -0
  63. data/vendor/gitlab.com/libtiff/libtiff/configure.com +1357 -0
  64. data/vendor/gitlab.com/libtiff/libtiff/contrib/.cvsignore +2 -0
  65. data/vendor/gitlab.com/libtiff/libtiff/contrib/CMakeLists.txt +35 -0
  66. data/vendor/gitlab.com/libtiff/libtiff/contrib/Makefile.am +31 -0
  67. data/vendor/gitlab.com/libtiff/libtiff/contrib/Makefile.in +679 -0
  68. data/vendor/gitlab.com/libtiff/libtiff/contrib/README +2 -0
  69. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/.cvsignore +5 -0
  70. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/CMakeLists.txt +34 -0
  71. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/Makefile.am +39 -0
  72. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/Makefile.in +652 -0
  73. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/Makefile.vc +28 -0
  74. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/README +142 -0
  75. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/addtiffo.c +181 -0
  76. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/tif_overview.c +916 -0
  77. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/tif_ovrcache.c +344 -0
  78. data/vendor/gitlab.com/libtiff/libtiff/contrib/addtiffo/tif_ovrcache.h +103 -0
  79. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/.cvsignore +8 -0
  80. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/CMakeLists.txt +43 -0
  81. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/Makefile.am +46 -0
  82. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/Makefile.in +798 -0
  83. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/README +7 -0
  84. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-bi.c +91 -0
  85. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-grayscale.c +147 -0
  86. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-palette.c +284 -0
  87. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/tiff-rgb.c +201 -0
  88. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/.cvsignore +2 -0
  89. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/CMakeLists.txt +29 -0
  90. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/Makefile.am +47 -0
  91. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/Makefile.in +516 -0
  92. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/README +6 -0
  93. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/patchlevel.h +8 -0
  94. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/xtiff.c +1290 -0
  95. data/vendor/gitlab.com/libtiff/libtiff/contrib/dbs/xtiff/xtifficon.h +21 -0
  96. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/.cvsignore +5 -0
  97. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/CMakeLists.txt +35 -0
  98. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/Makefile.am +40 -0
  99. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/Makefile.in +650 -0
  100. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/README +25 -0
  101. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/iptcutil.c +954 -0
  102. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/test.iptc +0 -0
  103. data/vendor/gitlab.com/libtiff/libtiff/contrib/iptcutil/test.txt +32 -0
  104. data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/.cvsignore +2 -0
  105. data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/CMakeLists.txt +27 -0
  106. data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/Makefile.am +29 -0
  107. data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/Makefile.in +499 -0
  108. data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/README +37 -0
  109. data/vendor/gitlab.com/libtiff/libtiff/contrib/mfs/mfs_file.c +586 -0
  110. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/.cvsignore +2 -0
  111. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/CMakeLists.txt +30 -0
  112. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/Makefile.am +32 -0
  113. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/Makefile.in +502 -0
  114. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/README +90 -0
  115. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_imageiter.c +525 -0
  116. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_imageiter.h +64 -0
  117. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_pdsdirread.c +1131 -0
  118. data/vendor/gitlab.com/libtiff/libtiff/contrib/pds/tif_pdsdirwrite.c +971 -0
  119. data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/.cvsignore +2 -0
  120. data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/CMakeLists.txt +28 -0
  121. data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/Makefile.am +30 -0
  122. data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/Makefile.in +500 -0
  123. data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/README +10 -0
  124. data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/ras2tif.c +254 -0
  125. data/vendor/gitlab.com/libtiff/libtiff/contrib/ras/tif2ras.c +344 -0
  126. data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/.cvsignore +2 -0
  127. data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/CMakeLists.txt +28 -0
  128. data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/Makefile.am +30 -0
  129. data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/Makefile.in +500 -0
  130. data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/README +30 -0
  131. data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/tiffstream.cpp +238 -0
  132. data/vendor/gitlab.com/libtiff/libtiff/contrib/stream/tiffstream.h +70 -0
  133. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/.cvsignore +2 -0
  134. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/CMakeLists.txt +32 -0
  135. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/Makefile.am +33 -0
  136. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/Makefile.in +503 -0
  137. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/README +132 -0
  138. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/listtif.c +39 -0
  139. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/maketif.c +77 -0
  140. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/xtif_dir.c +350 -0
  141. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/xtiffio.h +59 -0
  142. data/vendor/gitlab.com/libtiff/libtiff/contrib/tags/xtiffiop.h +72 -0
  143. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/.cvsignore +2 -0
  144. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/CMakeLists.txt +30 -0
  145. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Makefile.am +32 -0
  146. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Makefile.in +502 -0
  147. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Makefile.w95 +134 -0
  148. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/README.Tiffile +31 -0
  149. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/README.tiff2dib +51 -0
  150. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/Tiffile.cpp +449 -0
  151. data/vendor/gitlab.com/libtiff/libtiff/contrib/win_dib/tiff2dib.c +379 -0
  152. data/vendor/gitlab.com/libtiff/libtiff/html/.cvsignore +5 -0
  153. data/vendor/gitlab.com/libtiff/libtiff/html/BigTIFFProposal.html +99 -0
  154. data/vendor/gitlab.com/libtiff/libtiff/html/CMakeLists.txt +87 -0
  155. data/vendor/gitlab.com/libtiff/libtiff/html/Makefile.am +96 -0
  156. data/vendor/gitlab.com/libtiff/libtiff/html/Makefile.in +798 -0
  157. data/vendor/gitlab.com/libtiff/libtiff/html/TIFFTechNote2.html +707 -0
  158. data/vendor/gitlab.com/libtiff/libtiff/html/addingtags.html +292 -0
  159. data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffdesign.html +80 -0
  160. data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr.html +77 -0
  161. data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/esri.png +0 -0
  162. data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/leica.png +0 -0
  163. data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/safe.png +0 -0
  164. data/vendor/gitlab.com/libtiff/libtiff/html/bigtiffpr_images/weogeo.png +0 -0
  165. data/vendor/gitlab.com/libtiff/libtiff/html/bugs.html +61 -0
  166. data/vendor/gitlab.com/libtiff/libtiff/html/build.html +737 -0
  167. data/vendor/gitlab.com/libtiff/libtiff/html/contrib.html +209 -0
  168. data/vendor/gitlab.com/libtiff/libtiff/html/document.html +52 -0
  169. data/vendor/gitlab.com/libtiff/libtiff/html/images.html +41 -0
  170. data/vendor/gitlab.com/libtiff/libtiff/html/images/.cvsignore +2 -0
  171. data/vendor/gitlab.com/libtiff/libtiff/html/images/CMakeLists.txt +46 -0
  172. data/vendor/gitlab.com/libtiff/libtiff/html/images/Makefile.am +49 -0
  173. data/vendor/gitlab.com/libtiff/libtiff/html/images/Makefile.in +572 -0
  174. data/vendor/gitlab.com/libtiff/libtiff/html/images/back.gif +0 -0
  175. data/vendor/gitlab.com/libtiff/libtiff/html/images/bali.jpg +0 -0
  176. data/vendor/gitlab.com/libtiff/libtiff/html/images/cat.gif +0 -0
  177. data/vendor/gitlab.com/libtiff/libtiff/html/images/cover.jpg +0 -0
  178. data/vendor/gitlab.com/libtiff/libtiff/html/images/cramps.gif +0 -0
  179. data/vendor/gitlab.com/libtiff/libtiff/html/images/dave.gif +0 -0
  180. data/vendor/gitlab.com/libtiff/libtiff/html/images/info.gif +0 -0
  181. data/vendor/gitlab.com/libtiff/libtiff/html/images/jello.jpg +0 -0
  182. data/vendor/gitlab.com/libtiff/libtiff/html/images/jim.gif +0 -0
  183. data/vendor/gitlab.com/libtiff/libtiff/html/images/note.gif +0 -0
  184. data/vendor/gitlab.com/libtiff/libtiff/html/images/oxford.gif +0 -0
  185. data/vendor/gitlab.com/libtiff/libtiff/html/images/quad.jpg +0 -0
  186. data/vendor/gitlab.com/libtiff/libtiff/html/images/ring.gif +0 -0
  187. data/vendor/gitlab.com/libtiff/libtiff/html/images/smallliz.jpg +0 -0
  188. data/vendor/gitlab.com/libtiff/libtiff/html/images/strike.gif +0 -0
  189. data/vendor/gitlab.com/libtiff/libtiff/html/images/warning.gif +0 -0
  190. data/vendor/gitlab.com/libtiff/libtiff/html/index.html +122 -0
  191. data/vendor/gitlab.com/libtiff/libtiff/html/internals.html +572 -0
  192. data/vendor/gitlab.com/libtiff/libtiff/html/intro.html +68 -0
  193. data/vendor/gitlab.com/libtiff/libtiff/html/libtiff.html +747 -0
  194. data/vendor/gitlab.com/libtiff/libtiff/html/man/.cvsignore +2 -0
  195. data/vendor/gitlab.com/libtiff/libtiff/html/man/CMakeLists.txt +108 -0
  196. data/vendor/gitlab.com/libtiff/libtiff/html/man/HtmlDoc.cmake +50 -0
  197. data/vendor/gitlab.com/libtiff/libtiff/html/man/Makefile.am +122 -0
  198. data/vendor/gitlab.com/libtiff/libtiff/html/man/Makefile.in +642 -0
  199. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFClose.3tiff.html +87 -0
  200. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFDataWidth.3tiff.html +98 -0
  201. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFError.3tiff.html +106 -0
  202. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldDataType.3tiff.html +89 -0
  203. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldName.3tiff.html +86 -0
  204. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldPassCount.3tiff.html +98 -0
  205. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldReadCount.3tiff.html +101 -0
  206. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldTag.3tiff.html +88 -0
  207. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFieldWriteCount.3tiff.html +108 -0
  208. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFFlush.3tiff.html +113 -0
  209. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFGetField.3tiff.html +1969 -0
  210. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFOpen.3tiff.html +421 -0
  211. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFPrintDirectory.3tiff.html +225 -0
  212. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFRGBAImage.3tiff.html +319 -0
  213. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadDirectory.3tiff.html +218 -0
  214. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadEncodedStrip.3tiff.html +133 -0
  215. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadEncodedTile.3tiff.html +130 -0
  216. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRGBAImage.3tiff.html +301 -0
  217. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRGBAStrip.3tiff.html +208 -0
  218. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRGBATile.3tiff.html +261 -0
  219. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRawStrip.3tiff.html +109 -0
  220. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadRawTile.3tiff.html +111 -0
  221. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadScanline.3tiff.html +157 -0
  222. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFReadTile.3tiff.html +133 -0
  223. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFSetDirectory.3tiff.html +122 -0
  224. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFSetField.3tiff.html +1865 -0
  225. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWarning.3tiff.html +108 -0
  226. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteDirectory.3tiff.html +176 -0
  227. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteEncodedStrip.3tiff.html +153 -0
  228. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteEncodedTile.3tiff.html +147 -0
  229. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteRawStrip.3tiff.html +144 -0
  230. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteRawTile.3tiff.html +128 -0
  231. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteScanline.3tiff.html +206 -0
  232. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFWriteTile.3tiff.html +115 -0
  233. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFbuffer.3tiff.html +116 -0
  234. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFcodec.3tiff.html +116 -0
  235. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFcolor.3tiff.html +975 -0
  236. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFmemory.3tiff.html +110 -0
  237. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFquery.3tiff.html +148 -0
  238. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFsize.3tiff.html +95 -0
  239. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFstrip.3tiff.html +129 -0
  240. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFswab.3tiff.html +110 -0
  241. data/vendor/gitlab.com/libtiff/libtiff/html/man/TIFFtile.3tiff.html +141 -0
  242. data/vendor/gitlab.com/libtiff/libtiff/html/man/fax2ps.1.html +252 -0
  243. data/vendor/gitlab.com/libtiff/libtiff/html/man/fax2tiff.1.html +607 -0
  244. data/vendor/gitlab.com/libtiff/libtiff/html/man/index.html +64 -0
  245. data/vendor/gitlab.com/libtiff/libtiff/html/man/libtiff.3tiff.html +1150 -0
  246. data/vendor/gitlab.com/libtiff/libtiff/html/man/pal2rgb.1.html +189 -0
  247. data/vendor/gitlab.com/libtiff/libtiff/html/man/ppm2tiff.1.html +141 -0
  248. data/vendor/gitlab.com/libtiff/libtiff/html/man/raw2tiff.1.html +510 -0
  249. data/vendor/gitlab.com/libtiff/libtiff/html/man/rgb2ycbcr.1.html +155 -0
  250. data/vendor/gitlab.com/libtiff/libtiff/html/man/thumbnail.1.html +148 -0
  251. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2bw.1.html +161 -0
  252. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2pdf.1.html +609 -0
  253. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2ps.1.html +639 -0
  254. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiff2rgba.1.html +162 -0
  255. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffcmp.1.html +156 -0
  256. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffcp.1.html +569 -0
  257. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffcrop.1.html +684 -0
  258. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffdither.1.html +196 -0
  259. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffdump.1.html +145 -0
  260. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffgt.1.html +551 -0
  261. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffinfo.1.html +196 -0
  262. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffmedian.1.html +183 -0
  263. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffset.1.html +176 -0
  264. data/vendor/gitlab.com/libtiff/libtiff/html/man/tiffsplit.1.html +102 -0
  265. data/vendor/gitlab.com/libtiff/libtiff/html/misc.html +117 -0
  266. data/vendor/gitlab.com/libtiff/libtiff/html/support.html +655 -0
  267. data/vendor/gitlab.com/libtiff/libtiff/html/tools.html +137 -0
  268. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta007.html +112 -0
  269. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta016.html +122 -0
  270. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta018.html +84 -0
  271. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta024.html +139 -0
  272. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta028.html +146 -0
  273. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta029.html +86 -0
  274. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta031.html +94 -0
  275. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta032.html +90 -0
  276. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta033.html +82 -0
  277. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta034.html +68 -0
  278. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta035.html +63 -0
  279. data/vendor/gitlab.com/libtiff/libtiff/html/v3.4beta036.html +117 -0
  280. data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.1.html +75 -0
  281. data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.2.html +108 -0
  282. data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.3.html +132 -0
  283. data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.4.html +88 -0
  284. data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.5.html +155 -0
  285. data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.6-beta.html +185 -0
  286. data/vendor/gitlab.com/libtiff/libtiff/html/v3.5.7.html +259 -0
  287. data/vendor/gitlab.com/libtiff/libtiff/html/v3.6.0.html +434 -0
  288. data/vendor/gitlab.com/libtiff/libtiff/html/v3.6.1.html +199 -0
  289. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0.html +144 -0
  290. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0alpha.html +249 -0
  291. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0beta.html +162 -0
  292. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.0beta2.html +131 -0
  293. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.1.html +233 -0
  294. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.2.html +222 -0
  295. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.3.html +230 -0
  296. data/vendor/gitlab.com/libtiff/libtiff/html/v3.7.4.html +133 -0
  297. data/vendor/gitlab.com/libtiff/libtiff/html/v3.8.0.html +199 -0
  298. data/vendor/gitlab.com/libtiff/libtiff/html/v3.8.1.html +217 -0
  299. data/vendor/gitlab.com/libtiff/libtiff/html/v3.8.2.html +137 -0
  300. data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.0.html +261 -0
  301. data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.0beta.html +304 -0
  302. data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.1.html +115 -0
  303. data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.2.html +122 -0
  304. data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.3.html +160 -0
  305. data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.4.html +125 -0
  306. data/vendor/gitlab.com/libtiff/libtiff/html/v3.9.5.html +270 -0
  307. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.0.html +269 -0
  308. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.1.html +113 -0
  309. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.2.html +118 -0
  310. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.3.html +125 -0
  311. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.4.html +274 -0
  312. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.4beta.html +291 -0
  313. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.5.html +148 -0
  314. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.6.html +139 -0
  315. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.7.html +411 -0
  316. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.8.html +445 -0
  317. data/vendor/gitlab.com/libtiff/libtiff/html/v4.0.9.html +373 -0
  318. data/vendor/gitlab.com/libtiff/libtiff/libtiff-4.pc.in +11 -0
  319. data/vendor/gitlab.com/libtiff/libtiff/libtiff/.cvsignore +22 -0
  320. data/vendor/gitlab.com/libtiff/libtiff/libtiff/CMakeLists.txt +165 -0
  321. data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.am +154 -0
  322. data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.in +966 -0
  323. data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.lcc +129 -0
  324. data/vendor/gitlab.com/libtiff/libtiff/libtiff/Makefile.vc +102 -0
  325. data/vendor/gitlab.com/libtiff/libtiff/libtiff/SConstruct +73 -0
  326. data/vendor/gitlab.com/libtiff/libtiff/libtiff/libtiff.def +168 -0
  327. data/vendor/gitlab.com/libtiff/libtiff/libtiff/libtiff.map +4 -0
  328. data/vendor/gitlab.com/libtiff/libtiff/libtiff/libtiffxx.map +4 -0
  329. data/vendor/gitlab.com/libtiff/libtiff/libtiff/mkg3states.c +454 -0
  330. data/vendor/gitlab.com/libtiff/libtiff/libtiff/mkspans.c +82 -0
  331. data/vendor/gitlab.com/libtiff/libtiff/libtiff/t4.h +292 -0
  332. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_aux.c +376 -0
  333. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_close.c +140 -0
  334. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_codec.c +165 -0
  335. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_color.c +309 -0
  336. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_compress.c +304 -0
  337. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.h-vms +46 -0
  338. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.h.cmake.in +261 -0
  339. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.h.in +410 -0
  340. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.vc.h +137 -0
  341. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_config.wince.h +71 -0
  342. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dir.c +1767 -0
  343. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dir.h +309 -0
  344. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dirinfo.c +1070 -0
  345. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dirread.c +5803 -0
  346. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dirwrite.c +3024 -0
  347. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_dumpmode.c +143 -0
  348. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_error.c +88 -0
  349. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_extension.c +118 -0
  350. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_fax3.c +1648 -0
  351. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_fax3.h +540 -0
  352. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_fax3sm.c +1260 -0
  353. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_flush.c +118 -0
  354. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_getimage.c +3048 -0
  355. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_jbig.c +214 -0
  356. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_jpeg.c +2601 -0
  357. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_jpeg_12.c +69 -0
  358. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_luv.c +1765 -0
  359. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_lzma.c +495 -0
  360. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_lzw.c +1218 -0
  361. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_next.c +189 -0
  362. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_ojpeg.c +2563 -0
  363. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_open.c +725 -0
  364. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_packbits.c +311 -0
  365. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_pixarlog.c +1485 -0
  366. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_predict.c +881 -0
  367. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_predict.h +79 -0
  368. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_print.c +722 -0
  369. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_read.c +1572 -0
  370. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_stream.cxx +430 -0
  371. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_strip.c +389 -0
  372. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_swab.c +312 -0
  373. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_thunder.c +208 -0
  374. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_tile.c +322 -0
  375. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_unix.c +386 -0
  376. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_version.c +40 -0
  377. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_vms.c +611 -0
  378. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_warning.c +89 -0
  379. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_win32.c +476 -0
  380. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_wince.c +293 -0
  381. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_write.c +834 -0
  382. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tif_zip.c +476 -0
  383. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiff.h +681 -0
  384. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.h-vms +99 -0
  385. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.h.cmake.in +130 -0
  386. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.h.in +127 -0
  387. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.vc.h +161 -0
  388. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffconf.wince.h +121 -0
  389. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffio.h +560 -0
  390. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffio.hxx +49 -0
  391. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffiop.h +445 -0
  392. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffvers.h +9 -0
  393. data/vendor/gitlab.com/libtiff/libtiff/libtiff/tiffvers.h.in +9 -0
  394. data/vendor/gitlab.com/libtiff/libtiff/libtiff/uvcode.h +180 -0
  395. data/vendor/gitlab.com/libtiff/libtiff/m4/acinclude.m4 +851 -0
  396. data/vendor/gitlab.com/libtiff/libtiff/m4/ice_find_athena.m4 +187 -0
  397. data/vendor/gitlab.com/libtiff/libtiff/m4/libtool.m4 +8388 -0
  398. data/vendor/gitlab.com/libtiff/libtiff/m4/ltoptions.m4 +437 -0
  399. data/vendor/gitlab.com/libtiff/libtiff/m4/ltsugar.m4 +124 -0
  400. data/vendor/gitlab.com/libtiff/libtiff/m4/ltversion.m4 +23 -0
  401. data/vendor/gitlab.com/libtiff/libtiff/m4/lt~obsolete.m4 +99 -0
  402. data/vendor/gitlab.com/libtiff/libtiff/man/.cvsignore +3 -0
  403. data/vendor/gitlab.com/libtiff/libtiff/man/CMakeLists.txt +97 -0
  404. data/vendor/gitlab.com/libtiff/libtiff/man/Makefile.am +94 -0
  405. data/vendor/gitlab.com/libtiff/libtiff/man/Makefile.in +684 -0
  406. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFClose.3tiff +53 -0
  407. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFDataWidth.3tiff +74 -0
  408. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFError.3tiff +69 -0
  409. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldDataType.3tiff +53 -0
  410. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldName.3tiff +52 -0
  411. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldPassCount.3tiff +73 -0
  412. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldReadCount.3tiff +77 -0
  413. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldTag.3tiff +56 -0
  414. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFieldWriteCount.3tiff +88 -0
  415. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFFlush.3tiff +64 -0
  416. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFGetField.3tiff +229 -0
  417. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFOpen.3tiff +279 -0
  418. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFPrintDirectory.3tiff +70 -0
  419. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFRGBAImage.3tiff +286 -0
  420. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadDirectory.3tiff +164 -0
  421. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadEncodedStrip.3tiff +78 -0
  422. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadEncodedTile.3tiff +76 -0
  423. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRGBAImage.3tiff +218 -0
  424. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRGBAStrip.3tiff +170 -0
  425. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRGBATile.3tiff +171 -0
  426. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRawStrip.3tiff +64 -0
  427. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadRawTile.3tiff +65 -0
  428. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadScanline.3tiff +94 -0
  429. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFReadTile.3tiff +84 -0
  430. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFSetDirectory.3tiff +79 -0
  431. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFSetField.3tiff +217 -0
  432. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWarning.3tiff +70 -0
  433. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteDirectory.3tiff +138 -0
  434. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteEncodedStrip.3tiff +102 -0
  435. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteEncodedTile.3tiff +96 -0
  436. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteRawStrip.3tiff +96 -0
  437. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteRawTile.3tiff +84 -0
  438. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteScanline.3tiff +154 -0
  439. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFWriteTile.3tiff +77 -0
  440. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFbuffer.3tiff +77 -0
  441. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFcodec.3tiff +82 -0
  442. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFcolor.3tiff +268 -0
  443. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFmemory.3tiff +90 -0
  444. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFquery.3tiff +142 -0
  445. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFsize.3tiff +59 -0
  446. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFstrip.3tiff +99 -0
  447. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFswab.3tiff +80 -0
  448. data/vendor/gitlab.com/libtiff/libtiff/man/TIFFtile.3tiff +131 -0
  449. data/vendor/gitlab.com/libtiff/libtiff/man/fax2ps.1 +159 -0
  450. data/vendor/gitlab.com/libtiff/libtiff/man/fax2tiff.1 +286 -0
  451. data/vendor/gitlab.com/libtiff/libtiff/man/libtiff.3tiff +545 -0
  452. data/vendor/gitlab.com/libtiff/libtiff/man/pal2rgb.1 +111 -0
  453. data/vendor/gitlab.com/libtiff/libtiff/man/ppm2tiff.1 +105 -0
  454. data/vendor/gitlab.com/libtiff/libtiff/man/raw2tiff.1 +196 -0
  455. data/vendor/gitlab.com/libtiff/libtiff/man/rgb2ycbcr.1 +99 -0
  456. data/vendor/gitlab.com/libtiff/libtiff/man/thumbnail.1 +90 -0
  457. data/vendor/gitlab.com/libtiff/libtiff/man/tiff2bw.1 +94 -0
  458. data/vendor/gitlab.com/libtiff/libtiff/man/tiff2pdf.1 +254 -0
  459. data/vendor/gitlab.com/libtiff/libtiff/man/tiff2ps.1 +294 -0
  460. data/vendor/gitlab.com/libtiff/libtiff/man/tiff2rgba.1 +97 -0
  461. data/vendor/gitlab.com/libtiff/libtiff/man/tiffcmp.1 +87 -0
  462. data/vendor/gitlab.com/libtiff/libtiff/man/tiffcp.1 +317 -0
  463. data/vendor/gitlab.com/libtiff/libtiff/man/tiffcrop.1 +571 -0
  464. data/vendor/gitlab.com/libtiff/libtiff/man/tiffdither.1 +135 -0
  465. data/vendor/gitlab.com/libtiff/libtiff/man/tiffdump.1 +81 -0
  466. data/vendor/gitlab.com/libtiff/libtiff/man/tiffgt.1 +245 -0
  467. data/vendor/gitlab.com/libtiff/libtiff/man/tiffinfo.1 +88 -0
  468. data/vendor/gitlab.com/libtiff/libtiff/man/tiffmedian.1 +112 -0
  469. data/vendor/gitlab.com/libtiff/libtiff/man/tiffset.1 +99 -0
  470. data/vendor/gitlab.com/libtiff/libtiff/man/tiffsplit.1 +69 -0
  471. data/vendor/gitlab.com/libtiff/libtiff/nmake.opt +229 -0
  472. data/vendor/gitlab.com/libtiff/libtiff/port/.cvsignore +7 -0
  473. data/vendor/gitlab.com/libtiff/libtiff/port/CMakeLists.txt +60 -0
  474. data/vendor/gitlab.com/libtiff/libtiff/port/Makefile.am +35 -0
  475. data/vendor/gitlab.com/libtiff/libtiff/port/Makefile.in +656 -0
  476. data/vendor/gitlab.com/libtiff/libtiff/port/Makefile.vc +44 -0
  477. data/vendor/gitlab.com/libtiff/libtiff/port/dummy.c +12 -0
  478. data/vendor/gitlab.com/libtiff/libtiff/port/getopt.c +125 -0
  479. data/vendor/gitlab.com/libtiff/libtiff/port/lfind.c +62 -0
  480. data/vendor/gitlab.com/libtiff/libtiff/port/libport.h +60 -0
  481. data/vendor/gitlab.com/libtiff/libtiff/port/snprintf.c +38 -0
  482. data/vendor/gitlab.com/libtiff/libtiff/port/strcasecmp.c +51 -0
  483. data/vendor/gitlab.com/libtiff/libtiff/port/strtoul.c +109 -0
  484. data/vendor/gitlab.com/libtiff/libtiff/port/strtoull.c +116 -0
  485. data/vendor/gitlab.com/libtiff/libtiff/test/.cvsignore +12 -0
  486. data/vendor/gitlab.com/libtiff/libtiff/test/CMakeLists.txt +382 -0
  487. data/vendor/gitlab.com/libtiff/libtiff/test/Makefile.am +334 -0
  488. data/vendor/gitlab.com/libtiff/libtiff/test/Makefile.in +1987 -0
  489. data/vendor/gitlab.com/libtiff/libtiff/test/TiffSplitTest.cmake +34 -0
  490. data/vendor/gitlab.com/libtiff/libtiff/test/TiffTest.cmake +63 -0
  491. data/vendor/gitlab.com/libtiff/libtiff/test/TiffTestCommon.cmake +108 -0
  492. data/vendor/gitlab.com/libtiff/libtiff/test/ascii_tag.c +177 -0
  493. data/vendor/gitlab.com/libtiff/libtiff/test/check_tag.c +91 -0
  494. data/vendor/gitlab.com/libtiff/libtiff/test/common.sh +122 -0
  495. data/vendor/gitlab.com/libtiff/libtiff/test/custom_dir.c +247 -0
  496. data/vendor/gitlab.com/libtiff/libtiff/test/images/README.txt +29 -0
  497. data/vendor/gitlab.com/libtiff/libtiff/test/images/logluv-3c-16b.tiff +0 -0
  498. data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-1c-16b.tiff +0 -0
  499. data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-1c-8b.pgm +0 -0
  500. data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-1c-8b.tiff +0 -0
  501. data/vendor/gitlab.com/libtiff/libtiff/test/images/minisblack-2c-8b-alpha.tiff +0 -0
  502. data/vendor/gitlab.com/libtiff/libtiff/test/images/miniswhite-1c-1b.pbm +0 -0
  503. data/vendor/gitlab.com/libtiff/libtiff/test/images/miniswhite-1c-1b.tiff +0 -0
  504. data/vendor/gitlab.com/libtiff/libtiff/test/images/palette-1c-1b.tiff +0 -0
  505. data/vendor/gitlab.com/libtiff/libtiff/test/images/palette-1c-4b.tiff +0 -0
  506. data/vendor/gitlab.com/libtiff/libtiff/test/images/palette-1c-8b.tiff +0 -0
  507. data/vendor/gitlab.com/libtiff/libtiff/test/images/quad-lzw-compat.tiff +0 -0
  508. data/vendor/gitlab.com/libtiff/libtiff/test/images/quad-tile.jpg.tiff +0 -0
  509. data/vendor/gitlab.com/libtiff/libtiff/test/images/rgb-3c-16b.tiff +0 -0
  510. data/vendor/gitlab.com/libtiff/libtiff/test/images/rgb-3c-8b.ppm +0 -0
  511. data/vendor/gitlab.com/libtiff/libtiff/test/images/rgb-3c-8b.tiff +0 -0
  512. data/vendor/gitlab.com/libtiff/libtiff/test/long_tag.c +156 -0
  513. data/vendor/gitlab.com/libtiff/libtiff/test/ppm2tiff_pbm.sh +7 -0
  514. data/vendor/gitlab.com/libtiff/libtiff/test/ppm2tiff_pgm.sh +7 -0
  515. data/vendor/gitlab.com/libtiff/libtiff/test/ppm2tiff_ppm.sh +7 -0
  516. data/vendor/gitlab.com/libtiff/libtiff/test/raw_decode.c +304 -0
  517. data/vendor/gitlab.com/libtiff/libtiff/test/rewrite_tag.c +344 -0
  518. data/vendor/gitlab.com/libtiff/libtiff/test/short_tag.c +205 -0
  519. data/vendor/gitlab.com/libtiff/libtiff/test/strip.c +290 -0
  520. data/vendor/gitlab.com/libtiff/libtiff/test/strip_rw.c +157 -0
  521. data/vendor/gitlab.com/libtiff/libtiff/test/test_arrays.c +829 -0
  522. data/vendor/gitlab.com/libtiff/libtiff/test/test_arrays.h +63 -0
  523. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2bw-palette-1c-8b.sh +7 -0
  524. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2bw-quad-lzw-compat.sh +7 -0
  525. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2bw-rgb-3c-8b.sh +7 -0
  526. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2pdf.sh +6 -0
  527. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-EPS1.sh +6 -0
  528. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-PS1.sh +6 -0
  529. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-PS2.sh +6 -0
  530. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2ps-PS3.sh +6 -0
  531. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-logluv-3c-16b.sh +7 -0
  532. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-minisblack-1c-16b.sh +7 -0
  533. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-minisblack-1c-8b.sh +7 -0
  534. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-minisblack-2c-8b-alpha.sh +7 -0
  535. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-miniswhite-1c-1b.sh +7 -0
  536. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-palette-1c-1b.sh +7 -0
  537. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-palette-1c-4b.sh +7 -0
  538. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-palette-1c-8b.sh +7 -0
  539. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-quad-tile.jpg.sh +7 -0
  540. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-rgb-3c-16b.sh +7 -0
  541. data/vendor/gitlab.com/libtiff/libtiff/test/tiff2rgba-rgb-3c-8b.sh +7 -0
  542. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-1d-fill.sh +7 -0
  543. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-1d.sh +6 -0
  544. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-2d-fill.sh +7 -0
  545. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3-2d.sh +6 -0
  546. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g3.sh +6 -0
  547. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-g4.sh +6 -0
  548. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-logluv.sh +7 -0
  549. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-lzw-compat.sh +6 -0
  550. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-split-join.sh +16 -0
  551. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-split.sh +13 -0
  552. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcp-thumbnail.sh +10 -0
  553. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-logluv-3c-16b.sh +7 -0
  554. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-minisblack-1c-16b.sh +7 -0
  555. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-minisblack-1c-8b.sh +7 -0
  556. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-minisblack-2c-8b-alpha.sh +7 -0
  557. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-miniswhite-1c-1b.sh +7 -0
  558. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-palette-1c-1b.sh +7 -0
  559. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-palette-1c-4b.sh +7 -0
  560. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-palette-1c-8b.sh +7 -0
  561. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-quad-tile.jpg.sh +7 -0
  562. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-rgb-3c-16b.sh +7 -0
  563. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-R90-rgb-3c-8b.sh +7 -0
  564. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-logluv-3c-16b.sh +7 -0
  565. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-minisblack-1c-16b.sh +7 -0
  566. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-minisblack-1c-8b.sh +7 -0
  567. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-minisblack-2c-8b-alpha.sh +7 -0
  568. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-miniswhite-1c-1b.sh +7 -0
  569. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-palette-1c-1b.sh +7 -0
  570. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-palette-1c-4b.sh +7 -0
  571. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-palette-1c-8b.sh +7 -0
  572. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-quad-tile.jpg.sh +7 -0
  573. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-rgb-3c-16b.sh +7 -0
  574. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-doubleflip-rgb-3c-8b.sh +7 -0
  575. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-logluv-3c-16b.sh +7 -0
  576. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-minisblack-1c-16b.sh +7 -0
  577. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-minisblack-1c-8b.sh +7 -0
  578. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-minisblack-2c-8b-alpha.sh +7 -0
  579. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-miniswhite-1c-1b.sh +7 -0
  580. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-palette-1c-1b.sh +7 -0
  581. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-palette-1c-4b.sh +7 -0
  582. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-palette-1c-8b.sh +7 -0
  583. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-quad-tile.jpg.sh +7 -0
  584. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-rgb-3c-16b.sh +7 -0
  585. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extract-rgb-3c-8b.sh +7 -0
  586. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-logluv-3c-16b.sh +7 -0
  587. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-minisblack-1c-16b.sh +7 -0
  588. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-minisblack-1c-8b.sh +7 -0
  589. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-minisblack-2c-8b-alpha.sh +7 -0
  590. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-miniswhite-1c-1b.sh +7 -0
  591. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-palette-1c-1b.sh +7 -0
  592. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-palette-1c-4b.sh +7 -0
  593. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-palette-1c-8b.sh +7 -0
  594. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-quad-tile.jpg.sh +7 -0
  595. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-rgb-3c-16b.sh +7 -0
  596. data/vendor/gitlab.com/libtiff/libtiff/test/tiffcrop-extractz14-rgb-3c-8b.sh +7 -0
  597. data/vendor/gitlab.com/libtiff/libtiff/test/tiffdump.sh +6 -0
  598. data/vendor/gitlab.com/libtiff/libtiff/test/tiffinfo.sh +6 -0
  599. data/vendor/gitlab.com/libtiff/libtiff/test/tifftest.h +42 -0
  600. data/vendor/gitlab.com/libtiff/libtiff/tiff.spec +68 -0
  601. data/vendor/gitlab.com/libtiff/libtiff/tools/.cvsignore +27 -0
  602. data/vendor/gitlab.com/libtiff/libtiff/tools/CMakeLists.txt +125 -0
  603. data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.am +138 -0
  604. data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.in +955 -0
  605. data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.lcc +133 -0
  606. data/vendor/gitlab.com/libtiff/libtiff/tools/Makefile.vc +52 -0
  607. data/vendor/gitlab.com/libtiff/libtiff/tools/fax2ps.c +463 -0
  608. data/vendor/gitlab.com/libtiff/libtiff/tools/fax2tiff.c +491 -0
  609. data/vendor/gitlab.com/libtiff/libtiff/tools/pal2rgb.c +438 -0
  610. data/vendor/gitlab.com/libtiff/libtiff/tools/ppm2tiff.c +397 -0
  611. data/vendor/gitlab.com/libtiff/libtiff/tools/raw2tiff.c +690 -0
  612. data/vendor/gitlab.com/libtiff/libtiff/tools/rgb2ycbcr.c +397 -0
  613. data/vendor/gitlab.com/libtiff/libtiff/tools/thumbnail.c +691 -0
  614. data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2bw.c +501 -0
  615. data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2pdf.c +5594 -0
  616. data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2ps.c +3106 -0
  617. data/vendor/gitlab.com/libtiff/libtiff/tools/tiff2rgba.c +569 -0
  618. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffcmp.c +659 -0
  619. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffcp.c +1913 -0
  620. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffcrop.c +9231 -0
  621. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffdither.c +347 -0
  622. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffdump.c +889 -0
  623. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffgt.c +486 -0
  624. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffinfo.c +488 -0
  625. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffinfoce.c +472 -0
  626. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffmedian.c +918 -0
  627. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffset.c +356 -0
  628. data/vendor/gitlab.com/libtiff/libtiff/tools/tiffsplit.c +305 -0
  629. metadata +692 -0
@@ -0,0 +1,347 @@
1
+ /* $Id: tiffdither.c,v 1.16 2015-06-21 01:09:11 bfriesen 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
+ #include "tif_config.h"
28
+
29
+ #include <stdio.h>
30
+ #include <stdlib.h>
31
+ #include <string.h>
32
+
33
+ #ifdef HAVE_UNISTD_H
34
+ # include <unistd.h>
35
+ #endif
36
+
37
+ #ifdef NEED_LIBPORT
38
+ # include "libport.h"
39
+ #endif
40
+
41
+ #include "tiffio.h"
42
+ #include "tiffiop.h"
43
+
44
+ #define streq(a,b) (strcmp(a,b) == 0)
45
+ #define strneq(a,b,n) (strncmp(a,b,n) == 0)
46
+
47
+ #define CopyField(tag, v) \
48
+ if (TIFFGetField(in, tag, &v)) TIFFSetField(out, tag, v)
49
+
50
+ uint32 imagewidth;
51
+ uint32 imagelength;
52
+ int threshold = 128;
53
+
54
+ static void usage(void);
55
+
56
+ /*
57
+ * Floyd-Steinberg error propragation with threshold.
58
+ * This code is stolen from tiffmedian.
59
+ */
60
+ static int
61
+ fsdither(TIFF* in, TIFF* out)
62
+ {
63
+ unsigned char *outline, *inputline, *inptr;
64
+ short *thisline, *nextline, *tmpptr;
65
+ register unsigned char *outptr;
66
+ register short *thisptr, *nextptr;
67
+ register uint32 i, j;
68
+ uint32 imax, jmax;
69
+ int lastline, lastpixel;
70
+ int bit;
71
+ tsize_t outlinesize;
72
+ int errcode = 0;
73
+
74
+ imax = imagelength - 1;
75
+ jmax = imagewidth - 1;
76
+ inputline = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(in));
77
+ thisline = (short *)_TIFFmalloc(TIFFSafeMultiply(tmsize_t, imagewidth, sizeof (short)));
78
+ nextline = (short *)_TIFFmalloc(TIFFSafeMultiply(tmsize_t, imagewidth, sizeof (short)));
79
+ outlinesize = TIFFScanlineSize(out);
80
+ outline = (unsigned char *) _TIFFmalloc(outlinesize);
81
+ if (! (inputline && thisline && nextline && outline)) {
82
+ fprintf(stderr, "Out of memory.\n");
83
+ goto skip_on_error;
84
+ }
85
+
86
+ /*
87
+ * Get first line
88
+ */
89
+ if (TIFFReadScanline(in, inputline, 0, 0) <= 0)
90
+ goto skip_on_error;
91
+
92
+ inptr = inputline;
93
+ nextptr = nextline;
94
+ for (j = 0; j < imagewidth; ++j)
95
+ *nextptr++ = *inptr++;
96
+ for (i = 1; i < imagelength; ++i) {
97
+ tmpptr = thisline;
98
+ thisline = nextline;
99
+ nextline = tmpptr;
100
+ lastline = (i == imax);
101
+ if (TIFFReadScanline(in, inputline, i, 0) <= 0)
102
+ goto skip_on_error;
103
+ inptr = inputline;
104
+ nextptr = nextline;
105
+ for (j = 0; j < imagewidth; ++j)
106
+ *nextptr++ = *inptr++;
107
+ thisptr = thisline;
108
+ nextptr = nextline;
109
+ _TIFFmemset(outptr = outline, 0, outlinesize);
110
+ bit = 0x80;
111
+ for (j = 0; j < imagewidth; ++j) {
112
+ register int v;
113
+
114
+ lastpixel = (j == jmax);
115
+ v = *thisptr++;
116
+ if (v < 0)
117
+ v = 0;
118
+ else if (v > 255)
119
+ v = 255;
120
+ if (v > threshold) {
121
+ *outptr |= bit;
122
+ v -= 255;
123
+ }
124
+ bit >>= 1;
125
+ if (bit == 0) {
126
+ outptr++;
127
+ bit = 0x80;
128
+ }
129
+ if (!lastpixel)
130
+ thisptr[0] += v * 7 / 16;
131
+ if (!lastline) {
132
+ if (j != 0)
133
+ nextptr[-1] += v * 3 / 16;
134
+ *nextptr++ += v * 5 / 16;
135
+ if (!lastpixel)
136
+ nextptr[0] += v / 16;
137
+ }
138
+ }
139
+ if (TIFFWriteScanline(out, outline, i-1, 0) < 0)
140
+ goto skip_on_error;
141
+ }
142
+ goto exit_label;
143
+
144
+ skip_on_error:
145
+ errcode = 1;
146
+ exit_label:
147
+ _TIFFfree(inputline);
148
+ _TIFFfree(thisline);
149
+ _TIFFfree(nextline);
150
+ _TIFFfree(outline);
151
+ return errcode;
152
+ }
153
+
154
+ static uint16 compression = COMPRESSION_PACKBITS;
155
+ static uint16 predictor = 0;
156
+ static uint32 group3options = 0;
157
+
158
+ static void
159
+ processG3Options(char* cp)
160
+ {
161
+ if ((cp = strchr(cp, ':'))) {
162
+ do {
163
+ cp++;
164
+ if (strneq(cp, "1d", 2))
165
+ group3options &= ~GROUP3OPT_2DENCODING;
166
+ else if (strneq(cp, "2d", 2))
167
+ group3options |= GROUP3OPT_2DENCODING;
168
+ else if (strneq(cp, "fill", 4))
169
+ group3options |= GROUP3OPT_FILLBITS;
170
+ else
171
+ usage();
172
+ } while ((cp = strchr(cp, ':')));
173
+ }
174
+ }
175
+
176
+ static int
177
+ processCompressOptions(char* opt)
178
+ {
179
+ if (streq(opt, "none"))
180
+ compression = COMPRESSION_NONE;
181
+ else if (streq(opt, "packbits"))
182
+ compression = COMPRESSION_PACKBITS;
183
+ else if (strneq(opt, "g3", 2)) {
184
+ processG3Options(opt);
185
+ compression = COMPRESSION_CCITTFAX3;
186
+ } else if (streq(opt, "g4"))
187
+ compression = COMPRESSION_CCITTFAX4;
188
+ else if (strneq(opt, "lzw", 3)) {
189
+ char* cp = strchr(opt, ':');
190
+ if (cp)
191
+ predictor = atoi(cp+1);
192
+ compression = COMPRESSION_LZW;
193
+ } else if (strneq(opt, "zip", 3)) {
194
+ char* cp = strchr(opt, ':');
195
+ if (cp)
196
+ predictor = atoi(cp+1);
197
+ compression = COMPRESSION_DEFLATE;
198
+ } else
199
+ return (0);
200
+ return (1);
201
+ }
202
+
203
+ int
204
+ main(int argc, char* argv[])
205
+ {
206
+ TIFF *in, *out;
207
+ uint16 samplesperpixel, bitspersample = 1, shortv;
208
+ float floatv;
209
+ char thing[1024];
210
+ uint32 rowsperstrip = (uint32) -1;
211
+ uint16 fillorder = 0;
212
+ int c;
213
+ #if !HAVE_DECL_OPTARG
214
+ extern int optind;
215
+ extern char *optarg;
216
+ #endif
217
+
218
+ while ((c = getopt(argc, argv, "c:f:r:t:")) != -1)
219
+ switch (c) {
220
+ case 'c': /* compression scheme */
221
+ if (!processCompressOptions(optarg))
222
+ usage();
223
+ break;
224
+ case 'f': /* fill order */
225
+ if (streq(optarg, "lsb2msb"))
226
+ fillorder = FILLORDER_LSB2MSB;
227
+ else if (streq(optarg, "msb2lsb"))
228
+ fillorder = FILLORDER_MSB2LSB;
229
+ else
230
+ usage();
231
+ break;
232
+ case 'r': /* rows/strip */
233
+ rowsperstrip = atoi(optarg);
234
+ break;
235
+ case 't':
236
+ threshold = atoi(optarg);
237
+ if (threshold < 0)
238
+ threshold = 0;
239
+ else if (threshold > 255)
240
+ threshold = 255;
241
+ break;
242
+ case '?':
243
+ usage();
244
+ /*NOTREACHED*/
245
+ }
246
+ if (argc - optind < 2)
247
+ usage();
248
+ in = TIFFOpen(argv[optind], "r");
249
+ if (in == NULL)
250
+ return (-1);
251
+ TIFFGetField(in, TIFFTAG_SAMPLESPERPIXEL, &samplesperpixel);
252
+ if (samplesperpixel != 1) {
253
+ fprintf(stderr, "%s: Not a b&w image.\n", argv[0]);
254
+ return (-1);
255
+ }
256
+ TIFFGetField(in, TIFFTAG_BITSPERSAMPLE, &bitspersample);
257
+ if (bitspersample != 8) {
258
+ fprintf(stderr,
259
+ " %s: Sorry, only handle 8-bit samples.\n", argv[0]);
260
+ return (-1);
261
+ }
262
+ out = TIFFOpen(argv[optind+1], "w");
263
+ if (out == NULL)
264
+ return (-1);
265
+ CopyField(TIFFTAG_IMAGEWIDTH, imagewidth);
266
+ TIFFGetField(in, TIFFTAG_IMAGELENGTH, &imagelength);
267
+ TIFFSetField(out, TIFFTAG_IMAGELENGTH, imagelength-1);
268
+ TIFFSetField(out, TIFFTAG_BITSPERSAMPLE, 1);
269
+ TIFFSetField(out, TIFFTAG_SAMPLESPERPIXEL, 1);
270
+ TIFFSetField(out, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
271
+ TIFFSetField(out, TIFFTAG_COMPRESSION, compression);
272
+ if (fillorder)
273
+ TIFFSetField(out, TIFFTAG_FILLORDER, fillorder);
274
+ else
275
+ CopyField(TIFFTAG_FILLORDER, shortv);
276
+ snprintf(thing, sizeof(thing), "Dithered B&W version of %s", argv[optind]);
277
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
278
+ CopyField(TIFFTAG_PHOTOMETRIC, shortv);
279
+ CopyField(TIFFTAG_ORIENTATION, shortv);
280
+ CopyField(TIFFTAG_XRESOLUTION, floatv);
281
+ CopyField(TIFFTAG_YRESOLUTION, floatv);
282
+ CopyField(TIFFTAG_RESOLUTIONUNIT, shortv);
283
+ rowsperstrip = TIFFDefaultStripSize(out, rowsperstrip);
284
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP, rowsperstrip);
285
+ switch (compression) {
286
+ case COMPRESSION_CCITTFAX3:
287
+ TIFFSetField(out, TIFFTAG_GROUP3OPTIONS, group3options);
288
+ break;
289
+ case COMPRESSION_LZW:
290
+ case COMPRESSION_DEFLATE:
291
+ if (predictor)
292
+ TIFFSetField(out, TIFFTAG_PREDICTOR, predictor);
293
+ break;
294
+ }
295
+ fsdither(in, out);
296
+ TIFFClose(in);
297
+ TIFFClose(out);
298
+ return (0);
299
+ }
300
+
301
+ char* stuff[] = {
302
+ "usage: tiffdither [options] input.tif output.tif",
303
+ "where options are:",
304
+ " -r # make each strip have no more than # rows",
305
+ " -t # set the threshold value for dithering (default 128)",
306
+ " -f lsb2msb force lsb-to-msb FillOrder for output",
307
+ " -f msb2lsb force msb-to-lsb FillOrder for output",
308
+ " -c lzw[:opts] compress output with Lempel-Ziv & Welch encoding",
309
+ " -c zip[:opts] compress output with deflate encoding",
310
+ " -c packbits compress output with packbits encoding",
311
+ " -c g3[:opts] compress output with CCITT Group 3 encoding",
312
+ " -c g4 compress output with CCITT Group 4 encoding",
313
+ " -c none use no compression algorithm on output",
314
+ "",
315
+ "Group 3 options:",
316
+ " 1d use default CCITT Group 3 1D-encoding",
317
+ " 2d use optional CCITT Group 3 2D-encoding",
318
+ " fill byte-align EOL codes",
319
+ "For example, -c g3:2d:fill to get G3-2D-encoded data with byte-aligned EOLs",
320
+ "",
321
+ "LZW and deflate options:",
322
+ " # set predictor value",
323
+ "For example, -c lzw:2 to get LZW-encoded data with horizontal differencing",
324
+ NULL
325
+ };
326
+
327
+ static void
328
+ usage(void)
329
+ {
330
+ char buf[BUFSIZ];
331
+ int i;
332
+
333
+ setbuf(stderr, buf);
334
+ fprintf(stderr, "%s\n\n", TIFFGetVersion());
335
+ for (i = 0; stuff[i] != NULL; i++)
336
+ fprintf(stderr, "%s\n", stuff[i]);
337
+ exit(-1);
338
+ }
339
+
340
+ /* vim: set ts=8 sts=8 sw=8 noet: */
341
+ /*
342
+ * Local Variables:
343
+ * mode: c
344
+ * c-basic-offset: 8
345
+ * fill-column: 78
346
+ * End:
347
+ */
@@ -0,0 +1,889 @@
1
+ /* $Id: tiffdump.c,v 1.35 2016-11-19 15:42:46 bfriesen 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
+ #include "tif_config.h"
28
+
29
+ #include <stdio.h>
30
+ #include <stdlib.h>
31
+ #include <string.h>
32
+
33
+ #ifdef HAVE_UNISTD_H
34
+ # include <unistd.h>
35
+ #endif
36
+
37
+ #include "tiffiop.h"
38
+
39
+ #ifdef HAVE_FCNTL_H
40
+ # include <fcntl.h>
41
+ #endif
42
+
43
+ #ifdef HAVE_SYS_TYPES_H
44
+ # include <sys/types.h>
45
+ #endif
46
+
47
+ #ifdef HAVE_IO_H
48
+ # include <io.h>
49
+ #endif
50
+
51
+ #ifdef NEED_LIBPORT
52
+ # include "libport.h"
53
+ #endif
54
+
55
+ #ifndef HAVE_GETOPT
56
+ extern int getopt(int, char**, char*);
57
+ #endif
58
+
59
+ #include "tiffio.h"
60
+
61
+ #ifndef O_BINARY
62
+ # define O_BINARY 0
63
+ #endif
64
+
65
+ static union
66
+ {
67
+ TIFFHeaderClassic classic;
68
+ TIFFHeaderBig big;
69
+ TIFFHeaderCommon common;
70
+ } hdr;
71
+ char* appname;
72
+ char* curfile;
73
+ int swabflag;
74
+ int bigendian;
75
+ int bigtiff;
76
+ uint32 maxitems = 24; /* maximum indirect data items to print */
77
+
78
+ const char* bytefmt = "%s%#02x"; /* BYTE */
79
+ const char* sbytefmt = "%s%d"; /* SBYTE */
80
+ const char* shortfmt = "%s%u"; /* SHORT */
81
+ const char* sshortfmt = "%s%d"; /* SSHORT */
82
+ const char* longfmt = "%s%lu"; /* LONG */
83
+ const char* slongfmt = "%s%ld"; /* SLONG */
84
+ const char* ifdfmt = "%s%#04lx"; /* IFD offset */
85
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
86
+ const char* long8fmt = "%s%I64u"; /* LONG8 */
87
+ const char* slong8fmt = "%s%I64d"; /* SLONG8 */
88
+ const char* ifd8fmt = "%s%#08I64x"; /* IFD offset8*/
89
+ #else
90
+ const char* long8fmt = "%s%llu"; /* LONG8 */
91
+ const char* slong8fmt = "%s%lld"; /* SLONG8 */
92
+ const char* ifd8fmt = "%s%#08llx"; /* IFD offset8*/
93
+ #endif
94
+ const char* rationalfmt = "%s%g"; /* RATIONAL */
95
+ const char* srationalfmt = "%s%g"; /* SRATIONAL */
96
+ const char* floatfmt = "%s%g"; /* FLOAT */
97
+ const char* doublefmt = "%s%g"; /* DOUBLE */
98
+
99
+ static void dump(int, uint64);
100
+
101
+ #if !HAVE_DECL_OPTARG
102
+ extern int optind;
103
+ extern char* optarg;
104
+ #endif
105
+
106
+ void
107
+ usage()
108
+ {
109
+ fprintf(stderr, "usage: %s [-h] [-o offset] [-m maxitems] file.tif ...\n", appname);
110
+ exit(-1);
111
+ }
112
+
113
+ int
114
+ main(int argc, char* argv[])
115
+ {
116
+ int one = 1, fd;
117
+ int multiplefiles = (argc > 1);
118
+ int c;
119
+ uint64 diroff = 0;
120
+ bigendian = (*(char *)&one == 0);
121
+
122
+ appname = argv[0];
123
+ while ((c = getopt(argc, argv, "m:o:h")) != -1) {
124
+ switch (c) {
125
+ case 'h': /* print values in hex */
126
+ shortfmt = "%s%#x";
127
+ sshortfmt = "%s%#x";
128
+ longfmt = "%s%#lx";
129
+ slongfmt = "%s%#lx";
130
+ break;
131
+ case 'o':
132
+ diroff = (uint64) strtoul(optarg, NULL, 0);
133
+ break;
134
+ case 'm':
135
+ maxitems = strtoul(optarg, NULL, 0);
136
+ break;
137
+ default:
138
+ usage();
139
+ }
140
+ }
141
+ if (optind >= argc)
142
+ usage();
143
+ for (; optind < argc; optind++) {
144
+ fd = open(argv[optind], O_RDONLY|O_BINARY, 0);
145
+ if (fd < 0) {
146
+ perror(argv[0]);
147
+ return (-1);
148
+ }
149
+ if (multiplefiles)
150
+ printf("%s:\n", argv[optind]);
151
+ curfile = argv[optind];
152
+ swabflag = 0;
153
+ bigtiff = 0;
154
+ dump(fd, diroff);
155
+ close(fd);
156
+ }
157
+ return (0);
158
+ }
159
+
160
+ #define ord(e) ((int)e)
161
+
162
+ static uint64 ReadDirectory(int, unsigned, uint64);
163
+ static void ReadError(char*);
164
+ static void Error(const char*, ...);
165
+ static void Fatal(const char*, ...);
166
+
167
+ static void
168
+ dump(int fd, uint64 diroff)
169
+ {
170
+ unsigned i, j;
171
+ uint64* visited_diroff = NULL;
172
+ unsigned int count_visited_dir = 0;
173
+
174
+ _TIFF_lseek_f(fd, (_TIFF_off_t) 0, 0);
175
+ if (read(fd, (char*) &hdr, sizeof (TIFFHeaderCommon)) != sizeof (TIFFHeaderCommon))
176
+ ReadError("TIFF header");
177
+ if (hdr.common.tiff_magic != TIFF_BIGENDIAN
178
+ && hdr.common.tiff_magic != TIFF_LITTLEENDIAN &&
179
+ #if HOST_BIGENDIAN
180
+ /* MDI is sensitive to the host byte order, unlike TIFF */
181
+ MDI_BIGENDIAN != hdr.common.tiff_magic
182
+ #else
183
+ MDI_LITTLEENDIAN != hdr.common.tiff_magic
184
+ #endif
185
+ ) {
186
+ Fatal("Not a TIFF or MDI file, bad magic number %u (%#x)",
187
+ hdr.common.tiff_magic, hdr.common.tiff_magic);
188
+ }
189
+ if (hdr.common.tiff_magic == TIFF_BIGENDIAN
190
+ || hdr.common.tiff_magic == MDI_BIGENDIAN)
191
+ swabflag = !bigendian;
192
+ else
193
+ swabflag = bigendian;
194
+ if (swabflag)
195
+ TIFFSwabShort(&hdr.common.tiff_version);
196
+ if (hdr.common.tiff_version==42)
197
+ {
198
+ if (read(fd, (char*) &hdr.classic.tiff_diroff, 4) != 4)
199
+ ReadError("TIFF header");
200
+ if (swabflag)
201
+ TIFFSwabLong(&hdr.classic.tiff_diroff);
202
+ printf("Magic: %#x <%s-endian> Version: %#x <%s>\n",
203
+ hdr.classic.tiff_magic,
204
+ hdr.classic.tiff_magic == TIFF_BIGENDIAN ? "big" : "little",
205
+ 42,"ClassicTIFF");
206
+ if (diroff == 0)
207
+ diroff = hdr.classic.tiff_diroff;
208
+ }
209
+ else if (hdr.common.tiff_version==43)
210
+ {
211
+ if (read(fd, (char*) &hdr.big.tiff_offsetsize, 12) != 12)
212
+ ReadError("TIFF header");
213
+ if (swabflag)
214
+ {
215
+ TIFFSwabShort(&hdr.big.tiff_offsetsize);
216
+ TIFFSwabShort(&hdr.big.tiff_unused);
217
+ TIFFSwabLong8(&hdr.big.tiff_diroff);
218
+ }
219
+ printf("Magic: %#x <%s-endian> Version: %#x <%s>\n",
220
+ hdr.big.tiff_magic,
221
+ hdr.big.tiff_magic == TIFF_BIGENDIAN ? "big" : "little",
222
+ 43,"BigTIFF");
223
+ printf("OffsetSize: %#x Unused: %#x\n",
224
+ hdr.big.tiff_offsetsize,hdr.big.tiff_unused);
225
+ if (diroff == 0)
226
+ diroff = hdr.big.tiff_diroff;
227
+ bigtiff = 1;
228
+ }
229
+ else
230
+ Fatal("Not a TIFF file, bad version number %u (%#x)",
231
+ hdr.common.tiff_version, hdr.common.tiff_version);
232
+ for (i = 0; diroff != 0; i++) {
233
+ for(j=0; j<count_visited_dir; j++)
234
+ {
235
+ if( visited_diroff[j] == diroff )
236
+ {
237
+ free(visited_diroff);
238
+ Fatal("Cycle detected in chaining of TIFF directories!");
239
+ }
240
+ }
241
+ {
242
+ size_t alloc_size;
243
+ alloc_size=TIFFSafeMultiply(tmsize_t,(count_visited_dir + 1),
244
+ sizeof(uint64));
245
+ if (alloc_size == 0)
246
+ {
247
+ if (visited_diroff)
248
+ free(visited_diroff);
249
+ visited_diroff = 0;
250
+ }
251
+ else
252
+ {
253
+ visited_diroff = (uint64*) realloc(visited_diroff,alloc_size);
254
+ }
255
+ }
256
+ if( !visited_diroff )
257
+ Fatal("Out of memory");
258
+ visited_diroff[count_visited_dir] = diroff;
259
+ count_visited_dir ++;
260
+
261
+ if (i > 0)
262
+ putchar('\n');
263
+ diroff = ReadDirectory(fd, i, diroff);
264
+ }
265
+ if( visited_diroff )
266
+ free(visited_diroff);
267
+ }
268
+
269
+ static const int datawidth[] = {
270
+ 0, /* 00 = undefined */
271
+ 1, /* 01 = TIFF_BYTE */
272
+ 1, /* 02 = TIFF_ASCII */
273
+ 2, /* 03 = TIFF_SHORT */
274
+ 4, /* 04 = TIFF_LONG */
275
+ 8, /* 05 = TIFF_RATIONAL */
276
+ 1, /* 06 = TIFF_SBYTE */
277
+ 1, /* 07 = TIFF_UNDEFINED */
278
+ 2, /* 08 = TIFF_SSHORT */
279
+ 4, /* 09 = TIFF_SLONG */
280
+ 8, /* 10 = TIFF_SRATIONAL */
281
+ 4, /* 11 = TIFF_FLOAT */
282
+ 8, /* 12 = TIFF_DOUBLE */
283
+ 4, /* 13 = TIFF_IFD */
284
+ 0, /* 14 = undefined */
285
+ 0, /* 15 = undefined */
286
+ 8, /* 16 = TIFF_LONG8 */
287
+ 8, /* 17 = TIFF_SLONG8 */
288
+ 8, /* 18 = TIFF_IFD8 */
289
+ };
290
+ #define NWIDTHS (sizeof (datawidth) / sizeof (datawidth[0]))
291
+ static void PrintTag(FILE*, uint16);
292
+ static void PrintType(FILE*, uint16);
293
+ static void PrintData(FILE*, uint16, uint32, unsigned char*);
294
+
295
+ /*
296
+ * Read the next TIFF directory from a file
297
+ * and convert it to the internal format.
298
+ * We read directories sequentially.
299
+ */
300
+ static uint64
301
+ ReadDirectory(int fd, unsigned int ix, uint64 off)
302
+ {
303
+ uint16 dircount;
304
+ uint32 direntrysize;
305
+ void* dirmem = NULL;
306
+ uint64 nextdiroff = 0;
307
+ uint32 n;
308
+ uint8* dp;
309
+
310
+ if (off == 0) /* no more directories */
311
+ goto done;
312
+ if (_TIFF_lseek_f(fd, (_TIFF_off_t)off, SEEK_SET) != (_TIFF_off_t)off) {
313
+ Fatal("Seek error accessing TIFF directory");
314
+ goto done;
315
+ }
316
+ if (!bigtiff) {
317
+ if (read(fd, (char*) &dircount, sizeof (uint16)) != sizeof (uint16)) {
318
+ ReadError("directory count");
319
+ goto done;
320
+ }
321
+ if (swabflag)
322
+ TIFFSwabShort(&dircount);
323
+ direntrysize = 12;
324
+ } else {
325
+ uint64 dircount64 = 0;
326
+ if (read(fd, (char*) &dircount64, sizeof (uint64)) != sizeof (uint64)) {
327
+ ReadError("directory count");
328
+ goto done;
329
+ }
330
+ if (swabflag)
331
+ TIFFSwabLong8(&dircount64);
332
+ if (dircount64>0xFFFF) {
333
+ Error("Sanity check on directory count failed");
334
+ goto done;
335
+ }
336
+ dircount = (uint16)dircount64;
337
+ direntrysize = 20;
338
+ }
339
+ dirmem = _TIFFmalloc(TIFFSafeMultiply(tmsize_t,dircount,direntrysize));
340
+ if (dirmem == NULL) {
341
+ Fatal("No space for TIFF directory");
342
+ goto done;
343
+ }
344
+ n = read(fd, (char*) dirmem, dircount*direntrysize);
345
+ if (n != dircount*direntrysize) {
346
+ n /= direntrysize;
347
+ Error(
348
+ #if defined(__WIN32__) && defined(_MSC_VER)
349
+ "Could only read %lu of %u entries in directory at offset %#I64x",
350
+ (unsigned long)n, dircount, (unsigned __int64) off);
351
+ #else
352
+ "Could only read %lu of %u entries in directory at offset %#llx",
353
+ (unsigned long)n, dircount, (unsigned long long) off);
354
+ #endif
355
+ dircount = n;
356
+ nextdiroff = 0;
357
+ } else {
358
+ if (!bigtiff) {
359
+ uint32 nextdiroff32;
360
+ if (read(fd, (char*) &nextdiroff32, sizeof (uint32)) != sizeof (uint32))
361
+ nextdiroff32 = 0;
362
+ if (swabflag)
363
+ TIFFSwabLong(&nextdiroff32);
364
+ nextdiroff = nextdiroff32;
365
+ } else {
366
+ if (read(fd, (char*) &nextdiroff, sizeof (uint64)) != sizeof (uint64))
367
+ nextdiroff = 0;
368
+ if (swabflag)
369
+ TIFFSwabLong8(&nextdiroff);
370
+ }
371
+ }
372
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
373
+ printf("Directory %u: offset %I64u (%#I64x) next %I64u (%#I64x)\n", ix,
374
+ (unsigned __int64)off, (unsigned __int64)off,
375
+ (unsigned __int64)nextdiroff, (unsigned __int64)nextdiroff);
376
+ #else
377
+ printf("Directory %u: offset %llu (%#llx) next %llu (%#llx)\n", ix,
378
+ (unsigned long long)off, (unsigned long long)off,
379
+ (unsigned long long)nextdiroff, (unsigned long long)nextdiroff);
380
+ #endif
381
+ for (dp = (uint8*)dirmem, n = dircount; n > 0; n--) {
382
+ uint16 tag;
383
+ uint16 type;
384
+ uint16 typewidth;
385
+ uint64 count;
386
+ uint64 datasize;
387
+ int datafits;
388
+ void* datamem;
389
+ uint64 dataoffset;
390
+ int datatruncated;
391
+ int datasizeoverflow;
392
+
393
+ tag = *(uint16*)dp;
394
+ if (swabflag)
395
+ TIFFSwabShort(&tag);
396
+ dp += sizeof(uint16);
397
+ type = *(uint16*)dp;
398
+ dp += sizeof(uint16);
399
+ if (swabflag)
400
+ TIFFSwabShort(&type);
401
+ PrintTag(stdout, tag);
402
+ putchar(' ');
403
+ PrintType(stdout, type);
404
+ putchar(' ');
405
+ if (!bigtiff)
406
+ {
407
+ uint32 count32;
408
+ count32 = *(uint32*)dp;
409
+ if (swabflag)
410
+ TIFFSwabLong(&count32);
411
+ dp += sizeof(uint32);
412
+ count = count32;
413
+ }
414
+ else
415
+ {
416
+ memcpy(&count, dp, sizeof(uint64));
417
+ if (swabflag)
418
+ TIFFSwabLong8(&count);
419
+ dp += sizeof(uint64);
420
+ }
421
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
422
+ printf("%I64u<", (unsigned __int64)count);
423
+ #else
424
+ printf("%llu<", (unsigned long long)count);
425
+ #endif
426
+ if (type >= NWIDTHS)
427
+ typewidth = 0;
428
+ else
429
+ typewidth = datawidth[type];
430
+ datasize = TIFFSafeMultiply(tmsize_t,count,typewidth);
431
+ datasizeoverflow = (typewidth > 0 && datasize / typewidth != count);
432
+ datafits = 1;
433
+ datamem = dp;
434
+ dataoffset = 0;
435
+ datatruncated = 0;
436
+ if (!bigtiff)
437
+ {
438
+ if (datasizeoverflow || datasize>4)
439
+ {
440
+ uint32 dataoffset32;
441
+ datafits = 0;
442
+ datamem = NULL;
443
+ dataoffset32 = *(uint32*)dp;
444
+ if (swabflag)
445
+ TIFFSwabLong(&dataoffset32);
446
+ dataoffset = dataoffset32;
447
+ }
448
+ dp += sizeof(uint32);
449
+ }
450
+ else
451
+ {
452
+ if (datasizeoverflow || datasize>8)
453
+ {
454
+ datafits = 0;
455
+ datamem = NULL;
456
+ dataoffset = *(uint64*)dp;
457
+ if (swabflag)
458
+ TIFFSwabLong8(&dataoffset);
459
+ }
460
+ dp += sizeof(uint64);
461
+ }
462
+ if (datasizeoverflow || datasize>0x10000)
463
+ {
464
+ datatruncated = 1;
465
+ count = 0x10000/typewidth;
466
+ datasize = TIFFSafeMultiply(tmsize_t,count,typewidth);
467
+ }
468
+ if (count>maxitems)
469
+ {
470
+ datatruncated = 1;
471
+ count = maxitems;
472
+ datasize = TIFFSafeMultiply(tmsize_t,count,typewidth);
473
+ }
474
+ if (!datafits)
475
+ {
476
+ datamem = _TIFFmalloc(datasize);
477
+ if (datamem) {
478
+ if (_TIFF_lseek_f(fd, (_TIFF_off_t)dataoffset, 0) !=
479
+ (_TIFF_off_t)dataoffset)
480
+ {
481
+ Error(
482
+ "Seek error accessing tag %u value", tag);
483
+ _TIFFfree(datamem);
484
+ datamem = NULL;
485
+ }
486
+ else if (read(fd, datamem, (size_t)datasize) != (TIFF_SSIZE_T)datasize)
487
+ {
488
+ Error(
489
+ "Read error accessing tag %u value", tag);
490
+ _TIFFfree(datamem);
491
+ datamem = NULL;
492
+ }
493
+ } else
494
+ Error("No space for data for tag %u",tag);
495
+ }
496
+ if (datamem)
497
+ {
498
+ if (swabflag)
499
+ {
500
+ switch (type)
501
+ {
502
+ case TIFF_BYTE:
503
+ case TIFF_ASCII:
504
+ case TIFF_SBYTE:
505
+ case TIFF_UNDEFINED:
506
+ break;
507
+ case TIFF_SHORT:
508
+ case TIFF_SSHORT:
509
+ TIFFSwabArrayOfShort((uint16*)datamem,(tmsize_t)count);
510
+ break;
511
+ case TIFF_LONG:
512
+ case TIFF_SLONG:
513
+ case TIFF_FLOAT:
514
+ case TIFF_IFD:
515
+ TIFFSwabArrayOfLong((uint32*)datamem,(tmsize_t)count);
516
+ break;
517
+ case TIFF_RATIONAL:
518
+ case TIFF_SRATIONAL:
519
+ TIFFSwabArrayOfLong((uint32*)datamem,(tmsize_t)count*2);
520
+ break;
521
+ case TIFF_DOUBLE:
522
+ case TIFF_LONG8:
523
+ case TIFF_SLONG8:
524
+ case TIFF_IFD8:
525
+ TIFFSwabArrayOfLong8((uint64*)datamem,(tmsize_t)count);
526
+ break;
527
+ }
528
+ }
529
+ PrintData(stdout,type,(uint32)count,datamem);
530
+ if (datatruncated)
531
+ printf(" ...");
532
+ if (!datafits)
533
+ {
534
+ _TIFFfree(datamem);
535
+ datamem = NULL;
536
+ }
537
+ }
538
+ printf(">\n");
539
+ }
540
+ done:
541
+ if (dirmem)
542
+ _TIFFfree((char *)dirmem);
543
+ return (nextdiroff);
544
+ }
545
+
546
+ static const struct tagname {
547
+ uint16 tag;
548
+ const char* name;
549
+ } tagnames[] = {
550
+ { TIFFTAG_SUBFILETYPE, "SubFileType" },
551
+ { TIFFTAG_OSUBFILETYPE, "OldSubFileType" },
552
+ { TIFFTAG_IMAGEWIDTH, "ImageWidth" },
553
+ { TIFFTAG_IMAGELENGTH, "ImageLength" },
554
+ { TIFFTAG_BITSPERSAMPLE, "BitsPerSample" },
555
+ { TIFFTAG_COMPRESSION, "Compression" },
556
+ { TIFFTAG_PHOTOMETRIC, "Photometric" },
557
+ { TIFFTAG_THRESHHOLDING, "Threshholding" },
558
+ { TIFFTAG_CELLWIDTH, "CellWidth" },
559
+ { TIFFTAG_CELLLENGTH, "CellLength" },
560
+ { TIFFTAG_FILLORDER, "FillOrder" },
561
+ { TIFFTAG_DOCUMENTNAME, "DocumentName" },
562
+ { TIFFTAG_IMAGEDESCRIPTION, "ImageDescription" },
563
+ { TIFFTAG_MAKE, "Make" },
564
+ { TIFFTAG_MODEL, "Model" },
565
+ { TIFFTAG_STRIPOFFSETS, "StripOffsets" },
566
+ { TIFFTAG_ORIENTATION, "Orientation" },
567
+ { TIFFTAG_SAMPLESPERPIXEL, "SamplesPerPixel" },
568
+ { TIFFTAG_ROWSPERSTRIP, "RowsPerStrip" },
569
+ { TIFFTAG_STRIPBYTECOUNTS, "StripByteCounts" },
570
+ { TIFFTAG_MINSAMPLEVALUE, "MinSampleValue" },
571
+ { TIFFTAG_MAXSAMPLEVALUE, "MaxSampleValue" },
572
+ { TIFFTAG_XRESOLUTION, "XResolution" },
573
+ { TIFFTAG_YRESOLUTION, "YResolution" },
574
+ { TIFFTAG_PLANARCONFIG, "PlanarConfig" },
575
+ { TIFFTAG_PAGENAME, "PageName" },
576
+ { TIFFTAG_XPOSITION, "XPosition" },
577
+ { TIFFTAG_YPOSITION, "YPosition" },
578
+ { TIFFTAG_FREEOFFSETS, "FreeOffsets" },
579
+ { TIFFTAG_FREEBYTECOUNTS, "FreeByteCounts" },
580
+ { TIFFTAG_GRAYRESPONSEUNIT, "GrayResponseUnit" },
581
+ { TIFFTAG_GRAYRESPONSECURVE,"GrayResponseCurve" },
582
+ { TIFFTAG_GROUP3OPTIONS, "Group3Options" },
583
+ { TIFFTAG_GROUP4OPTIONS, "Group4Options" },
584
+ { TIFFTAG_RESOLUTIONUNIT, "ResolutionUnit" },
585
+ { TIFFTAG_PAGENUMBER, "PageNumber" },
586
+ { TIFFTAG_COLORRESPONSEUNIT,"ColorResponseUnit" },
587
+ { TIFFTAG_TRANSFERFUNCTION, "TransferFunction" },
588
+ { TIFFTAG_SOFTWARE, "Software" },
589
+ { TIFFTAG_DATETIME, "DateTime" },
590
+ { TIFFTAG_ARTIST, "Artist" },
591
+ { TIFFTAG_HOSTCOMPUTER, "HostComputer" },
592
+ { TIFFTAG_PREDICTOR, "Predictor" },
593
+ { TIFFTAG_WHITEPOINT, "Whitepoint" },
594
+ { TIFFTAG_PRIMARYCHROMATICITIES,"PrimaryChromaticities" },
595
+ { TIFFTAG_COLORMAP, "Colormap" },
596
+ { TIFFTAG_HALFTONEHINTS, "HalftoneHints" },
597
+ { TIFFTAG_TILEWIDTH, "TileWidth" },
598
+ { TIFFTAG_TILELENGTH, "TileLength" },
599
+ { TIFFTAG_TILEOFFSETS, "TileOffsets" },
600
+ { TIFFTAG_TILEBYTECOUNTS, "TileByteCounts" },
601
+ { TIFFTAG_BADFAXLINES, "BadFaxLines" },
602
+ { TIFFTAG_CLEANFAXDATA, "CleanFaxData" },
603
+ { TIFFTAG_CONSECUTIVEBADFAXLINES, "ConsecutiveBadFaxLines" },
604
+ { TIFFTAG_SUBIFD, "SubIFD" },
605
+ { TIFFTAG_INKSET, "InkSet" },
606
+ { TIFFTAG_INKNAMES, "InkNames" },
607
+ { TIFFTAG_NUMBEROFINKS, "NumberOfInks" },
608
+ { TIFFTAG_DOTRANGE, "DotRange" },
609
+ { TIFFTAG_TARGETPRINTER, "TargetPrinter" },
610
+ { TIFFTAG_EXTRASAMPLES, "ExtraSamples" },
611
+ { TIFFTAG_SAMPLEFORMAT, "SampleFormat" },
612
+ { TIFFTAG_SMINSAMPLEVALUE, "SMinSampleValue" },
613
+ { TIFFTAG_SMAXSAMPLEVALUE, "SMaxSampleValue" },
614
+ { TIFFTAG_JPEGPROC, "JPEGProcessingMode" },
615
+ { TIFFTAG_JPEGIFOFFSET, "JPEGInterchangeFormat" },
616
+ { TIFFTAG_JPEGIFBYTECOUNT, "JPEGInterchangeFormatLength" },
617
+ { TIFFTAG_JPEGRESTARTINTERVAL,"JPEGRestartInterval" },
618
+ { TIFFTAG_JPEGLOSSLESSPREDICTORS,"JPEGLosslessPredictors" },
619
+ { TIFFTAG_JPEGPOINTTRANSFORM,"JPEGPointTransform" },
620
+ { TIFFTAG_JPEGTABLES, "JPEGTables" },
621
+ { TIFFTAG_JPEGQTABLES, "JPEGQTables" },
622
+ { TIFFTAG_JPEGDCTABLES, "JPEGDCTables" },
623
+ { TIFFTAG_JPEGACTABLES, "JPEGACTables" },
624
+ { TIFFTAG_YCBCRCOEFFICIENTS,"YCbCrCoefficients" },
625
+ { TIFFTAG_YCBCRSUBSAMPLING, "YCbCrSubsampling" },
626
+ { TIFFTAG_YCBCRPOSITIONING, "YCbCrPositioning" },
627
+ { TIFFTAG_REFERENCEBLACKWHITE, "ReferenceBlackWhite" },
628
+ { TIFFTAG_REFPTS, "IgReferencePoints (Island Graphics)" },
629
+ { TIFFTAG_REGIONTACKPOINT, "IgRegionTackPoint (Island Graphics)" },
630
+ { TIFFTAG_REGIONWARPCORNERS,"IgRegionWarpCorners (Island Graphics)" },
631
+ { TIFFTAG_REGIONAFFINE, "IgRegionAffine (Island Graphics)" },
632
+ { TIFFTAG_MATTEING, "OBSOLETE Matteing (Silicon Graphics)" },
633
+ { TIFFTAG_DATATYPE, "OBSOLETE DataType (Silicon Graphics)" },
634
+ { TIFFTAG_IMAGEDEPTH, "ImageDepth (Silicon Graphics)" },
635
+ { TIFFTAG_TILEDEPTH, "TileDepth (Silicon Graphics)" },
636
+ { 32768, "OLD BOGUS Matteing tag" },
637
+ { TIFFTAG_COPYRIGHT, "Copyright" },
638
+ { TIFFTAG_ICCPROFILE, "ICC Profile" },
639
+ { TIFFTAG_JBIGOPTIONS, "JBIG Options" },
640
+ { TIFFTAG_STONITS, "StoNits" },
641
+ };
642
+ #define NTAGS (sizeof (tagnames) / sizeof (tagnames[0]))
643
+
644
+ static void
645
+ PrintTag(FILE* fd, uint16 tag)
646
+ {
647
+ const struct tagname *tp;
648
+
649
+ for (tp = tagnames; tp < &tagnames[NTAGS]; tp++)
650
+ if (tp->tag == tag) {
651
+ fprintf(fd, "%s (%u)", tp->name, tag);
652
+ return;
653
+ }
654
+ fprintf(fd, "%u (%#x)", tag, tag);
655
+ }
656
+
657
+ static void
658
+ PrintType(FILE* fd, uint16 type)
659
+ {
660
+ static const char *typenames[] = {
661
+ "0",
662
+ "BYTE",
663
+ "ASCII",
664
+ "SHORT",
665
+ "LONG",
666
+ "RATIONAL",
667
+ "SBYTE",
668
+ "UNDEFINED",
669
+ "SSHORT",
670
+ "SLONG",
671
+ "SRATIONAL",
672
+ "FLOAT",
673
+ "DOUBLE",
674
+ "IFD",
675
+ "14",
676
+ "15",
677
+ "LONG8",
678
+ "SLONG8",
679
+ "IFD8"
680
+ };
681
+ #define NTYPES (sizeof (typenames) / sizeof (typenames[0]))
682
+
683
+ if (type < NTYPES)
684
+ fprintf(fd, "%s (%u)", typenames[type], type);
685
+ else
686
+ fprintf(fd, "%u (%#x)", type, type);
687
+ }
688
+ #undef NTYPES
689
+
690
+ #include <ctype.h>
691
+
692
+ static void
693
+ PrintASCII(FILE* fd, uint32 cc, const unsigned char* cp)
694
+ {
695
+ for (; cc > 0; cc--, cp++) {
696
+ const char* tp;
697
+
698
+ if (isprint(*cp)) {
699
+ fputc(*cp, fd);
700
+ continue;
701
+ }
702
+ for (tp = "\tt\bb\rr\nn\vv"; *tp; tp++)
703
+ if (*tp++ == *cp)
704
+ break;
705
+ if (*tp)
706
+ fprintf(fd, "\\%c", *tp);
707
+ else if (*cp)
708
+ fprintf(fd, "\\%03o", *cp);
709
+ else
710
+ fprintf(fd, "\\0");
711
+ }
712
+ }
713
+
714
+ static void
715
+ PrintData(FILE* fd, uint16 type, uint32 count, unsigned char* data)
716
+ {
717
+ char* sep = "";
718
+
719
+ switch (type) {
720
+ case TIFF_BYTE:
721
+ while (count-- > 0)
722
+ fprintf(fd, bytefmt, sep, *data++), sep = " ";
723
+ break;
724
+ case TIFF_SBYTE:
725
+ while (count-- > 0)
726
+ fprintf(fd, sbytefmt, sep, *(char *)data++), sep = " ";
727
+ break;
728
+ case TIFF_UNDEFINED:
729
+ while (count-- > 0)
730
+ fprintf(fd, bytefmt, sep, *data++), sep = " ";
731
+ break;
732
+ case TIFF_ASCII:
733
+ PrintASCII(fd, count, data);
734
+ break;
735
+ case TIFF_SHORT: {
736
+ uint16 *wp = (uint16*)data;
737
+ while (count-- > 0)
738
+ fprintf(fd, shortfmt, sep, *wp++), sep = " ";
739
+ break;
740
+ }
741
+ case TIFF_SSHORT: {
742
+ int16 *wp = (int16*)data;
743
+ while (count-- > 0)
744
+ fprintf(fd, sshortfmt, sep, *wp++), sep = " ";
745
+ break;
746
+ }
747
+ case TIFF_LONG: {
748
+ uint32 *lp = (uint32*)data;
749
+ while (count-- > 0) {
750
+ fprintf(fd, longfmt, sep, (unsigned long) *lp++);
751
+ sep = " ";
752
+ }
753
+ break;
754
+ }
755
+ case TIFF_SLONG: {
756
+ int32 *lp = (int32*)data;
757
+ while (count-- > 0)
758
+ fprintf(fd, slongfmt, sep, (long) *lp++), sep = " ";
759
+ break;
760
+ }
761
+ case TIFF_LONG8: {
762
+ uint64 *llp = (uint64*)data;
763
+ while (count-- > 0) {
764
+ uint64 val;
765
+ memcpy(&val, llp, sizeof(uint64));
766
+ llp ++;
767
+ fprintf(fd, long8fmt, sep, val);
768
+ sep = " ";
769
+ }
770
+ break;
771
+ }
772
+ case TIFF_SLONG8: {
773
+ int64 *llp = (int64*)data;
774
+ while (count-- > 0) {
775
+ int64 val;
776
+ memcpy(&val, llp, sizeof(int64));
777
+ llp ++;
778
+ fprintf(fd, slong8fmt, sep, val);
779
+ sep = " ";
780
+ }
781
+ break;
782
+ }
783
+ case TIFF_RATIONAL: {
784
+ uint32 *lp = (uint32*)data;
785
+ while (count-- > 0) {
786
+ if (lp[1] == 0)
787
+ fprintf(fd, "%sNan (%lu/%lu)", sep,
788
+ (unsigned long) lp[0],
789
+ (unsigned long) lp[1]);
790
+ else
791
+ fprintf(fd, rationalfmt, sep,
792
+ (double)lp[0] / (double)lp[1]);
793
+ sep = " ";
794
+ lp += 2;
795
+ }
796
+ break;
797
+ }
798
+ case TIFF_SRATIONAL: {
799
+ int32 *lp = (int32*)data;
800
+ while (count-- > 0) {
801
+ if (lp[1] == 0)
802
+ fprintf(fd, "%sNan (%ld/%ld)", sep,
803
+ (long) lp[0], (long) lp[1]);
804
+ else
805
+ fprintf(fd, srationalfmt, sep,
806
+ (double)lp[0] / (double)lp[1]);
807
+ sep = " ";
808
+ lp += 2;
809
+ }
810
+ break;
811
+ }
812
+ case TIFF_FLOAT: {
813
+ float *fp = (float *)data;
814
+ while (count-- > 0)
815
+ fprintf(fd, floatfmt, sep, *fp++), sep = " ";
816
+ break;
817
+ }
818
+ case TIFF_DOUBLE: {
819
+ double *dp = (double *)data;
820
+ while (count-- > 0)
821
+ fprintf(fd, doublefmt, sep, *dp++), sep = " ";
822
+ break;
823
+ }
824
+ case TIFF_IFD: {
825
+ uint32 *lp = (uint32*)data;
826
+ while (count-- > 0) {
827
+ fprintf(fd, ifdfmt, sep, (unsigned long) *lp++);
828
+ sep = " ";
829
+ }
830
+ break;
831
+ }
832
+ case TIFF_IFD8: {
833
+ uint64 *llp = (uint64*)data;
834
+ while (count-- > 0) {
835
+ #if defined(__WIN32__) && defined(_MSC_VER)
836
+ fprintf(fd, ifd8fmt, sep, (unsigned __int64) *llp++);
837
+ #else
838
+ fprintf(fd, ifd8fmt, sep, (unsigned long long) *llp++);
839
+ #endif
840
+ sep = " ";
841
+ }
842
+ break;
843
+ }
844
+ }
845
+ }
846
+
847
+ static void
848
+ ReadError(char* what)
849
+ {
850
+ Fatal("Error while reading %s", what);
851
+ }
852
+
853
+ #include <stdarg.h>
854
+
855
+ static void
856
+ vError(FILE* fd, const char* fmt, va_list ap)
857
+ {
858
+ fprintf(fd, "%s: ", curfile);
859
+ vfprintf(fd, fmt, ap);
860
+ fprintf(fd, ".\n");
861
+ }
862
+
863
+ static void
864
+ Error(const char* fmt, ...)
865
+ {
866
+ va_list ap;
867
+ va_start(ap, fmt);
868
+ vError(stderr, fmt, ap);
869
+ va_end(ap);
870
+ }
871
+
872
+ static void
873
+ Fatal(const char* fmt, ...)
874
+ {
875
+ va_list ap;
876
+ va_start(ap, fmt);
877
+ vError(stderr, fmt, ap);
878
+ va_end(ap);
879
+ exit(-1);
880
+ }
881
+
882
+ /* vim: set ts=8 sts=8 sw=8 noet: */
883
+ /*
884
+ * Local Variables:
885
+ * mode: c
886
+ * c-basic-offset: 8
887
+ * fill-column: 78
888
+ * End:
889
+ */