rfreeimage 0.1.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.
Files changed (860) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +1 -0
  4. data/Rakefile +34 -0
  5. data/ext/rfreeimage/extconf.rb +35 -0
  6. data/ext/rfreeimage/rfi_main.c +389 -0
  7. data/lib/rfreeimage/image.rb +26 -0
  8. data/lib/rfreeimage/version.rb +3 -0
  9. data/lib/rfreeimage.rb +3 -0
  10. data/rfreeimage.gemspec +32 -0
  11. data/vendor/FreeImage/Makefile +34 -0
  12. data/vendor/FreeImage/Makefile.cygwin +74 -0
  13. data/vendor/FreeImage/Makefile.fip +84 -0
  14. data/vendor/FreeImage/Makefile.gnu +83 -0
  15. data/vendor/FreeImage/Makefile.iphone +96 -0
  16. data/vendor/FreeImage/Makefile.mingw +136 -0
  17. data/vendor/FreeImage/Makefile.osx +115 -0
  18. data/vendor/FreeImage/Makefile.solaris +66 -0
  19. data/vendor/FreeImage/Makefile.srcs +6 -0
  20. data/vendor/FreeImage/README.iphone +19 -0
  21. data/vendor/FreeImage/README.linux +50 -0
  22. data/vendor/FreeImage/README.minGW +236 -0
  23. data/vendor/FreeImage/README.osx +44 -0
  24. data/vendor/FreeImage/README.solaris +67 -0
  25. data/vendor/FreeImage/Source/CacheFile.h +92 -0
  26. data/vendor/FreeImage/Source/DeprecationManager/Deprecated.cpp +36 -0
  27. data/vendor/FreeImage/Source/DeprecationManager/DeprecationMgr.cpp +103 -0
  28. data/vendor/FreeImage/Source/DeprecationManager/DeprecationMgr.h +83 -0
  29. data/vendor/FreeImage/Source/FreeImage/BitmapAccess.cpp +1573 -0
  30. data/vendor/FreeImage/Source/FreeImage/CacheFile.cpp +271 -0
  31. data/vendor/FreeImage/Source/FreeImage/ColorLookup.cpp +785 -0
  32. data/vendor/FreeImage/Source/FreeImage/Conversion.cpp +551 -0
  33. data/vendor/FreeImage/Source/FreeImage/Conversion16_555.cpp +209 -0
  34. data/vendor/FreeImage/Source/FreeImage/Conversion16_565.cpp +204 -0
  35. data/vendor/FreeImage/Source/FreeImage/Conversion24.cpp +252 -0
  36. data/vendor/FreeImage/Source/FreeImage/Conversion32.cpp +345 -0
  37. data/vendor/FreeImage/Source/FreeImage/Conversion4.cpp +246 -0
  38. data/vendor/FreeImage/Source/FreeImage/Conversion8.cpp +305 -0
  39. data/vendor/FreeImage/Source/FreeImage/ConversionFloat.cpp +194 -0
  40. data/vendor/FreeImage/Source/FreeImage/ConversionRGB16.cpp +144 -0
  41. data/vendor/FreeImage/Source/FreeImage/ConversionRGBA16.cpp +147 -0
  42. data/vendor/FreeImage/Source/FreeImage/ConversionRGBAF.cpp +250 -0
  43. data/vendor/FreeImage/Source/FreeImage/ConversionRGBF.cpp +243 -0
  44. data/vendor/FreeImage/Source/FreeImage/ConversionType.cpp +699 -0
  45. data/vendor/FreeImage/Source/FreeImage/ConversionUINT16.cpp +134 -0
  46. data/vendor/FreeImage/Source/FreeImage/FreeImage.cpp +226 -0
  47. data/vendor/FreeImage/Source/FreeImage/FreeImageC.c +22 -0
  48. data/vendor/FreeImage/Source/FreeImage/FreeImageIO.cpp +175 -0
  49. data/vendor/FreeImage/Source/FreeImage/GetType.cpp +92 -0
  50. data/vendor/FreeImage/Source/FreeImage/Halftoning.cpp +474 -0
  51. data/vendor/FreeImage/Source/FreeImage/J2KHelper.cpp +591 -0
  52. data/vendor/FreeImage/Source/FreeImage/J2KHelper.h +36 -0
  53. data/vendor/FreeImage/Source/FreeImage/LFPQuantizer.cpp +208 -0
  54. data/vendor/FreeImage/Source/FreeImage/MNGHelper.cpp +1320 -0
  55. data/vendor/FreeImage/Source/FreeImage/MemoryIO.cpp +237 -0
  56. data/vendor/FreeImage/Source/FreeImage/MultiPage.cpp +974 -0
  57. data/vendor/FreeImage/Source/FreeImage/NNQuantizer.cpp +507 -0
  58. data/vendor/FreeImage/Source/FreeImage/PSDParser.cpp +1057 -0
  59. data/vendor/FreeImage/Source/FreeImage/PSDParser.h +271 -0
  60. data/vendor/FreeImage/Source/FreeImage/PixelAccess.cpp +197 -0
  61. data/vendor/FreeImage/Source/FreeImage/Plugin.cpp +822 -0
  62. data/vendor/FreeImage/Source/FreeImage/PluginBMP.cpp +1494 -0
  63. data/vendor/FreeImage/Source/FreeImage/PluginCUT.cpp +240 -0
  64. data/vendor/FreeImage/Source/FreeImage/PluginDDS.cpp +655 -0
  65. data/vendor/FreeImage/Source/FreeImage/PluginEXR.cpp +773 -0
  66. data/vendor/FreeImage/Source/FreeImage/PluginG3.cpp +433 -0
  67. data/vendor/FreeImage/Source/FreeImage/PluginGIF.cpp +1407 -0
  68. data/vendor/FreeImage/Source/FreeImage/PluginHDR.cpp +722 -0
  69. data/vendor/FreeImage/Source/FreeImage/PluginICO.cpp +824 -0
  70. data/vendor/FreeImage/Source/FreeImage/PluginIFF.cpp +459 -0
  71. data/vendor/FreeImage/Source/FreeImage/PluginJ2K.cpp +328 -0
  72. data/vendor/FreeImage/Source/FreeImage/PluginJNG.cpp +162 -0
  73. data/vendor/FreeImage/Source/FreeImage/PluginJP2.cpp +328 -0
  74. data/vendor/FreeImage/Source/FreeImage/PluginJPEG.cpp +1706 -0
  75. data/vendor/FreeImage/Source/FreeImage/PluginJXR.cpp +1475 -0
  76. data/vendor/FreeImage/Source/FreeImage/PluginKOALA.cpp +243 -0
  77. data/vendor/FreeImage/Source/FreeImage/PluginMNG.cpp +153 -0
  78. data/vendor/FreeImage/Source/FreeImage/PluginPCD.cpp +251 -0
  79. data/vendor/FreeImage/Source/FreeImage/PluginPCX.cpp +659 -0
  80. data/vendor/FreeImage/Source/FreeImage/PluginPFM.cpp +409 -0
  81. data/vendor/FreeImage/Source/FreeImage/PluginPICT.cpp +1343 -0
  82. data/vendor/FreeImage/Source/FreeImage/PluginPNG.cpp +1115 -0
  83. data/vendor/FreeImage/Source/FreeImage/PluginPNM.cpp +838 -0
  84. data/vendor/FreeImage/Source/FreeImage/PluginPSD.cpp +131 -0
  85. data/vendor/FreeImage/Source/FreeImage/PluginRAS.cpp +512 -0
  86. data/vendor/FreeImage/Source/FreeImage/PluginRAW.cpp +793 -0
  87. data/vendor/FreeImage/Source/FreeImage/PluginSGI.cpp +425 -0
  88. data/vendor/FreeImage/Source/FreeImage/PluginTARGA.cpp +1591 -0
  89. data/vendor/FreeImage/Source/FreeImage/PluginTIFF.cpp +2631 -0
  90. data/vendor/FreeImage/Source/FreeImage/PluginWBMP.cpp +372 -0
  91. data/vendor/FreeImage/Source/FreeImage/PluginWebP.cpp +698 -0
  92. data/vendor/FreeImage/Source/FreeImage/PluginXBM.cpp +399 -0
  93. data/vendor/FreeImage/Source/FreeImage/PluginXPM.cpp +487 -0
  94. data/vendor/FreeImage/Source/FreeImage/TIFFLogLuv.cpp +65 -0
  95. data/vendor/FreeImage/Source/FreeImage/ToneMapping.cpp +75 -0
  96. data/vendor/FreeImage/Source/FreeImage/WuQuantizer.cpp +559 -0
  97. data/vendor/FreeImage/Source/FreeImage/ZLibInterface.cpp +223 -0
  98. data/vendor/FreeImage/Source/FreeImage/tmoColorConvert.cpp +479 -0
  99. data/vendor/FreeImage/Source/FreeImage/tmoDrago03.cpp +295 -0
  100. data/vendor/FreeImage/Source/FreeImage/tmoFattal02.cpp +689 -0
  101. data/vendor/FreeImage/Source/FreeImage/tmoReinhard05.cpp +260 -0
  102. data/vendor/FreeImage/Source/FreeImage.h +1153 -0
  103. data/vendor/FreeImage/Source/FreeImageIO.h +63 -0
  104. data/vendor/FreeImage/Source/FreeImageToolkit/BSplineRotate.cpp +730 -0
  105. data/vendor/FreeImage/Source/FreeImageToolkit/Background.cpp +895 -0
  106. data/vendor/FreeImage/Source/FreeImageToolkit/Channels.cpp +488 -0
  107. data/vendor/FreeImage/Source/FreeImageToolkit/ClassicRotate.cpp +917 -0
  108. data/vendor/FreeImage/Source/FreeImageToolkit/Colors.cpp +967 -0
  109. data/vendor/FreeImage/Source/FreeImageToolkit/CopyPaste.cpp +861 -0
  110. data/vendor/FreeImage/Source/FreeImageToolkit/Display.cpp +230 -0
  111. data/vendor/FreeImage/Source/FreeImageToolkit/Filters.h +287 -0
  112. data/vendor/FreeImage/Source/FreeImageToolkit/Flip.cpp +166 -0
  113. data/vendor/FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp +623 -0
  114. data/vendor/FreeImage/Source/FreeImageToolkit/MultigridPoissonSolver.cpp +505 -0
  115. data/vendor/FreeImage/Source/FreeImageToolkit/Rescale.cpp +192 -0
  116. data/vendor/FreeImage/Source/FreeImageToolkit/Resize.cpp +2116 -0
  117. data/vendor/FreeImage/Source/FreeImageToolkit/Resize.h +196 -0
  118. data/vendor/FreeImage/Source/LibJPEG/ansi2knr.c +739 -0
  119. data/vendor/FreeImage/Source/LibJPEG/cderror.h +134 -0
  120. data/vendor/FreeImage/Source/LibJPEG/cdjpeg.c +181 -0
  121. data/vendor/FreeImage/Source/LibJPEG/cdjpeg.h +187 -0
  122. data/vendor/FreeImage/Source/LibJPEG/cjpeg.c +664 -0
  123. data/vendor/FreeImage/Source/LibJPEG/ckconfig.c +402 -0
  124. data/vendor/FreeImage/Source/LibJPEG/djpeg.c +617 -0
  125. data/vendor/FreeImage/Source/LibJPEG/example.c +433 -0
  126. data/vendor/FreeImage/Source/LibJPEG/jaricom.c +153 -0
  127. data/vendor/FreeImage/Source/LibJPEG/jcapimin.c +288 -0
  128. data/vendor/FreeImage/Source/LibJPEG/jcapistd.c +162 -0
  129. data/vendor/FreeImage/Source/LibJPEG/jcarith.c +944 -0
  130. data/vendor/FreeImage/Source/LibJPEG/jccoefct.c +454 -0
  131. data/vendor/FreeImage/Source/LibJPEG/jccolor.c +604 -0
  132. data/vendor/FreeImage/Source/LibJPEG/jcdctmgr.c +477 -0
  133. data/vendor/FreeImage/Source/LibJPEG/jchuff.c +1573 -0
  134. data/vendor/FreeImage/Source/LibJPEG/jcinit.c +84 -0
  135. data/vendor/FreeImage/Source/LibJPEG/jcmainct.c +297 -0
  136. data/vendor/FreeImage/Source/LibJPEG/jcmarker.c +719 -0
  137. data/vendor/FreeImage/Source/LibJPEG/jcmaster.c +856 -0
  138. data/vendor/FreeImage/Source/LibJPEG/jcomapi.c +106 -0
  139. data/vendor/FreeImage/Source/LibJPEG/jconfig.h +161 -0
  140. data/vendor/FreeImage/Source/LibJPEG/jcparam.c +675 -0
  141. data/vendor/FreeImage/Source/LibJPEG/jcprepct.c +358 -0
  142. data/vendor/FreeImage/Source/LibJPEG/jcsample.c +545 -0
  143. data/vendor/FreeImage/Source/LibJPEG/jctrans.c +385 -0
  144. data/vendor/FreeImage/Source/LibJPEG/jdapimin.c +399 -0
  145. data/vendor/FreeImage/Source/LibJPEG/jdapistd.c +276 -0
  146. data/vendor/FreeImage/Source/LibJPEG/jdarith.c +796 -0
  147. data/vendor/FreeImage/Source/LibJPEG/jdatadst.c +270 -0
  148. data/vendor/FreeImage/Source/LibJPEG/jdatasrc.c +275 -0
  149. data/vendor/FreeImage/Source/LibJPEG/jdcoefct.c +741 -0
  150. data/vendor/FreeImage/Source/LibJPEG/jdcolor.c +748 -0
  151. data/vendor/FreeImage/Source/LibJPEG/jdct.h +393 -0
  152. data/vendor/FreeImage/Source/LibJPEG/jddctmgr.c +384 -0
  153. data/vendor/FreeImage/Source/LibJPEG/jdhuff.c +1554 -0
  154. data/vendor/FreeImage/Source/LibJPEG/jdinput.c +662 -0
  155. data/vendor/FreeImage/Source/LibJPEG/jdmainct.c +513 -0
  156. data/vendor/FreeImage/Source/LibJPEG/jdmarker.c +1511 -0
  157. data/vendor/FreeImage/Source/LibJPEG/jdmaster.c +543 -0
  158. data/vendor/FreeImage/Source/LibJPEG/jdmerge.c +401 -0
  159. data/vendor/FreeImage/Source/LibJPEG/jdpostct.c +290 -0
  160. data/vendor/FreeImage/Source/LibJPEG/jdsample.c +361 -0
  161. data/vendor/FreeImage/Source/LibJPEG/jdtrans.c +140 -0
  162. data/vendor/FreeImage/Source/LibJPEG/jerror.c +253 -0
  163. data/vendor/FreeImage/Source/LibJPEG/jerror.h +304 -0
  164. data/vendor/FreeImage/Source/LibJPEG/jfdctflt.c +174 -0
  165. data/vendor/FreeImage/Source/LibJPEG/jfdctfst.c +230 -0
  166. data/vendor/FreeImage/Source/LibJPEG/jfdctint.c +4406 -0
  167. data/vendor/FreeImage/Source/LibJPEG/jidctflt.c +235 -0
  168. data/vendor/FreeImage/Source/LibJPEG/jidctfst.c +368 -0
  169. data/vendor/FreeImage/Source/LibJPEG/jidctint.c +5179 -0
  170. data/vendor/FreeImage/Source/LibJPEG/jinclude.h +91 -0
  171. data/vendor/FreeImage/Source/LibJPEG/jmemansi.c +167 -0
  172. data/vendor/FreeImage/Source/LibJPEG/jmemdos.c +638 -0
  173. data/vendor/FreeImage/Source/LibJPEG/jmemmac.c +289 -0
  174. data/vendor/FreeImage/Source/LibJPEG/jmemmgr.c +1119 -0
  175. data/vendor/FreeImage/Source/LibJPEG/jmemname.c +276 -0
  176. data/vendor/FreeImage/Source/LibJPEG/jmemnobs.c +109 -0
  177. data/vendor/FreeImage/Source/LibJPEG/jmemsys.h +198 -0
  178. data/vendor/FreeImage/Source/LibJPEG/jmorecfg.h +442 -0
  179. data/vendor/FreeImage/Source/LibJPEG/jpegint.h +426 -0
  180. data/vendor/FreeImage/Source/LibJPEG/jpeglib.h +1180 -0
  181. data/vendor/FreeImage/Source/LibJPEG/jpegtran.c +577 -0
  182. data/vendor/FreeImage/Source/LibJPEG/jquant1.c +857 -0
  183. data/vendor/FreeImage/Source/LibJPEG/jquant2.c +1311 -0
  184. data/vendor/FreeImage/Source/LibJPEG/jutils.c +227 -0
  185. data/vendor/FreeImage/Source/LibJPEG/jversion.h +14 -0
  186. data/vendor/FreeImage/Source/LibJPEG/rdbmp.c +480 -0
  187. data/vendor/FreeImage/Source/LibJPEG/rdcolmap.c +253 -0
  188. data/vendor/FreeImage/Source/LibJPEG/rdgif.c +38 -0
  189. data/vendor/FreeImage/Source/LibJPEG/rdjpgcom.c +515 -0
  190. data/vendor/FreeImage/Source/LibJPEG/rdppm.c +459 -0
  191. data/vendor/FreeImage/Source/LibJPEG/rdrle.c +387 -0
  192. data/vendor/FreeImage/Source/LibJPEG/rdswitch.c +365 -0
  193. data/vendor/FreeImage/Source/LibJPEG/rdtarga.c +500 -0
  194. data/vendor/FreeImage/Source/LibJPEG/transupp.c +1763 -0
  195. data/vendor/FreeImage/Source/LibJPEG/transupp.h +219 -0
  196. data/vendor/FreeImage/Source/LibJPEG/wrbmp.c +442 -0
  197. data/vendor/FreeImage/Source/LibJPEG/wrgif.c +399 -0
  198. data/vendor/FreeImage/Source/LibJPEG/wrjpgcom.c +583 -0
  199. data/vendor/FreeImage/Source/LibJPEG/wrppm.c +269 -0
  200. data/vendor/FreeImage/Source/LibJPEG/wrrle.c +305 -0
  201. data/vendor/FreeImage/Source/LibJPEG/wrtarga.c +253 -0
  202. data/vendor/FreeImage/Source/LibJXR/common/include/guiddef.h +230 -0
  203. data/vendor/FreeImage/Source/LibJXR/common/include/wmsal.h +757 -0
  204. data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstring.h +342 -0
  205. data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstrings_adt.h +71 -0
  206. data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstrings_strict.h +1096 -0
  207. data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstrings_undef.h +406 -0
  208. data/vendor/FreeImage/Source/LibJXR/image/decode/JXRTranscode.c +987 -0
  209. data/vendor/FreeImage/Source/LibJXR/image/decode/decode.c +200 -0
  210. data/vendor/FreeImage/Source/LibJXR/image/decode/decode.h +143 -0
  211. data/vendor/FreeImage/Source/LibJXR/image/decode/postprocess.c +288 -0
  212. data/vendor/FreeImage/Source/LibJXR/image/decode/segdec.c +1205 -0
  213. data/vendor/FreeImage/Source/LibJXR/image/decode/strInvTransform.c +1888 -0
  214. data/vendor/FreeImage/Source/LibJXR/image/decode/strPredQuantDec.c +539 -0
  215. data/vendor/FreeImage/Source/LibJXR/image/decode/strdec.c +3628 -0
  216. data/vendor/FreeImage/Source/LibJXR/image/decode/strdec_x86.c +1640 -0
  217. data/vendor/FreeImage/Source/LibJXR/image/encode/encode.c +144 -0
  218. data/vendor/FreeImage/Source/LibJXR/image/encode/encode.h +113 -0
  219. data/vendor/FreeImage/Source/LibJXR/image/encode/segenc.c +1186 -0
  220. data/vendor/FreeImage/Source/LibJXR/image/encode/strFwdTransform.c +1111 -0
  221. data/vendor/FreeImage/Source/LibJXR/image/encode/strPredQuantEnc.c +511 -0
  222. data/vendor/FreeImage/Source/LibJXR/image/encode/strenc.c +2370 -0
  223. data/vendor/FreeImage/Source/LibJXR/image/encode/strenc_x86.c +409 -0
  224. data/vendor/FreeImage/Source/LibJXR/image/sys/adapthuff.c +511 -0
  225. data/vendor/FreeImage/Source/LibJXR/image/sys/ansi.h +61 -0
  226. data/vendor/FreeImage/Source/LibJXR/image/sys/common.h +131 -0
  227. data/vendor/FreeImage/Source/LibJXR/image/sys/image.c +183 -0
  228. data/vendor/FreeImage/Source/LibJXR/image/sys/perfTimer.h +115 -0
  229. data/vendor/FreeImage/Source/LibJXR/image/sys/perfTimerANSI.c +274 -0
  230. data/vendor/FreeImage/Source/LibJXR/image/sys/strPredQuant.c +306 -0
  231. data/vendor/FreeImage/Source/LibJXR/image/sys/strTransform.c +85 -0
  232. data/vendor/FreeImage/Source/LibJXR/image/sys/strTransform.h +50 -0
  233. data/vendor/FreeImage/Source/LibJXR/image/sys/strcodec.c +1251 -0
  234. data/vendor/FreeImage/Source/LibJXR/image/sys/strcodec.h +681 -0
  235. data/vendor/FreeImage/Source/LibJXR/image/sys/windowsmediaphoto.h +515 -0
  236. data/vendor/FreeImage/Source/LibJXR/image/sys/xplatform_image.h +84 -0
  237. data/vendor/FreeImage/Source/LibJXR/image/x86/x86.h +58 -0
  238. data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGlue.c +930 -0
  239. data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGlue.h +636 -0
  240. data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGlueJxr.c +2246 -0
  241. data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGluePFC.c +2338 -0
  242. data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRMeta.c +905 -0
  243. data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRMeta.h +258 -0
  244. data/vendor/FreeImage/Source/LibOpenJPEG/bio.c +188 -0
  245. data/vendor/FreeImage/Source/LibOpenJPEG/bio.h +128 -0
  246. data/vendor/FreeImage/Source/LibOpenJPEG/cidx_manager.c +239 -0
  247. data/vendor/FreeImage/Source/LibOpenJPEG/cidx_manager.h +68 -0
  248. data/vendor/FreeImage/Source/LibOpenJPEG/cio.c +644 -0
  249. data/vendor/FreeImage/Source/LibOpenJPEG/cio.h +393 -0
  250. data/vendor/FreeImage/Source/LibOpenJPEG/dwt.c +919 -0
  251. data/vendor/FreeImage/Source/LibOpenJPEG/dwt.h +116 -0
  252. data/vendor/FreeImage/Source/LibOpenJPEG/event.c +141 -0
  253. data/vendor/FreeImage/Source/LibOpenJPEG/event.h +97 -0
  254. data/vendor/FreeImage/Source/LibOpenJPEG/function_list.c +114 -0
  255. data/vendor/FreeImage/Source/LibOpenJPEG/function_list.h +126 -0
  256. data/vendor/FreeImage/Source/LibOpenJPEG/image.c +235 -0
  257. data/vendor/FreeImage/Source/LibOpenJPEG/image.h +63 -0
  258. data/vendor/FreeImage/Source/LibOpenJPEG/indexbox_manager.h +148 -0
  259. data/vendor/FreeImage/Source/LibOpenJPEG/invert.c +289 -0
  260. data/vendor/FreeImage/Source/LibOpenJPEG/invert.h +59 -0
  261. data/vendor/FreeImage/Source/LibOpenJPEG/j2k.c +10238 -0
  262. data/vendor/FreeImage/Source/LibOpenJPEG/j2k.h +838 -0
  263. data/vendor/FreeImage/Source/LibOpenJPEG/jp2.c +2776 -0
  264. data/vendor/FreeImage/Source/LibOpenJPEG/jp2.h +490 -0
  265. data/vendor/FreeImage/Source/LibOpenJPEG/mct.c +319 -0
  266. data/vendor/FreeImage/Source/LibOpenJPEG/mct.h +149 -0
  267. data/vendor/FreeImage/Source/LibOpenJPEG/mqc.c +604 -0
  268. data/vendor/FreeImage/Source/LibOpenJPEG/mqc.h +201 -0
  269. data/vendor/FreeImage/Source/LibOpenJPEG/openjpeg.c +955 -0
  270. data/vendor/FreeImage/Source/LibOpenJPEG/openjpeg.h +1475 -0
  271. data/vendor/FreeImage/Source/LibOpenJPEG/opj_clock.c +59 -0
  272. data/vendor/FreeImage/Source/LibOpenJPEG/opj_clock.h +54 -0
  273. data/vendor/FreeImage/Source/LibOpenJPEG/opj_codec.h +160 -0
  274. data/vendor/FreeImage/Source/LibOpenJPEG/opj_config.h +9 -0
  275. data/vendor/FreeImage/Source/LibOpenJPEG/opj_config_private.h +16 -0
  276. data/vendor/FreeImage/Source/LibOpenJPEG/opj_includes.h +175 -0
  277. data/vendor/FreeImage/Source/LibOpenJPEG/opj_intmath.h +172 -0
  278. data/vendor/FreeImage/Source/LibOpenJPEG/opj_inttypes.h +43 -0
  279. data/vendor/FreeImage/Source/LibOpenJPEG/opj_malloc.h +180 -0
  280. data/vendor/FreeImage/Source/LibOpenJPEG/opj_stdint.h +47 -0
  281. data/vendor/FreeImage/Source/LibOpenJPEG/phix_manager.c +191 -0
  282. data/vendor/FreeImage/Source/LibOpenJPEG/pi.c +1870 -0
  283. data/vendor/FreeImage/Source/LibOpenJPEG/pi.h +182 -0
  284. data/vendor/FreeImage/Source/LibOpenJPEG/ppix_manager.c +194 -0
  285. data/vendor/FreeImage/Source/LibOpenJPEG/raw.c +89 -0
  286. data/vendor/FreeImage/Source/LibOpenJPEG/raw.h +100 -0
  287. data/vendor/FreeImage/Source/LibOpenJPEG/t1.c +1751 -0
  288. data/vendor/FreeImage/Source/LibOpenJPEG/t1.h +157 -0
  289. data/vendor/FreeImage/Source/LibOpenJPEG/t1_generate_luts.c +276 -0
  290. data/vendor/FreeImage/Source/LibOpenJPEG/t1_luts.h +143 -0
  291. data/vendor/FreeImage/Source/LibOpenJPEG/t2.c +1334 -0
  292. data/vendor/FreeImage/Source/LibOpenJPEG/t2.h +127 -0
  293. data/vendor/FreeImage/Source/LibOpenJPEG/tcd.c +2123 -0
  294. data/vendor/FreeImage/Source/LibOpenJPEG/tcd.h +348 -0
  295. data/vendor/FreeImage/Source/LibOpenJPEG/tgt.c +331 -0
  296. data/vendor/FreeImage/Source/LibOpenJPEG/tgt.h +140 -0
  297. data/vendor/FreeImage/Source/LibOpenJPEG/thix_manager.c +134 -0
  298. data/vendor/FreeImage/Source/LibOpenJPEG/tpix_manager.c +185 -0
  299. data/vendor/FreeImage/Source/LibPNG/example.c +1061 -0
  300. data/vendor/FreeImage/Source/LibPNG/png.c +4493 -0
  301. data/vendor/FreeImage/Source/LibPNG/png.h +3282 -0
  302. data/vendor/FreeImage/Source/LibPNG/pngconf.h +644 -0
  303. data/vendor/FreeImage/Source/LibPNG/pngdebug.h +154 -0
  304. data/vendor/FreeImage/Source/LibPNG/pngerror.c +963 -0
  305. data/vendor/FreeImage/Source/LibPNG/pngget.c +1213 -0
  306. data/vendor/FreeImage/Source/LibPNG/pnginfo.h +260 -0
  307. data/vendor/FreeImage/Source/LibPNG/pnglibconf.h +218 -0
  308. data/vendor/FreeImage/Source/LibPNG/pngmem.c +281 -0
  309. data/vendor/FreeImage/Source/LibPNG/pngpread.c +1168 -0
  310. data/vendor/FreeImage/Source/LibPNG/pngpriv.h +1944 -0
  311. data/vendor/FreeImage/Source/LibPNG/pngread.c +4121 -0
  312. data/vendor/FreeImage/Source/LibPNG/pngrio.c +120 -0
  313. data/vendor/FreeImage/Source/LibPNG/pngrtran.c +4994 -0
  314. data/vendor/FreeImage/Source/LibPNG/pngrutil.c +4474 -0
  315. data/vendor/FreeImage/Source/LibPNG/pngset.c +1611 -0
  316. data/vendor/FreeImage/Source/LibPNG/pngstruct.h +489 -0
  317. data/vendor/FreeImage/Source/LibPNG/pngtest.c +2011 -0
  318. data/vendor/FreeImage/Source/LibPNG/pngtrans.c +849 -0
  319. data/vendor/FreeImage/Source/LibPNG/pngwio.c +168 -0
  320. data/vendor/FreeImage/Source/LibPNG/pngwrite.c +2455 -0
  321. data/vendor/FreeImage/Source/LibPNG/pngwtran.c +574 -0
  322. data/vendor/FreeImage/Source/LibPNG/pngwutil.c +3029 -0
  323. data/vendor/FreeImage/Source/LibRawLite/dcraw/dcraw.c +15462 -0
  324. data/vendor/FreeImage/Source/LibRawLite/internal/aahd_demosaic.cpp +706 -0
  325. data/vendor/FreeImage/Source/LibRawLite/internal/dcb_demosaicing.c +710 -0
  326. data/vendor/FreeImage/Source/LibRawLite/internal/dcraw_common.cpp +13593 -0
  327. data/vendor/FreeImage/Source/LibRawLite/internal/dcraw_fileio.cpp +240 -0
  328. data/vendor/FreeImage/Source/LibRawLite/internal/defines.h +167 -0
  329. data/vendor/FreeImage/Source/LibRawLite/internal/demosaic_packs.cpp +99 -0
  330. data/vendor/FreeImage/Source/LibRawLite/internal/dht_demosaic.cpp +873 -0
  331. data/vendor/FreeImage/Source/LibRawLite/internal/libraw_internal_funcs.h +282 -0
  332. data/vendor/FreeImage/Source/LibRawLite/internal/libraw_x3f.cpp +1919 -0
  333. data/vendor/FreeImage/Source/LibRawLite/internal/var_defines.h +216 -0
  334. data/vendor/FreeImage/Source/LibRawLite/internal/wf_filtering.cpp +1950 -0
  335. data/vendor/FreeImage/Source/LibRawLite/libraw/libraw.h +338 -0
  336. data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_alloc.h +99 -0
  337. data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_const.h +233 -0
  338. data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_datastream.h +238 -0
  339. data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_internal.h +225 -0
  340. data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_types.h +442 -0
  341. data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_version.h +62 -0
  342. data/vendor/FreeImage/Source/LibRawLite/src/libraw_c_api.cpp +230 -0
  343. data/vendor/FreeImage/Source/LibRawLite/src/libraw_cxx.cpp +4533 -0
  344. data/vendor/FreeImage/Source/LibRawLite/src/libraw_datastream.cpp +703 -0
  345. data/vendor/FreeImage/Source/LibTIFF4/mkg3states.c +451 -0
  346. data/vendor/FreeImage/Source/LibTIFF4/mkspans.c +82 -0
  347. data/vendor/FreeImage/Source/LibTIFF4/t4.h +292 -0
  348. data/vendor/FreeImage/Source/LibTIFF4/tif_aux.c +358 -0
  349. data/vendor/FreeImage/Source/LibTIFF4/tif_close.c +140 -0
  350. data/vendor/FreeImage/Source/LibTIFF4/tif_codec.c +166 -0
  351. data/vendor/FreeImage/Source/LibTIFF4/tif_color.c +287 -0
  352. data/vendor/FreeImage/Source/LibTIFF4/tif_compress.c +304 -0
  353. data/vendor/FreeImage/Source/LibTIFF4/tif_config.h +97 -0
  354. data/vendor/FreeImage/Source/LibTIFF4/tif_config.vc.h +74 -0
  355. data/vendor/FreeImage/Source/LibTIFF4/tif_config.wince.h +71 -0
  356. data/vendor/FreeImage/Source/LibTIFF4/tif_dir.c +1700 -0
  357. data/vendor/FreeImage/Source/LibTIFF4/tif_dir.h +308 -0
  358. data/vendor/FreeImage/Source/LibTIFF4/tif_dirinfo.c +959 -0
  359. data/vendor/FreeImage/Source/LibTIFF4/tif_dirread.c +5640 -0
  360. data/vendor/FreeImage/Source/LibTIFF4/tif_dirwrite.c +2910 -0
  361. data/vendor/FreeImage/Source/LibTIFF4/tif_dumpmode.c +143 -0
  362. data/vendor/FreeImage/Source/LibTIFF4/tif_error.c +80 -0
  363. data/vendor/FreeImage/Source/LibTIFF4/tif_extension.c +118 -0
  364. data/vendor/FreeImage/Source/LibTIFF4/tif_fax3.c +1595 -0
  365. data/vendor/FreeImage/Source/LibTIFF4/tif_fax3.h +538 -0
  366. data/vendor/FreeImage/Source/LibTIFF4/tif_fax3sm.c +1260 -0
  367. data/vendor/FreeImage/Source/LibTIFF4/tif_flush.c +118 -0
  368. data/vendor/FreeImage/Source/LibTIFF4/tif_getimage.c +2890 -0
  369. data/vendor/FreeImage/Source/LibTIFF4/tif_jbig.c +213 -0
  370. data/vendor/FreeImage/Source/LibTIFF4/tif_jpeg.c +2354 -0
  371. data/vendor/FreeImage/Source/LibTIFF4/tif_jpeg_12.c +65 -0
  372. data/vendor/FreeImage/Source/LibTIFF4/tif_luv.c +1683 -0
  373. data/vendor/FreeImage/Source/LibTIFF4/tif_lzma.c +495 -0
  374. data/vendor/FreeImage/Source/LibTIFF4/tif_lzw.c +1169 -0
  375. data/vendor/FreeImage/Source/LibTIFF4/tif_next.c +181 -0
  376. data/vendor/FreeImage/Source/LibTIFF4/tif_ojpeg.c +2501 -0
  377. data/vendor/FreeImage/Source/LibTIFF4/tif_open.c +725 -0
  378. data/vendor/FreeImage/Source/LibTIFF4/tif_packbits.c +300 -0
  379. data/vendor/FreeImage/Source/LibTIFF4/tif_pixarlog.c +1442 -0
  380. data/vendor/FreeImage/Source/LibTIFF4/tif_predict.c +764 -0
  381. data/vendor/FreeImage/Source/LibTIFF4/tif_predict.h +77 -0
  382. data/vendor/FreeImage/Source/LibTIFF4/tif_print.c +716 -0
  383. data/vendor/FreeImage/Source/LibTIFF4/tif_read.c +1086 -0
  384. data/vendor/FreeImage/Source/LibTIFF4/tif_strip.c +383 -0
  385. data/vendor/FreeImage/Source/LibTIFF4/tif_swab.c +310 -0
  386. data/vendor/FreeImage/Source/LibTIFF4/tif_thunder.c +207 -0
  387. data/vendor/FreeImage/Source/LibTIFF4/tif_tile.c +299 -0
  388. data/vendor/FreeImage/Source/LibTIFF4/tif_unix.c +325 -0
  389. data/vendor/FreeImage/Source/LibTIFF4/tif_version.c +40 -0
  390. data/vendor/FreeImage/Source/LibTIFF4/tif_vms.c +603 -0
  391. data/vendor/FreeImage/Source/LibTIFF4/tif_warning.c +81 -0
  392. data/vendor/FreeImage/Source/LibTIFF4/tif_win32.c +443 -0
  393. data/vendor/FreeImage/Source/LibTIFF4/tif_wince.c +293 -0
  394. data/vendor/FreeImage/Source/LibTIFF4/tif_write.c +771 -0
  395. data/vendor/FreeImage/Source/LibTIFF4/tif_zip.c +472 -0
  396. data/vendor/FreeImage/Source/LibTIFF4/tiff.h +681 -0
  397. data/vendor/FreeImage/Source/LibTIFF4/tiffconf.h +170 -0
  398. data/vendor/FreeImage/Source/LibTIFF4/tiffconf.vc.h +160 -0
  399. data/vendor/FreeImage/Source/LibTIFF4/tiffconf.wince.h +121 -0
  400. data/vendor/FreeImage/Source/LibTIFF4/tiffio.h +557 -0
  401. data/vendor/FreeImage/Source/LibTIFF4/tiffiop.h +367 -0
  402. data/vendor/FreeImage/Source/LibTIFF4/tiffvers.h +9 -0
  403. data/vendor/FreeImage/Source/LibTIFF4/uvcode.h +180 -0
  404. data/vendor/FreeImage/Source/LibWebP/src/dec/alphai.h +55 -0
  405. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.alpha.c +167 -0
  406. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.buffer.c +249 -0
  407. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.frame.c +827 -0
  408. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.idec.c +857 -0
  409. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.io.c +640 -0
  410. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.quant.c +110 -0
  411. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.tree.c +525 -0
  412. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.vp8.c +663 -0
  413. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.vp8l.c +1584 -0
  414. data/vendor/FreeImage/Source/LibWebP/src/dec/dec.webp.c +834 -0
  415. data/vendor/FreeImage/Source/LibWebP/src/dec/decode_vp8.h +185 -0
  416. data/vendor/FreeImage/Source/LibWebP/src/dec/vp8i.h +353 -0
  417. data/vendor/FreeImage/Source/LibWebP/src/dec/vp8li.h +136 -0
  418. data/vendor/FreeImage/Source/LibWebP/src/dec/webpi.h +120 -0
  419. data/vendor/FreeImage/Source/LibWebP/src/demux/demux.demux.c +957 -0
  420. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.alpha_processing.c +377 -0
  421. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.alpha_processing_mips_dsp_r2.c +139 -0
  422. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.alpha_processing_sse2.c +296 -0
  423. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.argb.c +68 -0
  424. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.argb_mips_dsp_r2.c +108 -0
  425. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.argb_sse2.c +62 -0
  426. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost.c +412 -0
  427. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost_mips32.c +154 -0
  428. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost_mips_dsp_r2.c +107 -0
  429. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost_sse2.c +121 -0
  430. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cpu.c +138 -0
  431. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec.c +760 -0
  432. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_clip_tables.c +366 -0
  433. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_mips32.c +585 -0
  434. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c +992 -0
  435. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_neon.c +1489 -0
  436. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_sse2.c +1284 -0
  437. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc.c +788 -0
  438. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_avx2.c +24 -0
  439. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_mips32.c +670 -0
  440. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c +1510 -0
  441. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_neon.c +932 -0
  442. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_sse2.c +940 -0
  443. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.filters.c +240 -0
  444. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c +404 -0
  445. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.filters_sse2.c +349 -0
  446. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.h +434 -0
  447. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless.c +1838 -0
  448. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_mips32.c +416 -0
  449. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c +921 -0
  450. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_neon.c +357 -0
  451. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_sse2.c +535 -0
  452. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.rescaler.c +115 -0
  453. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.rescaler_mips32.c +192 -0
  454. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.rescaler_mips_dsp_r2.c +210 -0
  455. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling.c +252 -0
  456. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c +280 -0
  457. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_neon.c +267 -0
  458. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_sse2.c +214 -0
  459. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv.c +166 -0
  460. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv_mips32.c +100 -0
  461. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c +131 -0
  462. data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv_sse2.c +322 -0
  463. data/vendor/FreeImage/Source/LibWebP/src/dsp/lossless.h +313 -0
  464. data/vendor/FreeImage/Source/LibWebP/src/dsp/mips_macro.h +200 -0
  465. data/vendor/FreeImage/Source/LibWebP/src/dsp/neon.h +82 -0
  466. data/vendor/FreeImage/Source/LibWebP/src/dsp/yuv.h +321 -0
  467. data/vendor/FreeImage/Source/LibWebP/src/dsp/yuv_tables_sse2.h +536 -0
  468. data/vendor/FreeImage/Source/LibWebP/src/enc/backward_references.h +202 -0
  469. data/vendor/FreeImage/Source/LibWebP/src/enc/cost.h +69 -0
  470. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.alpha.c +440 -0
  471. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.analysis.c +501 -0
  472. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.backward_references.c +1076 -0
  473. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.config.c +163 -0
  474. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.cost.c +355 -0
  475. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.filter.c +296 -0
  476. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.frame.c +850 -0
  477. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.histogram.c +897 -0
  478. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.iterator.c +456 -0
  479. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.near_lossless.c +160 -0
  480. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture.c +290 -0
  481. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_csp.c +1100 -0
  482. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_psnr.c +150 -0
  483. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_rescale.c +285 -0
  484. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_tools.c +206 -0
  485. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.quant.c +1191 -0
  486. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.syntax.c +383 -0
  487. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.token.c +285 -0
  488. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.tree.c +504 -0
  489. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.vp8l.c +1437 -0
  490. data/vendor/FreeImage/Source/LibWebP/src/enc/enc.webpenc.c +379 -0
  491. data/vendor/FreeImage/Source/LibWebP/src/enc/histogram.h +114 -0
  492. data/vendor/FreeImage/Source/LibWebP/src/enc/vp8enci.h +551 -0
  493. data/vendor/FreeImage/Source/LibWebP/src/enc/vp8li.h +78 -0
  494. data/vendor/FreeImage/Source/LibWebP/src/mux/mux.anim_encode.c +1241 -0
  495. data/vendor/FreeImage/Source/LibWebP/src/mux/mux.muxedit.c +696 -0
  496. data/vendor/FreeImage/Source/LibWebP/src/mux/mux.muxinternal.c +551 -0
  497. data/vendor/FreeImage/Source/LibWebP/src/mux/mux.muxread.c +544 -0
  498. data/vendor/FreeImage/Source/LibWebP/src/mux/muxi.h +232 -0
  499. data/vendor/FreeImage/Source/LibWebP/src/utils/bit_reader.h +168 -0
  500. data/vendor/FreeImage/Source/LibWebP/src/utils/bit_reader_inl.h +172 -0
  501. data/vendor/FreeImage/Source/LibWebP/src/utils/bit_writer.h +120 -0
  502. data/vendor/FreeImage/Source/LibWebP/src/utils/color_cache.h +74 -0
  503. data/vendor/FreeImage/Source/LibWebP/src/utils/endian_inl.h +100 -0
  504. data/vendor/FreeImage/Source/LibWebP/src/utils/filters.h +32 -0
  505. data/vendor/FreeImage/Source/LibWebP/src/utils/huffman.h +67 -0
  506. data/vendor/FreeImage/Source/LibWebP/src/utils/huffman_encode.h +60 -0
  507. data/vendor/FreeImage/Source/LibWebP/src/utils/quant_levels.h +36 -0
  508. data/vendor/FreeImage/Source/LibWebP/src/utils/quant_levels_dec.h +35 -0
  509. data/vendor/FreeImage/Source/LibWebP/src/utils/random.h +63 -0
  510. data/vendor/FreeImage/Source/LibWebP/src/utils/rescaler.h +78 -0
  511. data/vendor/FreeImage/Source/LibWebP/src/utils/thread.h +93 -0
  512. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.bit_reader.c +208 -0
  513. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.bit_writer.c +308 -0
  514. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.color_cache.c +49 -0
  515. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.filters.c +76 -0
  516. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.h +121 -0
  517. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.huffman.c +205 -0
  518. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.huffman_encode.c +417 -0
  519. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.quant_levels.c +140 -0
  520. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.quant_levels_dec.c +279 -0
  521. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.random.c +43 -0
  522. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.rescaler.c +82 -0
  523. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.thread.c +309 -0
  524. data/vendor/FreeImage/Source/LibWebP/src/utils/utils.utils.c +211 -0
  525. data/vendor/FreeImage/Source/LibWebP/src/webp/decode.h +493 -0
  526. data/vendor/FreeImage/Source/LibWebP/src/webp/demux.h +224 -0
  527. data/vendor/FreeImage/Source/LibWebP/src/webp/encode.h +515 -0
  528. data/vendor/FreeImage/Source/LibWebP/src/webp/format_constants.h +88 -0
  529. data/vendor/FreeImage/Source/LibWebP/src/webp/mux.h +507 -0
  530. data/vendor/FreeImage/Source/LibWebP/src/webp/mux_types.h +97 -0
  531. data/vendor/FreeImage/Source/LibWebP/src/webp/types.h +52 -0
  532. data/vendor/FreeImage/Source/MapIntrospector.h +212 -0
  533. data/vendor/FreeImage/Source/Metadata/Exif.cpp +1253 -0
  534. data/vendor/FreeImage/Source/Metadata/FIRational.cpp +176 -0
  535. data/vendor/FreeImage/Source/Metadata/FIRational.h +108 -0
  536. data/vendor/FreeImage/Source/Metadata/FreeImageTag.cpp +353 -0
  537. data/vendor/FreeImage/Source/Metadata/FreeImageTag.h +500 -0
  538. data/vendor/FreeImage/Source/Metadata/IPTC.cpp +342 -0
  539. data/vendor/FreeImage/Source/Metadata/TagConversion.cpp +1094 -0
  540. data/vendor/FreeImage/Source/Metadata/TagLib.cpp +1618 -0
  541. data/vendor/FreeImage/Source/Metadata/XTIFF.cpp +766 -0
  542. data/vendor/FreeImage/Source/OpenEXR/Half/eLut.cpp +114 -0
  543. data/vendor/FreeImage/Source/OpenEXR/Half/eLut.h +71 -0
  544. data/vendor/FreeImage/Source/OpenEXR/Half/half.cpp +310 -0
  545. data/vendor/FreeImage/Source/OpenEXR/Half/half.h +757 -0
  546. data/vendor/FreeImage/Source/OpenEXR/Half/halfExport.h +27 -0
  547. data/vendor/FreeImage/Source/OpenEXR/Half/halfFunction.h +179 -0
  548. data/vendor/FreeImage/Source/OpenEXR/Half/halfLimits.h +102 -0
  549. data/vendor/FreeImage/Source/OpenEXR/Half/toFloat.cpp +164 -0
  550. data/vendor/FreeImage/Source/OpenEXR/Half/toFloat.h +16391 -0
  551. data/vendor/FreeImage/Source/OpenEXR/Iex/Iex.h +60 -0
  552. data/vendor/FreeImage/Source/OpenEXR/Iex/IexBaseExc.cpp +156 -0
  553. data/vendor/FreeImage/Source/OpenEXR/Iex/IexBaseExc.h +264 -0
  554. data/vendor/FreeImage/Source/OpenEXR/Iex/IexErrnoExc.h +208 -0
  555. data/vendor/FreeImage/Source/OpenEXR/Iex/IexExport.h +51 -0
  556. data/vendor/FreeImage/Source/OpenEXR/Iex/IexForward.h +229 -0
  557. data/vendor/FreeImage/Source/OpenEXR/Iex/IexMacros.h +170 -0
  558. data/vendor/FreeImage/Source/OpenEXR/Iex/IexMathExc.h +57 -0
  559. data/vendor/FreeImage/Source/OpenEXR/Iex/IexNamespace.h +112 -0
  560. data/vendor/FreeImage/Source/OpenEXR/Iex/IexThrowErrnoExc.cpp +873 -0
  561. data/vendor/FreeImage/Source/OpenEXR/Iex/IexThrowErrnoExc.h +97 -0
  562. data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFloatExc.cpp +113 -0
  563. data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFloatExc.h +146 -0
  564. data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFpu.cpp +530 -0
  565. data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFpu.h +91 -0
  566. data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathIeeeExc.h +62 -0
  567. data/vendor/FreeImage/Source/OpenEXR/IlmBaseConfig.h +61 -0
  568. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAcesFile.cpp +633 -0
  569. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAcesFile.h +324 -0
  570. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfArray.h +285 -0
  571. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAttribute.cpp +158 -0
  572. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAttribute.h +407 -0
  573. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAutoArray.h +95 -0
  574. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfB44Compressor.cpp +1072 -0
  575. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfB44Compressor.h +118 -0
  576. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp +111 -0
  577. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfBoxAttribute.h +87 -0
  578. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp +1438 -0
  579. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCRgbaFile.h +555 -0
  580. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelList.cpp +322 -0
  581. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelList.h +436 -0
  582. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp +150 -0
  583. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelListAttribute.h +74 -0
  584. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h +163 -0
  585. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticities.cpp +151 -0
  586. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticities.h +131 -0
  587. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp +87 -0
  588. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h +73 -0
  589. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp +591 -0
  590. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h +142 -0
  591. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompression.h +84 -0
  592. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp +78 -0
  593. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressionAttribute.h +64 -0
  594. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressor.cpp +226 -0
  595. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressor.h +265 -0
  596. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfConvert.cpp +143 -0
  597. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfConvert.h +107 -0
  598. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp +110 -0
  599. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepCompositing.h +132 -0
  600. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp +230 -0
  601. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h +339 -0
  602. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepImageState.h +96 -0
  603. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp +78 -0
  604. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h +68 -0
  605. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp +2025 -0
  606. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h +276 -0
  607. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp +149 -0
  608. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h +181 -0
  609. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp +1552 -0
  610. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h +244 -0
  611. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp +107 -0
  612. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h +168 -0
  613. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp +1979 -0
  614. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h +437 -0
  615. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp +273 -0
  616. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h +362 -0
  617. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp +2055 -0
  618. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h +475 -0
  619. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp +250 -0
  620. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h +394 -0
  621. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp +57 -0
  622. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDoubleAttribute.h +59 -0
  623. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp +3424 -0
  624. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDwaCompressor.h +210 -0
  625. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h +2145 -0
  626. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmap.cpp +335 -0
  627. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmap.h +336 -0
  628. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp +76 -0
  629. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h +68 -0
  630. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfExport.h +46 -0
  631. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFastHuf.cpp +768 -0
  632. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFastHuf.h +148 -0
  633. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp +57 -0
  634. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatAttribute.h +58 -0
  635. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp +84 -0
  636. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h +76 -0
  637. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfForward.h +127 -0
  638. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp +228 -0
  639. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFrameBuffer.h +386 -0
  640. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp +76 -0
  641. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFramesPerSecond.h +94 -0
  642. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp +76 -0
  643. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericInputFile.h +58 -0
  644. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp +112 -0
  645. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericOutputFile.h +62 -0
  646. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHeader.cpp +1283 -0
  647. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHeader.h +699 -0
  648. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHuf.cpp +1114 -0
  649. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHuf.h +82 -0
  650. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIO.cpp +110 -0
  651. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIO.h +255 -0
  652. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputFile.cpp +895 -0
  653. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputFile.h +240 -0
  654. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPart.cpp +114 -0
  655. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPart.h +84 -0
  656. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPartData.cpp +51 -0
  657. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPartData.h +69 -0
  658. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputStreamMutex.h +68 -0
  659. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInt64.h +56 -0
  660. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIntAttribute.cpp +57 -0
  661. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIntAttribute.h +58 -0
  662. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCode.cpp +217 -0
  663. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCode.h +167 -0
  664. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp +99 -0
  665. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h +73 -0
  666. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLineOrder.h +69 -0
  667. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp +78 -0
  668. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h +72 -0
  669. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLut.cpp +178 -0
  670. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLut.h +188 -0
  671. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp +263 -0
  672. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMatrixAttribute.h +83 -0
  673. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMisc.cpp +1872 -0
  674. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMisc.h +466 -0
  675. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp +783 -0
  676. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h +128 -0
  677. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp +519 -0
  678. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h +118 -0
  679. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiView.cpp +435 -0
  680. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiView.h +187 -0
  681. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfName.h +150 -0
  682. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfNamespace.h +115 -0
  683. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp +126 -0
  684. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h +110 -0
  685. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h +646 -0
  686. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputFile.cpp +1378 -0
  687. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputFile.h +263 -0
  688. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPart.cpp +105 -0
  689. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPart.h +77 -0
  690. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPartData.cpp +52 -0
  691. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPartData.h +62 -0
  692. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h +70 -0
  693. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPartHelper.h +262 -0
  694. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPartType.cpp +63 -0
  695. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPartType.h +62 -0
  696. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPixelType.h +67 -0
  697. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPizCompressor.cpp +667 -0
  698. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPizCompressor.h +117 -0
  699. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImage.cpp +104 -0
  700. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImage.h +135 -0
  701. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp +103 -0
  702. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h +70 -0
  703. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp +553 -0
  704. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPxr24Compressor.h +109 -0
  705. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRational.cpp +127 -0
  706. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRational.h +98 -0
  707. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp +74 -0
  708. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRationalAttribute.h +69 -0
  709. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgba.h +109 -0
  710. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaFile.cpp +1405 -0
  711. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaFile.h +346 -0
  712. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaYca.cpp +497 -0
  713. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaYca.h +259 -0
  714. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRle.cpp +157 -0
  715. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRle.h +63 -0
  716. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRleCompressor.cpp +220 -0
  717. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRleCompressor.h +80 -0
  718. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp +1702 -0
  719. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfScanLineInputFile.h +210 -0
  720. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfSimd.h +59 -0
  721. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp +125 -0
  722. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStandardAttributes.h +382 -0
  723. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStdIO.cpp +242 -0
  724. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStdIO.h +160 -0
  725. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringAttribute.cpp +80 -0
  726. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringAttribute.h +71 -0
  727. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp +100 -0
  728. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h +74 -0
  729. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp +129 -0
  730. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfSystemSpecific.h +172 -0
  731. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTestFile.cpp +216 -0
  732. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTestFile.h +97 -0
  733. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfThreading.cpp +62 -0
  734. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfThreading.h +95 -0
  735. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileDescription.h +107 -0
  736. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp +86 -0
  737. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h +72 -0
  738. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileOffsets.cpp +552 -0
  739. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileOffsets.h +125 -0
  740. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp +1533 -0
  741. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputFile.h +401 -0
  742. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp +208 -0
  743. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputPart.h +100 -0
  744. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledMisc.cpp +389 -0
  745. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledMisc.h +106 -0
  746. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp +1841 -0
  747. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputFile.h +495 -0
  748. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp +228 -0
  749. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputPart.h +105 -0
  750. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp +1163 -0
  751. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h +482 -0
  752. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCode.cpp +431 -0
  753. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCode.h +242 -0
  754. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp +79 -0
  755. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h +74 -0
  756. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVecAttribute.cpp +217 -0
  757. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVecAttribute.h +100 -0
  758. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVersion.cpp +60 -0
  759. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVersion.h +136 -0
  760. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfWav.cpp +391 -0
  761. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfWav.h +78 -0
  762. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfXdr.h +927 -0
  763. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZip.cpp +196 -0
  764. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZip.h +78 -0
  765. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZipCompressor.cpp +127 -0
  766. data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZipCompressor.h +89 -0
  767. data/vendor/FreeImage/Source/OpenEXR/IlmImf/b44ExpLogTable.cpp +136 -0
  768. data/vendor/FreeImage/Source/OpenEXR/IlmImf/b44ExpLogTable.h +16396 -0
  769. data/vendor/FreeImage/Source/OpenEXR/IlmImf/dwaLookups.cpp +573 -0
  770. data/vendor/FreeImage/Source/OpenEXR/IlmImf/dwaLookups.h +98334 -0
  771. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThread.cpp +80 -0
  772. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThread.h +143 -0
  773. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadExport.h +46 -0
  774. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadForward.h +52 -0
  775. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutex.cpp +59 -0
  776. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutex.h +160 -0
  777. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutexPosix.cpp +85 -0
  778. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutexWin32.cpp +79 -0
  779. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadNamespace.h +114 -0
  780. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadPool.cpp +483 -0
  781. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadPool.h +160 -0
  782. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadPosix.cpp +98 -0
  783. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp +60 -0
  784. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphore.h +112 -0
  785. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphorePosix.cpp +106 -0
  786. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphorePosixCompat.cpp +155 -0
  787. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphoreWin32.cpp +153 -0
  788. data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadWin32.cpp +100 -0
  789. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathBox.cpp +37 -0
  790. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathBox.h +849 -0
  791. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathBoxAlgo.h +1016 -0
  792. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathColor.h +736 -0
  793. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathColorAlgo.cpp +178 -0
  794. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathColorAlgo.h +257 -0
  795. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathEuler.h +926 -0
  796. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathExc.h +73 -0
  797. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathExport.h +46 -0
  798. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathForward.h +72 -0
  799. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFrame.h +192 -0
  800. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFrustum.h +741 -0
  801. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFrustumTest.h +417 -0
  802. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFun.cpp +181 -0
  803. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFun.h +269 -0
  804. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathGL.h +166 -0
  805. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathGLU.h +54 -0
  806. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathHalfLimits.h +68 -0
  807. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathInt64.h +62 -0
  808. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathInterval.h +226 -0
  809. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathLimits.h +268 -0
  810. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathLine.h +185 -0
  811. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathLineAlgo.h +288 -0
  812. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMath.h +208 -0
  813. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMatrix.h +3441 -0
  814. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMatrixAlgo.cpp +1252 -0
  815. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMatrixAlgo.h +1425 -0
  816. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathNamespace.h +115 -0
  817. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathPlane.h +257 -0
  818. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathPlatform.h +112 -0
  819. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathQuat.h +964 -0
  820. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathRandom.cpp +194 -0
  821. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathRandom.h +401 -0
  822. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathRoots.h +219 -0
  823. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathShear.cpp +54 -0
  824. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathShear.h +656 -0
  825. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathSphere.h +177 -0
  826. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathVec.cpp +583 -0
  827. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathVec.h +2227 -0
  828. data/vendor/FreeImage/Source/OpenEXR/Imath/ImathVecAlgo.h +147 -0
  829. data/vendor/FreeImage/Source/OpenEXR/OpenEXRConfig.h +72 -0
  830. data/vendor/FreeImage/Source/Plugin.h +144 -0
  831. data/vendor/FreeImage/Source/Quantizers.h +354 -0
  832. data/vendor/FreeImage/Source/ToneMapping.h +44 -0
  833. data/vendor/FreeImage/Source/Utilities.h +516 -0
  834. data/vendor/FreeImage/Source/ZLib/adler32.c +179 -0
  835. data/vendor/FreeImage/Source/ZLib/compress.c +80 -0
  836. data/vendor/FreeImage/Source/ZLib/crc32.c +425 -0
  837. data/vendor/FreeImage/Source/ZLib/crc32.h +441 -0
  838. data/vendor/FreeImage/Source/ZLib/deflate.c +1967 -0
  839. data/vendor/FreeImage/Source/ZLib/deflate.h +346 -0
  840. data/vendor/FreeImage/Source/ZLib/gzclose.c +25 -0
  841. data/vendor/FreeImage/Source/ZLib/gzguts.h +209 -0
  842. data/vendor/FreeImage/Source/ZLib/gzlib.c +634 -0
  843. data/vendor/FreeImage/Source/ZLib/gzread.c +594 -0
  844. data/vendor/FreeImage/Source/ZLib/gzwrite.c +577 -0
  845. data/vendor/FreeImage/Source/ZLib/infback.c +640 -0
  846. data/vendor/FreeImage/Source/ZLib/inffast.c +340 -0
  847. data/vendor/FreeImage/Source/ZLib/inffast.h +11 -0
  848. data/vendor/FreeImage/Source/ZLib/inffixed.h +94 -0
  849. data/vendor/FreeImage/Source/ZLib/inflate.c +1512 -0
  850. data/vendor/FreeImage/Source/ZLib/inflate.h +122 -0
  851. data/vendor/FreeImage/Source/ZLib/inftrees.c +306 -0
  852. data/vendor/FreeImage/Source/ZLib/inftrees.h +62 -0
  853. data/vendor/FreeImage/Source/ZLib/trees.c +1226 -0
  854. data/vendor/FreeImage/Source/ZLib/trees.h +128 -0
  855. data/vendor/FreeImage/Source/ZLib/uncompr.c +59 -0
  856. data/vendor/FreeImage/Source/ZLib/zconf.h +511 -0
  857. data/vendor/FreeImage/Source/ZLib/zlib.h +1768 -0
  858. data/vendor/FreeImage/Source/ZLib/zutil.c +324 -0
  859. data/vendor/FreeImage/Source/ZLib/zutil.h +253 -0
  860. metadata +931 -0
@@ -0,0 +1,1213 @@
1
+
2
+ /* pngget.c - retrieval of values from info struct
3
+ *
4
+ * Last changed in libpng 1.6.15 [November 20, 2014]
5
+ * Copyright (c) 1998-2014 Glenn Randers-Pehrson
6
+ * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
7
+ * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
8
+ *
9
+ * This code is released under the libpng license.
10
+ * For conditions of distribution and use, see the disclaimer
11
+ * and license in png.h
12
+ *
13
+ */
14
+
15
+ #include "pngpriv.h"
16
+
17
+ #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
18
+
19
+ png_uint_32 PNGAPI
20
+ png_get_valid(png_const_structrp png_ptr, png_const_inforp info_ptr,
21
+ png_uint_32 flag)
22
+ {
23
+ if (png_ptr != NULL && info_ptr != NULL)
24
+ return(info_ptr->valid & flag);
25
+
26
+ return(0);
27
+ }
28
+
29
+ png_size_t PNGAPI
30
+ png_get_rowbytes(png_const_structrp png_ptr, png_const_inforp info_ptr)
31
+ {
32
+ if (png_ptr != NULL && info_ptr != NULL)
33
+ return(info_ptr->rowbytes);
34
+
35
+ return(0);
36
+ }
37
+
38
+ #ifdef PNG_INFO_IMAGE_SUPPORTED
39
+ png_bytepp PNGAPI
40
+ png_get_rows(png_const_structrp png_ptr, png_const_inforp info_ptr)
41
+ {
42
+ if (png_ptr != NULL && info_ptr != NULL)
43
+ return(info_ptr->row_pointers);
44
+
45
+ return(0);
46
+ }
47
+ #endif
48
+
49
+ #ifdef PNG_EASY_ACCESS_SUPPORTED
50
+ /* Easy access to info, added in libpng-0.99 */
51
+ png_uint_32 PNGAPI
52
+ png_get_image_width(png_const_structrp png_ptr, png_const_inforp info_ptr)
53
+ {
54
+ if (png_ptr != NULL && info_ptr != NULL)
55
+ return info_ptr->width;
56
+
57
+ return (0);
58
+ }
59
+
60
+ png_uint_32 PNGAPI
61
+ png_get_image_height(png_const_structrp png_ptr, png_const_inforp info_ptr)
62
+ {
63
+ if (png_ptr != NULL && info_ptr != NULL)
64
+ return info_ptr->height;
65
+
66
+ return (0);
67
+ }
68
+
69
+ png_byte PNGAPI
70
+ png_get_bit_depth(png_const_structrp png_ptr, png_const_inforp info_ptr)
71
+ {
72
+ if (png_ptr != NULL && info_ptr != NULL)
73
+ return info_ptr->bit_depth;
74
+
75
+ return (0);
76
+ }
77
+
78
+ png_byte PNGAPI
79
+ png_get_color_type(png_const_structrp png_ptr, png_const_inforp info_ptr)
80
+ {
81
+ if (png_ptr != NULL && info_ptr != NULL)
82
+ return info_ptr->color_type;
83
+
84
+ return (0);
85
+ }
86
+
87
+ png_byte PNGAPI
88
+ png_get_filter_type(png_const_structrp png_ptr, png_const_inforp info_ptr)
89
+ {
90
+ if (png_ptr != NULL && info_ptr != NULL)
91
+ return info_ptr->filter_type;
92
+
93
+ return (0);
94
+ }
95
+
96
+ png_byte PNGAPI
97
+ png_get_interlace_type(png_const_structrp png_ptr, png_const_inforp info_ptr)
98
+ {
99
+ if (png_ptr != NULL && info_ptr != NULL)
100
+ return info_ptr->interlace_type;
101
+
102
+ return (0);
103
+ }
104
+
105
+ png_byte PNGAPI
106
+ png_get_compression_type(png_const_structrp png_ptr, png_const_inforp info_ptr)
107
+ {
108
+ if (png_ptr != NULL && info_ptr != NULL)
109
+ return info_ptr->compression_type;
110
+
111
+ return (0);
112
+ }
113
+
114
+ png_uint_32 PNGAPI
115
+ png_get_x_pixels_per_meter(png_const_structrp png_ptr, png_const_inforp
116
+ info_ptr)
117
+ {
118
+ #ifdef PNG_pHYs_SUPPORTED
119
+ if (png_ptr != NULL && info_ptr != NULL &&
120
+ (info_ptr->valid & PNG_INFO_pHYs) != 0)
121
+ {
122
+ png_debug1(1, "in %s retrieval function",
123
+ "png_get_x_pixels_per_meter");
124
+
125
+ if (info_ptr->phys_unit_type == PNG_RESOLUTION_METER)
126
+ return (info_ptr->x_pixels_per_unit);
127
+ }
128
+ #else
129
+ PNG_UNUSED(png_ptr)
130
+ PNG_UNUSED(info_ptr)
131
+ #endif
132
+
133
+ return (0);
134
+ }
135
+
136
+ png_uint_32 PNGAPI
137
+ png_get_y_pixels_per_meter(png_const_structrp png_ptr, png_const_inforp
138
+ info_ptr)
139
+ {
140
+ #ifdef PNG_pHYs_SUPPORTED
141
+ if (png_ptr != NULL && info_ptr != NULL &&
142
+ (info_ptr->valid & PNG_INFO_pHYs) != 0)
143
+ {
144
+ png_debug1(1, "in %s retrieval function",
145
+ "png_get_y_pixels_per_meter");
146
+
147
+ if (info_ptr->phys_unit_type == PNG_RESOLUTION_METER)
148
+ return (info_ptr->y_pixels_per_unit);
149
+ }
150
+ #else
151
+ PNG_UNUSED(png_ptr)
152
+ PNG_UNUSED(info_ptr)
153
+ #endif
154
+
155
+ return (0);
156
+ }
157
+
158
+ png_uint_32 PNGAPI
159
+ png_get_pixels_per_meter(png_const_structrp png_ptr, png_const_inforp info_ptr)
160
+ {
161
+ #ifdef PNG_pHYs_SUPPORTED
162
+ if (png_ptr != NULL && info_ptr != NULL &&
163
+ (info_ptr->valid & PNG_INFO_pHYs) != 0)
164
+ {
165
+ png_debug1(1, "in %s retrieval function", "png_get_pixels_per_meter");
166
+
167
+ if (info_ptr->phys_unit_type == PNG_RESOLUTION_METER &&
168
+ info_ptr->x_pixels_per_unit == info_ptr->y_pixels_per_unit)
169
+ return (info_ptr->x_pixels_per_unit);
170
+ }
171
+ #else
172
+ PNG_UNUSED(png_ptr)
173
+ PNG_UNUSED(info_ptr)
174
+ #endif
175
+
176
+ return (0);
177
+ }
178
+
179
+ #ifdef PNG_FLOATING_POINT_SUPPORTED
180
+ float PNGAPI
181
+ png_get_pixel_aspect_ratio(png_const_structrp png_ptr, png_const_inforp
182
+ info_ptr)
183
+ {
184
+ #ifdef PNG_READ_pHYs_SUPPORTED
185
+ if (png_ptr != NULL && info_ptr != NULL &&
186
+ (info_ptr->valid & PNG_INFO_pHYs) != 0)
187
+ {
188
+ png_debug1(1, "in %s retrieval function", "png_get_aspect_ratio");
189
+
190
+ if (info_ptr->x_pixels_per_unit != 0)
191
+ return ((float)((float)info_ptr->y_pixels_per_unit
192
+ /(float)info_ptr->x_pixels_per_unit));
193
+ }
194
+ #else
195
+ PNG_UNUSED(png_ptr)
196
+ PNG_UNUSED(info_ptr)
197
+ #endif
198
+
199
+ return ((float)0.0);
200
+ }
201
+ #endif
202
+
203
+ #ifdef PNG_FIXED_POINT_SUPPORTED
204
+ png_fixed_point PNGAPI
205
+ png_get_pixel_aspect_ratio_fixed(png_const_structrp png_ptr,
206
+ png_const_inforp info_ptr)
207
+ {
208
+ #ifdef PNG_READ_pHYs_SUPPORTED
209
+ if (png_ptr != NULL && info_ptr != NULL &&
210
+ (info_ptr->valid & PNG_INFO_pHYs) != 0 &&
211
+ info_ptr->x_pixels_per_unit > 0 && info_ptr->y_pixels_per_unit > 0 &&
212
+ info_ptr->x_pixels_per_unit <= PNG_UINT_31_MAX &&
213
+ info_ptr->y_pixels_per_unit <= PNG_UINT_31_MAX)
214
+ {
215
+ png_fixed_point res;
216
+
217
+ png_debug1(1, "in %s retrieval function", "png_get_aspect_ratio_fixed");
218
+
219
+ /* The following casts work because a PNG 4 byte integer only has a valid
220
+ * range of 0..2^31-1; otherwise the cast might overflow.
221
+ */
222
+ if (png_muldiv(&res, (png_int_32)info_ptr->y_pixels_per_unit, PNG_FP_1,
223
+ (png_int_32)info_ptr->x_pixels_per_unit) != 0)
224
+ return res;
225
+ }
226
+ #else
227
+ PNG_UNUSED(png_ptr)
228
+ PNG_UNUSED(info_ptr)
229
+ #endif
230
+
231
+ return 0;
232
+ }
233
+ #endif
234
+
235
+ png_int_32 PNGAPI
236
+ png_get_x_offset_microns(png_const_structrp png_ptr, png_const_inforp info_ptr)
237
+ {
238
+ #ifdef PNG_oFFs_SUPPORTED
239
+ if (png_ptr != NULL && info_ptr != NULL &&
240
+ (info_ptr->valid & PNG_INFO_oFFs) != 0)
241
+ {
242
+ png_debug1(1, "in %s retrieval function", "png_get_x_offset_microns");
243
+
244
+ if (info_ptr->offset_unit_type == PNG_OFFSET_MICROMETER)
245
+ return (info_ptr->x_offset);
246
+ }
247
+ #else
248
+ PNG_UNUSED(png_ptr)
249
+ PNG_UNUSED(info_ptr)
250
+ #endif
251
+
252
+ return (0);
253
+ }
254
+
255
+ png_int_32 PNGAPI
256
+ png_get_y_offset_microns(png_const_structrp png_ptr, png_const_inforp info_ptr)
257
+ {
258
+ #ifdef PNG_oFFs_SUPPORTED
259
+ if (png_ptr != NULL && info_ptr != NULL &&
260
+ (info_ptr->valid & PNG_INFO_oFFs) != 0)
261
+ {
262
+ png_debug1(1, "in %s retrieval function", "png_get_y_offset_microns");
263
+
264
+ if (info_ptr->offset_unit_type == PNG_OFFSET_MICROMETER)
265
+ return (info_ptr->y_offset);
266
+ }
267
+ #else
268
+ PNG_UNUSED(png_ptr)
269
+ PNG_UNUSED(info_ptr)
270
+ #endif
271
+
272
+ return (0);
273
+ }
274
+
275
+ png_int_32 PNGAPI
276
+ png_get_x_offset_pixels(png_const_structrp png_ptr, png_const_inforp info_ptr)
277
+ {
278
+ #ifdef PNG_oFFs_SUPPORTED
279
+ if (png_ptr != NULL && info_ptr != NULL &&
280
+ (info_ptr->valid & PNG_INFO_oFFs) != 0)
281
+ {
282
+ png_debug1(1, "in %s retrieval function", "png_get_x_offset_pixels");
283
+
284
+ if (info_ptr->offset_unit_type == PNG_OFFSET_PIXEL)
285
+ return (info_ptr->x_offset);
286
+ }
287
+ #else
288
+ PNG_UNUSED(png_ptr)
289
+ PNG_UNUSED(info_ptr)
290
+ #endif
291
+
292
+ return (0);
293
+ }
294
+
295
+ png_int_32 PNGAPI
296
+ png_get_y_offset_pixels(png_const_structrp png_ptr, png_const_inforp info_ptr)
297
+ {
298
+ #ifdef PNG_oFFs_SUPPORTED
299
+ if (png_ptr != NULL && info_ptr != NULL &&
300
+ (info_ptr->valid & PNG_INFO_oFFs) != 0)
301
+ {
302
+ png_debug1(1, "in %s retrieval function", "png_get_y_offset_pixels");
303
+
304
+ if (info_ptr->offset_unit_type == PNG_OFFSET_PIXEL)
305
+ return (info_ptr->y_offset);
306
+ }
307
+ #else
308
+ PNG_UNUSED(png_ptr)
309
+ PNG_UNUSED(info_ptr)
310
+ #endif
311
+
312
+ return (0);
313
+ }
314
+
315
+ #ifdef PNG_INCH_CONVERSIONS_SUPPORTED
316
+ static png_uint_32
317
+ ppi_from_ppm(png_uint_32 ppm)
318
+ {
319
+ #if 0
320
+ /* The conversion is *(2.54/100), in binary (32 digits):
321
+ * .00000110100000001001110101001001
322
+ */
323
+ png_uint_32 t1001, t1101;
324
+ ppm >>= 1; /* .1 */
325
+ t1001 = ppm + (ppm >> 3); /* .1001 */
326
+ t1101 = t1001 + (ppm >> 1); /* .1101 */
327
+ ppm >>= 20; /* .000000000000000000001 */
328
+ t1101 += t1101 >> 15; /* .1101000000000001101 */
329
+ t1001 >>= 11; /* .000000000001001 */
330
+ t1001 += t1001 >> 12; /* .000000000001001000000001001 */
331
+ ppm += t1001; /* .000000000001001000001001001 */
332
+ ppm += t1101; /* .110100000001001110101001001 */
333
+ return (ppm + 16) >> 5;/* .00000110100000001001110101001001 */
334
+ #else
335
+ /* The argument is a PNG unsigned integer, so it is not permitted
336
+ * to be bigger than 2^31.
337
+ */
338
+ png_fixed_point result;
339
+ if (ppm <= PNG_UINT_31_MAX && png_muldiv(&result, (png_int_32)ppm, 127,
340
+ 5000) != 0)
341
+ return result;
342
+
343
+ /* Overflow. */
344
+ return 0;
345
+ #endif
346
+ }
347
+
348
+ png_uint_32 PNGAPI
349
+ png_get_pixels_per_inch(png_const_structrp png_ptr, png_const_inforp info_ptr)
350
+ {
351
+ return ppi_from_ppm(png_get_pixels_per_meter(png_ptr, info_ptr));
352
+ }
353
+
354
+ png_uint_32 PNGAPI
355
+ png_get_x_pixels_per_inch(png_const_structrp png_ptr, png_const_inforp info_ptr)
356
+ {
357
+ return ppi_from_ppm(png_get_x_pixels_per_meter(png_ptr, info_ptr));
358
+ }
359
+
360
+ png_uint_32 PNGAPI
361
+ png_get_y_pixels_per_inch(png_const_structrp png_ptr, png_const_inforp info_ptr)
362
+ {
363
+ return ppi_from_ppm(png_get_y_pixels_per_meter(png_ptr, info_ptr));
364
+ }
365
+
366
+ #ifdef PNG_FIXED_POINT_SUPPORTED
367
+ static png_fixed_point
368
+ png_fixed_inches_from_microns(png_const_structrp png_ptr, png_int_32 microns)
369
+ {
370
+ /* Convert from metres * 1,000,000 to inches * 100,000, meters to
371
+ * inches is simply *(100/2.54), so we want *(10/2.54) == 500/127.
372
+ * Notice that this can overflow - a warning is output and 0 is
373
+ * returned.
374
+ */
375
+ return png_muldiv_warn(png_ptr, microns, 500, 127);
376
+ }
377
+
378
+ png_fixed_point PNGAPI
379
+ png_get_x_offset_inches_fixed(png_const_structrp png_ptr,
380
+ png_const_inforp info_ptr)
381
+ {
382
+ return png_fixed_inches_from_microns(png_ptr,
383
+ png_get_x_offset_microns(png_ptr, info_ptr));
384
+ }
385
+ #endif
386
+
387
+ #ifdef PNG_FIXED_POINT_SUPPORTED
388
+ png_fixed_point PNGAPI
389
+ png_get_y_offset_inches_fixed(png_const_structrp png_ptr,
390
+ png_const_inforp info_ptr)
391
+ {
392
+ return png_fixed_inches_from_microns(png_ptr,
393
+ png_get_y_offset_microns(png_ptr, info_ptr));
394
+ }
395
+ #endif
396
+
397
+ #ifdef PNG_FLOATING_POINT_SUPPORTED
398
+ float PNGAPI
399
+ png_get_x_offset_inches(png_const_structrp png_ptr, png_const_inforp info_ptr)
400
+ {
401
+ /* To avoid the overflow do the conversion directly in floating
402
+ * point.
403
+ */
404
+ return (float)(png_get_x_offset_microns(png_ptr, info_ptr) * .00003937);
405
+ }
406
+ #endif
407
+
408
+ #ifdef PNG_FLOATING_POINT_SUPPORTED
409
+ float PNGAPI
410
+ png_get_y_offset_inches(png_const_structrp png_ptr, png_const_inforp info_ptr)
411
+ {
412
+ /* To avoid the overflow do the conversion directly in floating
413
+ * point.
414
+ */
415
+ return (float)(png_get_y_offset_microns(png_ptr, info_ptr) * .00003937);
416
+ }
417
+ #endif
418
+
419
+ #ifdef PNG_pHYs_SUPPORTED
420
+ png_uint_32 PNGAPI
421
+ png_get_pHYs_dpi(png_const_structrp png_ptr, png_const_inforp info_ptr,
422
+ png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
423
+ {
424
+ png_uint_32 retval = 0;
425
+
426
+ if (png_ptr != NULL && info_ptr != NULL &&
427
+ (info_ptr->valid & PNG_INFO_pHYs) != 0)
428
+ {
429
+ png_debug1(1, "in %s retrieval function", "pHYs");
430
+
431
+ if (res_x != NULL)
432
+ {
433
+ *res_x = info_ptr->x_pixels_per_unit;
434
+ retval |= PNG_INFO_pHYs;
435
+ }
436
+
437
+ if (res_y != NULL)
438
+ {
439
+ *res_y = info_ptr->y_pixels_per_unit;
440
+ retval |= PNG_INFO_pHYs;
441
+ }
442
+
443
+ if (unit_type != NULL)
444
+ {
445
+ *unit_type = (int)info_ptr->phys_unit_type;
446
+ retval |= PNG_INFO_pHYs;
447
+
448
+ if (*unit_type == 1)
449
+ {
450
+ if (res_x != NULL) *res_x = (png_uint_32)(*res_x * .0254 + .50);
451
+ if (res_y != NULL) *res_y = (png_uint_32)(*res_y * .0254 + .50);
452
+ }
453
+ }
454
+ }
455
+
456
+ return (retval);
457
+ }
458
+ #endif /* pHYs */
459
+ #endif /* INCH_CONVERSIONS */
460
+
461
+ /* png_get_channels really belongs in here, too, but it's been around longer */
462
+
463
+ #endif /* EASY_ACCESS */
464
+
465
+
466
+ png_byte PNGAPI
467
+ png_get_channels(png_const_structrp png_ptr, png_const_inforp info_ptr)
468
+ {
469
+ if (png_ptr != NULL && info_ptr != NULL)
470
+ return(info_ptr->channels);
471
+
472
+ return (0);
473
+ }
474
+
475
+ #ifdef PNG_READ_SUPPORTED
476
+ png_const_bytep PNGAPI
477
+ png_get_signature(png_const_structrp png_ptr, png_const_inforp info_ptr)
478
+ {
479
+ if (png_ptr != NULL && info_ptr != NULL)
480
+ return(info_ptr->signature);
481
+
482
+ return (NULL);
483
+ }
484
+ #endif
485
+
486
+ #ifdef PNG_bKGD_SUPPORTED
487
+ png_uint_32 PNGAPI
488
+ png_get_bKGD(png_const_structrp png_ptr, png_inforp info_ptr,
489
+ png_color_16p *background)
490
+ {
491
+ if (png_ptr != NULL && info_ptr != NULL &&
492
+ (info_ptr->valid & PNG_INFO_bKGD) != 0 &&
493
+ background != NULL)
494
+ {
495
+ png_debug1(1, "in %s retrieval function", "bKGD");
496
+
497
+ *background = &(info_ptr->background);
498
+ return (PNG_INFO_bKGD);
499
+ }
500
+
501
+ return (0);
502
+ }
503
+ #endif
504
+
505
+ #ifdef PNG_cHRM_SUPPORTED
506
+ /* The XYZ APIs were added in 1.5.5 to take advantage of the code added at the
507
+ * same time to correct the rgb grayscale coefficient defaults obtained from the
508
+ * cHRM chunk in 1.5.4
509
+ */
510
+ # ifdef PNG_FLOATING_POINT_SUPPORTED
511
+ png_uint_32 PNGAPI
512
+ png_get_cHRM(png_const_structrp png_ptr, png_const_inforp info_ptr,
513
+ double *white_x, double *white_y, double *red_x, double *red_y,
514
+ double *green_x, double *green_y, double *blue_x, double *blue_y)
515
+ {
516
+ /* Quiet API change: this code used to only return the end points if a cHRM
517
+ * chunk was present, but the end points can also come from iCCP or sRGB
518
+ * chunks, so in 1.6.0 the png_get_ APIs return the end points regardless and
519
+ * the png_set_ APIs merely check that set end points are mutually
520
+ * consistent.
521
+ */
522
+ if (png_ptr != NULL && info_ptr != NULL &&
523
+ (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
524
+ {
525
+ png_debug1(1, "in %s retrieval function", "cHRM");
526
+
527
+ if (white_x != NULL)
528
+ *white_x = png_float(png_ptr,
529
+ info_ptr->colorspace.end_points_xy.whitex, "cHRM white X");
530
+ if (white_y != NULL)
531
+ *white_y = png_float(png_ptr,
532
+ info_ptr->colorspace.end_points_xy.whitey, "cHRM white Y");
533
+ if (red_x != NULL)
534
+ *red_x = png_float(png_ptr, info_ptr->colorspace.end_points_xy.redx,
535
+ "cHRM red X");
536
+ if (red_y != NULL)
537
+ *red_y = png_float(png_ptr, info_ptr->colorspace.end_points_xy.redy,
538
+ "cHRM red Y");
539
+ if (green_x != NULL)
540
+ *green_x = png_float(png_ptr,
541
+ info_ptr->colorspace.end_points_xy.greenx, "cHRM green X");
542
+ if (green_y != NULL)
543
+ *green_y = png_float(png_ptr,
544
+ info_ptr->colorspace.end_points_xy.greeny, "cHRM green Y");
545
+ if (blue_x != NULL)
546
+ *blue_x = png_float(png_ptr, info_ptr->colorspace.end_points_xy.bluex,
547
+ "cHRM blue X");
548
+ if (blue_y != NULL)
549
+ *blue_y = png_float(png_ptr, info_ptr->colorspace.end_points_xy.bluey,
550
+ "cHRM blue Y");
551
+ return (PNG_INFO_cHRM);
552
+ }
553
+
554
+ return (0);
555
+ }
556
+
557
+ png_uint_32 PNGAPI
558
+ png_get_cHRM_XYZ(png_const_structrp png_ptr, png_const_inforp info_ptr,
559
+ double *red_X, double *red_Y, double *red_Z, double *green_X,
560
+ double *green_Y, double *green_Z, double *blue_X, double *blue_Y,
561
+ double *blue_Z)
562
+ {
563
+ if (png_ptr != NULL && info_ptr != NULL &&
564
+ (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
565
+ {
566
+ png_debug1(1, "in %s retrieval function", "cHRM_XYZ(float)");
567
+
568
+ if (red_X != NULL)
569
+ *red_X = png_float(png_ptr, info_ptr->colorspace.end_points_XYZ.red_X,
570
+ "cHRM red X");
571
+ if (red_Y != NULL)
572
+ *red_Y = png_float(png_ptr, info_ptr->colorspace.end_points_XYZ.red_Y,
573
+ "cHRM red Y");
574
+ if (red_Z != NULL)
575
+ *red_Z = png_float(png_ptr, info_ptr->colorspace.end_points_XYZ.red_Z,
576
+ "cHRM red Z");
577
+ if (green_X != NULL)
578
+ *green_X = png_float(png_ptr,
579
+ info_ptr->colorspace.end_points_XYZ.green_X, "cHRM green X");
580
+ if (green_Y != NULL)
581
+ *green_Y = png_float(png_ptr,
582
+ info_ptr->colorspace.end_points_XYZ.green_Y, "cHRM green Y");
583
+ if (green_Z != NULL)
584
+ *green_Z = png_float(png_ptr,
585
+ info_ptr->colorspace.end_points_XYZ.green_Z, "cHRM green Z");
586
+ if (blue_X != NULL)
587
+ *blue_X = png_float(png_ptr,
588
+ info_ptr->colorspace.end_points_XYZ.blue_X, "cHRM blue X");
589
+ if (blue_Y != NULL)
590
+ *blue_Y = png_float(png_ptr,
591
+ info_ptr->colorspace.end_points_XYZ.blue_Y, "cHRM blue Y");
592
+ if (blue_Z != NULL)
593
+ *blue_Z = png_float(png_ptr,
594
+ info_ptr->colorspace.end_points_XYZ.blue_Z, "cHRM blue Z");
595
+ return (PNG_INFO_cHRM);
596
+ }
597
+
598
+ return (0);
599
+ }
600
+ # endif
601
+
602
+ # ifdef PNG_FIXED_POINT_SUPPORTED
603
+ png_uint_32 PNGAPI
604
+ png_get_cHRM_XYZ_fixed(png_const_structrp png_ptr, png_const_inforp info_ptr,
605
+ png_fixed_point *int_red_X, png_fixed_point *int_red_Y,
606
+ png_fixed_point *int_red_Z, png_fixed_point *int_green_X,
607
+ png_fixed_point *int_green_Y, png_fixed_point *int_green_Z,
608
+ png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y,
609
+ png_fixed_point *int_blue_Z)
610
+ {
611
+ if (png_ptr != NULL && info_ptr != NULL &&
612
+ (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
613
+ {
614
+ png_debug1(1, "in %s retrieval function", "cHRM_XYZ");
615
+
616
+ if (int_red_X != NULL)
617
+ *int_red_X = info_ptr->colorspace.end_points_XYZ.red_X;
618
+ if (int_red_Y != NULL)
619
+ *int_red_Y = info_ptr->colorspace.end_points_XYZ.red_Y;
620
+ if (int_red_Z != NULL)
621
+ *int_red_Z = info_ptr->colorspace.end_points_XYZ.red_Z;
622
+ if (int_green_X != NULL)
623
+ *int_green_X = info_ptr->colorspace.end_points_XYZ.green_X;
624
+ if (int_green_Y != NULL)
625
+ *int_green_Y = info_ptr->colorspace.end_points_XYZ.green_Y;
626
+ if (int_green_Z != NULL)
627
+ *int_green_Z = info_ptr->colorspace.end_points_XYZ.green_Z;
628
+ if (int_blue_X != NULL)
629
+ *int_blue_X = info_ptr->colorspace.end_points_XYZ.blue_X;
630
+ if (int_blue_Y != NULL)
631
+ *int_blue_Y = info_ptr->colorspace.end_points_XYZ.blue_Y;
632
+ if (int_blue_Z != NULL)
633
+ *int_blue_Z = info_ptr->colorspace.end_points_XYZ.blue_Z;
634
+ return (PNG_INFO_cHRM);
635
+ }
636
+
637
+ return (0);
638
+ }
639
+
640
+ png_uint_32 PNGAPI
641
+ png_get_cHRM_fixed(png_const_structrp png_ptr, png_const_inforp info_ptr,
642
+ png_fixed_point *white_x, png_fixed_point *white_y, png_fixed_point *red_x,
643
+ png_fixed_point *red_y, png_fixed_point *green_x, png_fixed_point *green_y,
644
+ png_fixed_point *blue_x, png_fixed_point *blue_y)
645
+ {
646
+ png_debug1(1, "in %s retrieval function", "cHRM");
647
+
648
+ if (png_ptr != NULL && info_ptr != NULL &&
649
+ (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_ENDPOINTS) != 0)
650
+ {
651
+ if (white_x != NULL)
652
+ *white_x = info_ptr->colorspace.end_points_xy.whitex;
653
+ if (white_y != NULL)
654
+ *white_y = info_ptr->colorspace.end_points_xy.whitey;
655
+ if (red_x != NULL)
656
+ *red_x = info_ptr->colorspace.end_points_xy.redx;
657
+ if (red_y != NULL)
658
+ *red_y = info_ptr->colorspace.end_points_xy.redy;
659
+ if (green_x != NULL)
660
+ *green_x = info_ptr->colorspace.end_points_xy.greenx;
661
+ if (green_y != NULL)
662
+ *green_y = info_ptr->colorspace.end_points_xy.greeny;
663
+ if (blue_x != NULL)
664
+ *blue_x = info_ptr->colorspace.end_points_xy.bluex;
665
+ if (blue_y != NULL)
666
+ *blue_y = info_ptr->colorspace.end_points_xy.bluey;
667
+ return (PNG_INFO_cHRM);
668
+ }
669
+
670
+ return (0);
671
+ }
672
+ # endif
673
+ #endif
674
+
675
+ #ifdef PNG_gAMA_SUPPORTED
676
+ # ifdef PNG_FIXED_POINT_SUPPORTED
677
+ png_uint_32 PNGAPI
678
+ png_get_gAMA_fixed(png_const_structrp png_ptr, png_const_inforp info_ptr,
679
+ png_fixed_point *file_gamma)
680
+ {
681
+ png_debug1(1, "in %s retrieval function", "gAMA");
682
+
683
+ if (png_ptr != NULL && info_ptr != NULL &&
684
+ (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_GAMMA) != 0 &&
685
+ file_gamma != NULL)
686
+ {
687
+ *file_gamma = info_ptr->colorspace.gamma;
688
+ return (PNG_INFO_gAMA);
689
+ }
690
+
691
+ return (0);
692
+ }
693
+ # endif
694
+
695
+ # ifdef PNG_FLOATING_POINT_SUPPORTED
696
+ png_uint_32 PNGAPI
697
+ png_get_gAMA(png_const_structrp png_ptr, png_const_inforp info_ptr,
698
+ double *file_gamma)
699
+ {
700
+ png_debug1(1, "in %s retrieval function", "gAMA(float)");
701
+
702
+ if (png_ptr != NULL && info_ptr != NULL &&
703
+ (info_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_GAMMA) != 0 &&
704
+ file_gamma != NULL)
705
+ {
706
+ *file_gamma = png_float(png_ptr, info_ptr->colorspace.gamma,
707
+ "png_get_gAMA");
708
+ return (PNG_INFO_gAMA);
709
+ }
710
+
711
+ return (0);
712
+ }
713
+ # endif
714
+ #endif
715
+
716
+ #ifdef PNG_sRGB_SUPPORTED
717
+ png_uint_32 PNGAPI
718
+ png_get_sRGB(png_const_structrp png_ptr, png_const_inforp info_ptr,
719
+ int *file_srgb_intent)
720
+ {
721
+ png_debug1(1, "in %s retrieval function", "sRGB");
722
+
723
+ if (png_ptr != NULL && info_ptr != NULL &&
724
+ (info_ptr->valid & PNG_INFO_sRGB) != 0 && file_srgb_intent != NULL)
725
+ {
726
+ *file_srgb_intent = info_ptr->colorspace.rendering_intent;
727
+ return (PNG_INFO_sRGB);
728
+ }
729
+
730
+ return (0);
731
+ }
732
+ #endif
733
+
734
+ #ifdef PNG_iCCP_SUPPORTED
735
+ png_uint_32 PNGAPI
736
+ png_get_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,
737
+ png_charpp name, int *compression_type,
738
+ png_bytepp profile, png_uint_32 *proflen)
739
+ {
740
+ png_debug1(1, "in %s retrieval function", "iCCP");
741
+
742
+ if (png_ptr != NULL && info_ptr != NULL &&
743
+ (info_ptr->valid & PNG_INFO_iCCP) != 0 &&
744
+ name != NULL && compression_type != NULL && profile != NULL &&
745
+ proflen != NULL)
746
+ {
747
+ *name = info_ptr->iccp_name;
748
+ *profile = info_ptr->iccp_profile;
749
+ *proflen = png_get_uint_32(info_ptr->iccp_profile);
750
+ /* This is somewhat irrelevant since the profile data returned has
751
+ * actually been uncompressed.
752
+ */
753
+ *compression_type = PNG_COMPRESSION_TYPE_BASE;
754
+ return (PNG_INFO_iCCP);
755
+ }
756
+
757
+ return (0);
758
+ }
759
+ #endif
760
+
761
+ #ifdef PNG_sPLT_SUPPORTED
762
+ int PNGAPI
763
+ png_get_sPLT(png_const_structrp png_ptr, png_inforp info_ptr,
764
+ png_sPLT_tpp spalettes)
765
+ {
766
+ if (png_ptr != NULL && info_ptr != NULL && spalettes != NULL)
767
+ {
768
+ *spalettes = info_ptr->splt_palettes;
769
+ return info_ptr->splt_palettes_num;
770
+ }
771
+
772
+ return (0);
773
+ }
774
+ #endif
775
+
776
+ #ifdef PNG_hIST_SUPPORTED
777
+ png_uint_32 PNGAPI
778
+ png_get_hIST(png_const_structrp png_ptr, png_inforp info_ptr,
779
+ png_uint_16p *hist)
780
+ {
781
+ png_debug1(1, "in %s retrieval function", "hIST");
782
+
783
+ if (png_ptr != NULL && info_ptr != NULL &&
784
+ (info_ptr->valid & PNG_INFO_hIST) != 0 && hist != NULL)
785
+ {
786
+ *hist = info_ptr->hist;
787
+ return (PNG_INFO_hIST);
788
+ }
789
+
790
+ return (0);
791
+ }
792
+ #endif
793
+
794
+ png_uint_32 PNGAPI
795
+ png_get_IHDR(png_const_structrp png_ptr, png_const_inforp info_ptr,
796
+ png_uint_32 *width, png_uint_32 *height, int *bit_depth,
797
+ int *color_type, int *interlace_type, int *compression_type,
798
+ int *filter_type)
799
+ {
800
+ png_debug1(1, "in %s retrieval function", "IHDR");
801
+
802
+ if (png_ptr == NULL || info_ptr == NULL || width == NULL ||
803
+ height == NULL || bit_depth == NULL || color_type == NULL)
804
+ return (0);
805
+
806
+ *width = info_ptr->width;
807
+ *height = info_ptr->height;
808
+ *bit_depth = info_ptr->bit_depth;
809
+ *color_type = info_ptr->color_type;
810
+
811
+ if (compression_type != NULL)
812
+ *compression_type = info_ptr->compression_type;
813
+
814
+ if (filter_type != NULL)
815
+ *filter_type = info_ptr->filter_type;
816
+
817
+ if (interlace_type != NULL)
818
+ *interlace_type = info_ptr->interlace_type;
819
+
820
+ /* This is redundant if we can be sure that the info_ptr values were all
821
+ * assigned in png_set_IHDR(). We do the check anyhow in case an
822
+ * application has ignored our advice not to mess with the members
823
+ * of info_ptr directly.
824
+ */
825
+ png_check_IHDR(png_ptr, info_ptr->width, info_ptr->height,
826
+ info_ptr->bit_depth, info_ptr->color_type, info_ptr->interlace_type,
827
+ info_ptr->compression_type, info_ptr->filter_type);
828
+
829
+ return (1);
830
+ }
831
+
832
+ #ifdef PNG_oFFs_SUPPORTED
833
+ png_uint_32 PNGAPI
834
+ png_get_oFFs(png_const_structrp png_ptr, png_const_inforp info_ptr,
835
+ png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)
836
+ {
837
+ png_debug1(1, "in %s retrieval function", "oFFs");
838
+
839
+ if (png_ptr != NULL && info_ptr != NULL &&
840
+ (info_ptr->valid & PNG_INFO_oFFs) != 0 &&
841
+ offset_x != NULL && offset_y != NULL && unit_type != NULL)
842
+ {
843
+ *offset_x = info_ptr->x_offset;
844
+ *offset_y = info_ptr->y_offset;
845
+ *unit_type = (int)info_ptr->offset_unit_type;
846
+ return (PNG_INFO_oFFs);
847
+ }
848
+
849
+ return (0);
850
+ }
851
+ #endif
852
+
853
+ #ifdef PNG_pCAL_SUPPORTED
854
+ png_uint_32 PNGAPI
855
+ png_get_pCAL(png_const_structrp png_ptr, png_inforp info_ptr,
856
+ png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams,
857
+ png_charp *units, png_charpp *params)
858
+ {
859
+ png_debug1(1, "in %s retrieval function", "pCAL");
860
+
861
+ if (png_ptr != NULL && info_ptr != NULL &&
862
+ (info_ptr->valid & PNG_INFO_pCAL) != 0 &&
863
+ purpose != NULL && X0 != NULL && X1 != NULL && type != NULL &&
864
+ nparams != NULL && units != NULL && params != NULL)
865
+ {
866
+ *purpose = info_ptr->pcal_purpose;
867
+ *X0 = info_ptr->pcal_X0;
868
+ *X1 = info_ptr->pcal_X1;
869
+ *type = (int)info_ptr->pcal_type;
870
+ *nparams = (int)info_ptr->pcal_nparams;
871
+ *units = info_ptr->pcal_units;
872
+ *params = info_ptr->pcal_params;
873
+ return (PNG_INFO_pCAL);
874
+ }
875
+
876
+ return (0);
877
+ }
878
+ #endif
879
+
880
+ #ifdef PNG_sCAL_SUPPORTED
881
+ # ifdef PNG_FIXED_POINT_SUPPORTED
882
+ # if defined(PNG_FLOATING_ARITHMETIC_SUPPORTED) || \
883
+ defined(PNG_FLOATING_POINT_SUPPORTED)
884
+ png_uint_32 PNGAPI
885
+ png_get_sCAL_fixed(png_const_structrp png_ptr, png_const_inforp info_ptr,
886
+ int *unit, png_fixed_point *width, png_fixed_point *height)
887
+ {
888
+ if (png_ptr != NULL && info_ptr != NULL &&
889
+ (info_ptr->valid & PNG_INFO_sCAL) != 0)
890
+ {
891
+ *unit = info_ptr->scal_unit;
892
+ /*TODO: make this work without FP support; the API is currently eliminated
893
+ * if neither floating point APIs nor internal floating point arithmetic
894
+ * are enabled.
895
+ */
896
+ *width = png_fixed(png_ptr, atof(info_ptr->scal_s_width), "sCAL width");
897
+ *height = png_fixed(png_ptr, atof(info_ptr->scal_s_height),
898
+ "sCAL height");
899
+ return (PNG_INFO_sCAL);
900
+ }
901
+
902
+ return(0);
903
+ }
904
+ # endif /* FLOATING_ARITHMETIC */
905
+ # endif /* FIXED_POINT */
906
+ # ifdef PNG_FLOATING_POINT_SUPPORTED
907
+ png_uint_32 PNGAPI
908
+ png_get_sCAL(png_const_structrp png_ptr, png_const_inforp info_ptr,
909
+ int *unit, double *width, double *height)
910
+ {
911
+ if (png_ptr != NULL && info_ptr != NULL &&
912
+ (info_ptr->valid & PNG_INFO_sCAL) != 0)
913
+ {
914
+ *unit = info_ptr->scal_unit;
915
+ *width = atof(info_ptr->scal_s_width);
916
+ *height = atof(info_ptr->scal_s_height);
917
+ return (PNG_INFO_sCAL);
918
+ }
919
+
920
+ return(0);
921
+ }
922
+ # endif /* FLOATING POINT */
923
+ png_uint_32 PNGAPI
924
+ png_get_sCAL_s(png_const_structrp png_ptr, png_const_inforp info_ptr,
925
+ int *unit, png_charpp width, png_charpp height)
926
+ {
927
+ if (png_ptr != NULL && info_ptr != NULL &&
928
+ (info_ptr->valid & PNG_INFO_sCAL) != 0)
929
+ {
930
+ *unit = info_ptr->scal_unit;
931
+ *width = info_ptr->scal_s_width;
932
+ *height = info_ptr->scal_s_height;
933
+ return (PNG_INFO_sCAL);
934
+ }
935
+
936
+ return(0);
937
+ }
938
+ #endif /* sCAL */
939
+
940
+ #ifdef PNG_pHYs_SUPPORTED
941
+ png_uint_32 PNGAPI
942
+ png_get_pHYs(png_const_structrp png_ptr, png_const_inforp info_ptr,
943
+ png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
944
+ {
945
+ png_uint_32 retval = 0;
946
+
947
+ png_debug1(1, "in %s retrieval function", "pHYs");
948
+
949
+ if (png_ptr != NULL && info_ptr != NULL &&
950
+ (info_ptr->valid & PNG_INFO_pHYs) != 0)
951
+ {
952
+ if (res_x != NULL)
953
+ {
954
+ *res_x = info_ptr->x_pixels_per_unit;
955
+ retval |= PNG_INFO_pHYs;
956
+ }
957
+
958
+ if (res_y != NULL)
959
+ {
960
+ *res_y = info_ptr->y_pixels_per_unit;
961
+ retval |= PNG_INFO_pHYs;
962
+ }
963
+
964
+ if (unit_type != NULL)
965
+ {
966
+ *unit_type = (int)info_ptr->phys_unit_type;
967
+ retval |= PNG_INFO_pHYs;
968
+ }
969
+ }
970
+
971
+ return (retval);
972
+ }
973
+ #endif /* pHYs */
974
+
975
+ png_uint_32 PNGAPI
976
+ png_get_PLTE(png_const_structrp png_ptr, png_inforp info_ptr,
977
+ png_colorp *palette, int *num_palette)
978
+ {
979
+ png_debug1(1, "in %s retrieval function", "PLTE");
980
+
981
+ if (png_ptr != NULL && info_ptr != NULL &&
982
+ (info_ptr->valid & PNG_INFO_PLTE) != 0 && palette != NULL)
983
+ {
984
+ *palette = info_ptr->palette;
985
+ *num_palette = info_ptr->num_palette;
986
+ png_debug1(3, "num_palette = %d", *num_palette);
987
+ return (PNG_INFO_PLTE);
988
+ }
989
+
990
+ return (0);
991
+ }
992
+
993
+ #ifdef PNG_sBIT_SUPPORTED
994
+ png_uint_32 PNGAPI
995
+ png_get_sBIT(png_const_structrp png_ptr, png_inforp info_ptr,
996
+ png_color_8p *sig_bit)
997
+ {
998
+ png_debug1(1, "in %s retrieval function", "sBIT");
999
+
1000
+ if (png_ptr != NULL && info_ptr != NULL &&
1001
+ (info_ptr->valid & PNG_INFO_sBIT) != 0 && sig_bit != NULL)
1002
+ {
1003
+ *sig_bit = &(info_ptr->sig_bit);
1004
+ return (PNG_INFO_sBIT);
1005
+ }
1006
+
1007
+ return (0);
1008
+ }
1009
+ #endif
1010
+
1011
+ #ifdef PNG_TEXT_SUPPORTED
1012
+ int PNGAPI
1013
+ png_get_text(png_const_structrp png_ptr, png_inforp info_ptr,
1014
+ png_textp *text_ptr, int *num_text)
1015
+ {
1016
+ if (png_ptr != NULL && info_ptr != NULL && info_ptr->num_text > 0)
1017
+ {
1018
+ png_debug1(1, "in 0x%lx retrieval function",
1019
+ (unsigned long)png_ptr->chunk_name);
1020
+
1021
+ if (text_ptr != NULL)
1022
+ *text_ptr = info_ptr->text;
1023
+
1024
+ if (num_text != NULL)
1025
+ *num_text = info_ptr->num_text;
1026
+
1027
+ return info_ptr->num_text;
1028
+ }
1029
+
1030
+ if (num_text != NULL)
1031
+ *num_text = 0;
1032
+
1033
+ return(0);
1034
+ }
1035
+ #endif
1036
+
1037
+ #ifdef PNG_tIME_SUPPORTED
1038
+ png_uint_32 PNGAPI
1039
+ png_get_tIME(png_const_structrp png_ptr, png_inforp info_ptr,
1040
+ png_timep *mod_time)
1041
+ {
1042
+ png_debug1(1, "in %s retrieval function", "tIME");
1043
+
1044
+ if (png_ptr != NULL && info_ptr != NULL &&
1045
+ (info_ptr->valid & PNG_INFO_tIME) != 0 && mod_time != NULL)
1046
+ {
1047
+ *mod_time = &(info_ptr->mod_time);
1048
+ return (PNG_INFO_tIME);
1049
+ }
1050
+
1051
+ return (0);
1052
+ }
1053
+ #endif
1054
+
1055
+ #ifdef PNG_tRNS_SUPPORTED
1056
+ png_uint_32 PNGAPI
1057
+ png_get_tRNS(png_const_structrp png_ptr, png_inforp info_ptr,
1058
+ png_bytep *trans_alpha, int *num_trans, png_color_16p *trans_color)
1059
+ {
1060
+ png_uint_32 retval = 0;
1061
+ if (png_ptr != NULL && info_ptr != NULL &&
1062
+ (info_ptr->valid & PNG_INFO_tRNS) != 0)
1063
+ {
1064
+ png_debug1(1, "in %s retrieval function", "tRNS");
1065
+
1066
+ if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
1067
+ {
1068
+ if (trans_alpha != NULL)
1069
+ {
1070
+ *trans_alpha = info_ptr->trans_alpha;
1071
+ retval |= PNG_INFO_tRNS;
1072
+ }
1073
+
1074
+ if (trans_color != NULL)
1075
+ *trans_color = &(info_ptr->trans_color);
1076
+ }
1077
+
1078
+ else /* if (info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) */
1079
+ {
1080
+ if (trans_color != NULL)
1081
+ {
1082
+ *trans_color = &(info_ptr->trans_color);
1083
+ retval |= PNG_INFO_tRNS;
1084
+ }
1085
+
1086
+ if (trans_alpha != NULL)
1087
+ *trans_alpha = NULL;
1088
+ }
1089
+
1090
+ if (num_trans != NULL)
1091
+ {
1092
+ *num_trans = info_ptr->num_trans;
1093
+ retval |= PNG_INFO_tRNS;
1094
+ }
1095
+ }
1096
+
1097
+ return (retval);
1098
+ }
1099
+ #endif
1100
+
1101
+ #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
1102
+ int PNGAPI
1103
+ png_get_unknown_chunks(png_const_structrp png_ptr, png_inforp info_ptr,
1104
+ png_unknown_chunkpp unknowns)
1105
+ {
1106
+ if (png_ptr != NULL && info_ptr != NULL && unknowns != NULL)
1107
+ {
1108
+ *unknowns = info_ptr->unknown_chunks;
1109
+ return info_ptr->unknown_chunks_num;
1110
+ }
1111
+
1112
+ return (0);
1113
+ }
1114
+ #endif
1115
+
1116
+ #ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
1117
+ png_byte PNGAPI
1118
+ png_get_rgb_to_gray_status (png_const_structrp png_ptr)
1119
+ {
1120
+ return (png_byte)(png_ptr ? png_ptr->rgb_to_gray_status : 0);
1121
+ }
1122
+ #endif
1123
+
1124
+ #ifdef PNG_USER_CHUNKS_SUPPORTED
1125
+ png_voidp PNGAPI
1126
+ png_get_user_chunk_ptr(png_const_structrp png_ptr)
1127
+ {
1128
+ return (png_ptr ? png_ptr->user_chunk_ptr : NULL);
1129
+ }
1130
+ #endif
1131
+
1132
+ png_size_t PNGAPI
1133
+ png_get_compression_buffer_size(png_const_structrp png_ptr)
1134
+ {
1135
+ if (png_ptr == NULL)
1136
+ return 0;
1137
+
1138
+ # ifdef PNG_WRITE_SUPPORTED
1139
+ if ((png_ptr->mode & PNG_IS_READ_STRUCT) != 0)
1140
+ # endif
1141
+ {
1142
+ # ifdef PNG_SEQUENTIAL_READ_SUPPORTED
1143
+ return png_ptr->IDAT_read_size;
1144
+ # else
1145
+ return PNG_IDAT_READ_SIZE;
1146
+ # endif
1147
+ }
1148
+
1149
+ # ifdef PNG_WRITE_SUPPORTED
1150
+ else
1151
+ return png_ptr->zbuffer_size;
1152
+ # endif
1153
+ }
1154
+
1155
+ #ifdef PNG_SET_USER_LIMITS_SUPPORTED
1156
+ /* These functions were added to libpng 1.2.6 and were enabled
1157
+ * by default in libpng-1.4.0 */
1158
+ png_uint_32 PNGAPI
1159
+ png_get_user_width_max (png_const_structrp png_ptr)
1160
+ {
1161
+ return (png_ptr ? png_ptr->user_width_max : 0);
1162
+ }
1163
+
1164
+ png_uint_32 PNGAPI
1165
+ png_get_user_height_max (png_const_structrp png_ptr)
1166
+ {
1167
+ return (png_ptr ? png_ptr->user_height_max : 0);
1168
+ }
1169
+
1170
+ /* This function was added to libpng 1.4.0 */
1171
+ png_uint_32 PNGAPI
1172
+ png_get_chunk_cache_max (png_const_structrp png_ptr)
1173
+ {
1174
+ return (png_ptr ? png_ptr->user_chunk_cache_max : 0);
1175
+ }
1176
+
1177
+ /* This function was added to libpng 1.4.1 */
1178
+ png_alloc_size_t PNGAPI
1179
+ png_get_chunk_malloc_max (png_const_structrp png_ptr)
1180
+ {
1181
+ return (png_ptr ? png_ptr->user_chunk_malloc_max : 0);
1182
+ }
1183
+ #endif /* SET_USER_LIMITS */
1184
+
1185
+ /* These functions were added to libpng 1.4.0 */
1186
+ #ifdef PNG_IO_STATE_SUPPORTED
1187
+ png_uint_32 PNGAPI
1188
+ png_get_io_state (png_const_structrp png_ptr)
1189
+ {
1190
+ return png_ptr->io_state;
1191
+ }
1192
+
1193
+ png_uint_32 PNGAPI
1194
+ png_get_io_chunk_type (png_const_structrp png_ptr)
1195
+ {
1196
+ return png_ptr->chunk_name;
1197
+ }
1198
+ #endif /* IO_STATE */
1199
+
1200
+ #ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
1201
+ # ifdef PNG_GET_PALETTE_MAX_SUPPORTED
1202
+ int PNGAPI
1203
+ png_get_palette_max(png_const_structp png_ptr, png_const_infop info_ptr)
1204
+ {
1205
+ if (png_ptr != NULL && info_ptr != NULL)
1206
+ return png_ptr->num_palette_max;
1207
+
1208
+ return (-1);
1209
+ }
1210
+ # endif
1211
+ #endif
1212
+
1213
+ #endif /* READ || WRITE */