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.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +1 -0
- data/Rakefile +34 -0
- data/ext/rfreeimage/extconf.rb +35 -0
- data/ext/rfreeimage/rfi_main.c +389 -0
- data/lib/rfreeimage/image.rb +26 -0
- data/lib/rfreeimage/version.rb +3 -0
- data/lib/rfreeimage.rb +3 -0
- data/rfreeimage.gemspec +32 -0
- data/vendor/FreeImage/Makefile +34 -0
- data/vendor/FreeImage/Makefile.cygwin +74 -0
- data/vendor/FreeImage/Makefile.fip +84 -0
- data/vendor/FreeImage/Makefile.gnu +83 -0
- data/vendor/FreeImage/Makefile.iphone +96 -0
- data/vendor/FreeImage/Makefile.mingw +136 -0
- data/vendor/FreeImage/Makefile.osx +115 -0
- data/vendor/FreeImage/Makefile.solaris +66 -0
- data/vendor/FreeImage/Makefile.srcs +6 -0
- data/vendor/FreeImage/README.iphone +19 -0
- data/vendor/FreeImage/README.linux +50 -0
- data/vendor/FreeImage/README.minGW +236 -0
- data/vendor/FreeImage/README.osx +44 -0
- data/vendor/FreeImage/README.solaris +67 -0
- data/vendor/FreeImage/Source/CacheFile.h +92 -0
- data/vendor/FreeImage/Source/DeprecationManager/Deprecated.cpp +36 -0
- data/vendor/FreeImage/Source/DeprecationManager/DeprecationMgr.cpp +103 -0
- data/vendor/FreeImage/Source/DeprecationManager/DeprecationMgr.h +83 -0
- data/vendor/FreeImage/Source/FreeImage/BitmapAccess.cpp +1573 -0
- data/vendor/FreeImage/Source/FreeImage/CacheFile.cpp +271 -0
- data/vendor/FreeImage/Source/FreeImage/ColorLookup.cpp +785 -0
- data/vendor/FreeImage/Source/FreeImage/Conversion.cpp +551 -0
- data/vendor/FreeImage/Source/FreeImage/Conversion16_555.cpp +209 -0
- data/vendor/FreeImage/Source/FreeImage/Conversion16_565.cpp +204 -0
- data/vendor/FreeImage/Source/FreeImage/Conversion24.cpp +252 -0
- data/vendor/FreeImage/Source/FreeImage/Conversion32.cpp +345 -0
- data/vendor/FreeImage/Source/FreeImage/Conversion4.cpp +246 -0
- data/vendor/FreeImage/Source/FreeImage/Conversion8.cpp +305 -0
- data/vendor/FreeImage/Source/FreeImage/ConversionFloat.cpp +194 -0
- data/vendor/FreeImage/Source/FreeImage/ConversionRGB16.cpp +144 -0
- data/vendor/FreeImage/Source/FreeImage/ConversionRGBA16.cpp +147 -0
- data/vendor/FreeImage/Source/FreeImage/ConversionRGBAF.cpp +250 -0
- data/vendor/FreeImage/Source/FreeImage/ConversionRGBF.cpp +243 -0
- data/vendor/FreeImage/Source/FreeImage/ConversionType.cpp +699 -0
- data/vendor/FreeImage/Source/FreeImage/ConversionUINT16.cpp +134 -0
- data/vendor/FreeImage/Source/FreeImage/FreeImage.cpp +226 -0
- data/vendor/FreeImage/Source/FreeImage/FreeImageC.c +22 -0
- data/vendor/FreeImage/Source/FreeImage/FreeImageIO.cpp +175 -0
- data/vendor/FreeImage/Source/FreeImage/GetType.cpp +92 -0
- data/vendor/FreeImage/Source/FreeImage/Halftoning.cpp +474 -0
- data/vendor/FreeImage/Source/FreeImage/J2KHelper.cpp +591 -0
- data/vendor/FreeImage/Source/FreeImage/J2KHelper.h +36 -0
- data/vendor/FreeImage/Source/FreeImage/LFPQuantizer.cpp +208 -0
- data/vendor/FreeImage/Source/FreeImage/MNGHelper.cpp +1320 -0
- data/vendor/FreeImage/Source/FreeImage/MemoryIO.cpp +237 -0
- data/vendor/FreeImage/Source/FreeImage/MultiPage.cpp +974 -0
- data/vendor/FreeImage/Source/FreeImage/NNQuantizer.cpp +507 -0
- data/vendor/FreeImage/Source/FreeImage/PSDParser.cpp +1057 -0
- data/vendor/FreeImage/Source/FreeImage/PSDParser.h +271 -0
- data/vendor/FreeImage/Source/FreeImage/PixelAccess.cpp +197 -0
- data/vendor/FreeImage/Source/FreeImage/Plugin.cpp +822 -0
- data/vendor/FreeImage/Source/FreeImage/PluginBMP.cpp +1494 -0
- data/vendor/FreeImage/Source/FreeImage/PluginCUT.cpp +240 -0
- data/vendor/FreeImage/Source/FreeImage/PluginDDS.cpp +655 -0
- data/vendor/FreeImage/Source/FreeImage/PluginEXR.cpp +773 -0
- data/vendor/FreeImage/Source/FreeImage/PluginG3.cpp +433 -0
- data/vendor/FreeImage/Source/FreeImage/PluginGIF.cpp +1407 -0
- data/vendor/FreeImage/Source/FreeImage/PluginHDR.cpp +722 -0
- data/vendor/FreeImage/Source/FreeImage/PluginICO.cpp +824 -0
- data/vendor/FreeImage/Source/FreeImage/PluginIFF.cpp +459 -0
- data/vendor/FreeImage/Source/FreeImage/PluginJ2K.cpp +328 -0
- data/vendor/FreeImage/Source/FreeImage/PluginJNG.cpp +162 -0
- data/vendor/FreeImage/Source/FreeImage/PluginJP2.cpp +328 -0
- data/vendor/FreeImage/Source/FreeImage/PluginJPEG.cpp +1706 -0
- data/vendor/FreeImage/Source/FreeImage/PluginJXR.cpp +1475 -0
- data/vendor/FreeImage/Source/FreeImage/PluginKOALA.cpp +243 -0
- data/vendor/FreeImage/Source/FreeImage/PluginMNG.cpp +153 -0
- data/vendor/FreeImage/Source/FreeImage/PluginPCD.cpp +251 -0
- data/vendor/FreeImage/Source/FreeImage/PluginPCX.cpp +659 -0
- data/vendor/FreeImage/Source/FreeImage/PluginPFM.cpp +409 -0
- data/vendor/FreeImage/Source/FreeImage/PluginPICT.cpp +1343 -0
- data/vendor/FreeImage/Source/FreeImage/PluginPNG.cpp +1115 -0
- data/vendor/FreeImage/Source/FreeImage/PluginPNM.cpp +838 -0
- data/vendor/FreeImage/Source/FreeImage/PluginPSD.cpp +131 -0
- data/vendor/FreeImage/Source/FreeImage/PluginRAS.cpp +512 -0
- data/vendor/FreeImage/Source/FreeImage/PluginRAW.cpp +793 -0
- data/vendor/FreeImage/Source/FreeImage/PluginSGI.cpp +425 -0
- data/vendor/FreeImage/Source/FreeImage/PluginTARGA.cpp +1591 -0
- data/vendor/FreeImage/Source/FreeImage/PluginTIFF.cpp +2631 -0
- data/vendor/FreeImage/Source/FreeImage/PluginWBMP.cpp +372 -0
- data/vendor/FreeImage/Source/FreeImage/PluginWebP.cpp +698 -0
- data/vendor/FreeImage/Source/FreeImage/PluginXBM.cpp +399 -0
- data/vendor/FreeImage/Source/FreeImage/PluginXPM.cpp +487 -0
- data/vendor/FreeImage/Source/FreeImage/TIFFLogLuv.cpp +65 -0
- data/vendor/FreeImage/Source/FreeImage/ToneMapping.cpp +75 -0
- data/vendor/FreeImage/Source/FreeImage/WuQuantizer.cpp +559 -0
- data/vendor/FreeImage/Source/FreeImage/ZLibInterface.cpp +223 -0
- data/vendor/FreeImage/Source/FreeImage/tmoColorConvert.cpp +479 -0
- data/vendor/FreeImage/Source/FreeImage/tmoDrago03.cpp +295 -0
- data/vendor/FreeImage/Source/FreeImage/tmoFattal02.cpp +689 -0
- data/vendor/FreeImage/Source/FreeImage/tmoReinhard05.cpp +260 -0
- data/vendor/FreeImage/Source/FreeImage.h +1153 -0
- data/vendor/FreeImage/Source/FreeImageIO.h +63 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/BSplineRotate.cpp +730 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Background.cpp +895 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Channels.cpp +488 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/ClassicRotate.cpp +917 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Colors.cpp +967 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/CopyPaste.cpp +861 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Display.cpp +230 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Filters.h +287 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Flip.cpp +166 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp +623 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/MultigridPoissonSolver.cpp +505 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Rescale.cpp +192 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Resize.cpp +2116 -0
- data/vendor/FreeImage/Source/FreeImageToolkit/Resize.h +196 -0
- data/vendor/FreeImage/Source/LibJPEG/ansi2knr.c +739 -0
- data/vendor/FreeImage/Source/LibJPEG/cderror.h +134 -0
- data/vendor/FreeImage/Source/LibJPEG/cdjpeg.c +181 -0
- data/vendor/FreeImage/Source/LibJPEG/cdjpeg.h +187 -0
- data/vendor/FreeImage/Source/LibJPEG/cjpeg.c +664 -0
- data/vendor/FreeImage/Source/LibJPEG/ckconfig.c +402 -0
- data/vendor/FreeImage/Source/LibJPEG/djpeg.c +617 -0
- data/vendor/FreeImage/Source/LibJPEG/example.c +433 -0
- data/vendor/FreeImage/Source/LibJPEG/jaricom.c +153 -0
- data/vendor/FreeImage/Source/LibJPEG/jcapimin.c +288 -0
- data/vendor/FreeImage/Source/LibJPEG/jcapistd.c +162 -0
- data/vendor/FreeImage/Source/LibJPEG/jcarith.c +944 -0
- data/vendor/FreeImage/Source/LibJPEG/jccoefct.c +454 -0
- data/vendor/FreeImage/Source/LibJPEG/jccolor.c +604 -0
- data/vendor/FreeImage/Source/LibJPEG/jcdctmgr.c +477 -0
- data/vendor/FreeImage/Source/LibJPEG/jchuff.c +1573 -0
- data/vendor/FreeImage/Source/LibJPEG/jcinit.c +84 -0
- data/vendor/FreeImage/Source/LibJPEG/jcmainct.c +297 -0
- data/vendor/FreeImage/Source/LibJPEG/jcmarker.c +719 -0
- data/vendor/FreeImage/Source/LibJPEG/jcmaster.c +856 -0
- data/vendor/FreeImage/Source/LibJPEG/jcomapi.c +106 -0
- data/vendor/FreeImage/Source/LibJPEG/jconfig.h +161 -0
- data/vendor/FreeImage/Source/LibJPEG/jcparam.c +675 -0
- data/vendor/FreeImage/Source/LibJPEG/jcprepct.c +358 -0
- data/vendor/FreeImage/Source/LibJPEG/jcsample.c +545 -0
- data/vendor/FreeImage/Source/LibJPEG/jctrans.c +385 -0
- data/vendor/FreeImage/Source/LibJPEG/jdapimin.c +399 -0
- data/vendor/FreeImage/Source/LibJPEG/jdapistd.c +276 -0
- data/vendor/FreeImage/Source/LibJPEG/jdarith.c +796 -0
- data/vendor/FreeImage/Source/LibJPEG/jdatadst.c +270 -0
- data/vendor/FreeImage/Source/LibJPEG/jdatasrc.c +275 -0
- data/vendor/FreeImage/Source/LibJPEG/jdcoefct.c +741 -0
- data/vendor/FreeImage/Source/LibJPEG/jdcolor.c +748 -0
- data/vendor/FreeImage/Source/LibJPEG/jdct.h +393 -0
- data/vendor/FreeImage/Source/LibJPEG/jddctmgr.c +384 -0
- data/vendor/FreeImage/Source/LibJPEG/jdhuff.c +1554 -0
- data/vendor/FreeImage/Source/LibJPEG/jdinput.c +662 -0
- data/vendor/FreeImage/Source/LibJPEG/jdmainct.c +513 -0
- data/vendor/FreeImage/Source/LibJPEG/jdmarker.c +1511 -0
- data/vendor/FreeImage/Source/LibJPEG/jdmaster.c +543 -0
- data/vendor/FreeImage/Source/LibJPEG/jdmerge.c +401 -0
- data/vendor/FreeImage/Source/LibJPEG/jdpostct.c +290 -0
- data/vendor/FreeImage/Source/LibJPEG/jdsample.c +361 -0
- data/vendor/FreeImage/Source/LibJPEG/jdtrans.c +140 -0
- data/vendor/FreeImage/Source/LibJPEG/jerror.c +253 -0
- data/vendor/FreeImage/Source/LibJPEG/jerror.h +304 -0
- data/vendor/FreeImage/Source/LibJPEG/jfdctflt.c +174 -0
- data/vendor/FreeImage/Source/LibJPEG/jfdctfst.c +230 -0
- data/vendor/FreeImage/Source/LibJPEG/jfdctint.c +4406 -0
- data/vendor/FreeImage/Source/LibJPEG/jidctflt.c +235 -0
- data/vendor/FreeImage/Source/LibJPEG/jidctfst.c +368 -0
- data/vendor/FreeImage/Source/LibJPEG/jidctint.c +5179 -0
- data/vendor/FreeImage/Source/LibJPEG/jinclude.h +91 -0
- data/vendor/FreeImage/Source/LibJPEG/jmemansi.c +167 -0
- data/vendor/FreeImage/Source/LibJPEG/jmemdos.c +638 -0
- data/vendor/FreeImage/Source/LibJPEG/jmemmac.c +289 -0
- data/vendor/FreeImage/Source/LibJPEG/jmemmgr.c +1119 -0
- data/vendor/FreeImage/Source/LibJPEG/jmemname.c +276 -0
- data/vendor/FreeImage/Source/LibJPEG/jmemnobs.c +109 -0
- data/vendor/FreeImage/Source/LibJPEG/jmemsys.h +198 -0
- data/vendor/FreeImage/Source/LibJPEG/jmorecfg.h +442 -0
- data/vendor/FreeImage/Source/LibJPEG/jpegint.h +426 -0
- data/vendor/FreeImage/Source/LibJPEG/jpeglib.h +1180 -0
- data/vendor/FreeImage/Source/LibJPEG/jpegtran.c +577 -0
- data/vendor/FreeImage/Source/LibJPEG/jquant1.c +857 -0
- data/vendor/FreeImage/Source/LibJPEG/jquant2.c +1311 -0
- data/vendor/FreeImage/Source/LibJPEG/jutils.c +227 -0
- data/vendor/FreeImage/Source/LibJPEG/jversion.h +14 -0
- data/vendor/FreeImage/Source/LibJPEG/rdbmp.c +480 -0
- data/vendor/FreeImage/Source/LibJPEG/rdcolmap.c +253 -0
- data/vendor/FreeImage/Source/LibJPEG/rdgif.c +38 -0
- data/vendor/FreeImage/Source/LibJPEG/rdjpgcom.c +515 -0
- data/vendor/FreeImage/Source/LibJPEG/rdppm.c +459 -0
- data/vendor/FreeImage/Source/LibJPEG/rdrle.c +387 -0
- data/vendor/FreeImage/Source/LibJPEG/rdswitch.c +365 -0
- data/vendor/FreeImage/Source/LibJPEG/rdtarga.c +500 -0
- data/vendor/FreeImage/Source/LibJPEG/transupp.c +1763 -0
- data/vendor/FreeImage/Source/LibJPEG/transupp.h +219 -0
- data/vendor/FreeImage/Source/LibJPEG/wrbmp.c +442 -0
- data/vendor/FreeImage/Source/LibJPEG/wrgif.c +399 -0
- data/vendor/FreeImage/Source/LibJPEG/wrjpgcom.c +583 -0
- data/vendor/FreeImage/Source/LibJPEG/wrppm.c +269 -0
- data/vendor/FreeImage/Source/LibJPEG/wrrle.c +305 -0
- data/vendor/FreeImage/Source/LibJPEG/wrtarga.c +253 -0
- data/vendor/FreeImage/Source/LibJXR/common/include/guiddef.h +230 -0
- data/vendor/FreeImage/Source/LibJXR/common/include/wmsal.h +757 -0
- data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstring.h +342 -0
- data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstrings_adt.h +71 -0
- data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstrings_strict.h +1096 -0
- data/vendor/FreeImage/Source/LibJXR/common/include/wmspecstrings_undef.h +406 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/JXRTranscode.c +987 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/decode.c +200 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/decode.h +143 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/postprocess.c +288 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/segdec.c +1205 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/strInvTransform.c +1888 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/strPredQuantDec.c +539 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/strdec.c +3628 -0
- data/vendor/FreeImage/Source/LibJXR/image/decode/strdec_x86.c +1640 -0
- data/vendor/FreeImage/Source/LibJXR/image/encode/encode.c +144 -0
- data/vendor/FreeImage/Source/LibJXR/image/encode/encode.h +113 -0
- data/vendor/FreeImage/Source/LibJXR/image/encode/segenc.c +1186 -0
- data/vendor/FreeImage/Source/LibJXR/image/encode/strFwdTransform.c +1111 -0
- data/vendor/FreeImage/Source/LibJXR/image/encode/strPredQuantEnc.c +511 -0
- data/vendor/FreeImage/Source/LibJXR/image/encode/strenc.c +2370 -0
- data/vendor/FreeImage/Source/LibJXR/image/encode/strenc_x86.c +409 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/adapthuff.c +511 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/ansi.h +61 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/common.h +131 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/image.c +183 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/perfTimer.h +115 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/perfTimerANSI.c +274 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/strPredQuant.c +306 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/strTransform.c +85 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/strTransform.h +50 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/strcodec.c +1251 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/strcodec.h +681 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/windowsmediaphoto.h +515 -0
- data/vendor/FreeImage/Source/LibJXR/image/sys/xplatform_image.h +84 -0
- data/vendor/FreeImage/Source/LibJXR/image/x86/x86.h +58 -0
- data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGlue.c +930 -0
- data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGlue.h +636 -0
- data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGlueJxr.c +2246 -0
- data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRGluePFC.c +2338 -0
- data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRMeta.c +905 -0
- data/vendor/FreeImage/Source/LibJXR/jxrgluelib/JXRMeta.h +258 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/bio.c +188 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/bio.h +128 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/cidx_manager.c +239 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/cidx_manager.h +68 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/cio.c +644 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/cio.h +393 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/dwt.c +919 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/dwt.h +116 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/event.c +141 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/event.h +97 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/function_list.c +114 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/function_list.h +126 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/image.c +235 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/image.h +63 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/indexbox_manager.h +148 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/invert.c +289 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/invert.h +59 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/j2k.c +10238 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/j2k.h +838 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/jp2.c +2776 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/jp2.h +490 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/mct.c +319 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/mct.h +149 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/mqc.c +604 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/mqc.h +201 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/openjpeg.c +955 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/openjpeg.h +1475 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_clock.c +59 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_clock.h +54 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_codec.h +160 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_config.h +9 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_config_private.h +16 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_includes.h +175 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_intmath.h +172 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_inttypes.h +43 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_malloc.h +180 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/opj_stdint.h +47 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/phix_manager.c +191 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/pi.c +1870 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/pi.h +182 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/ppix_manager.c +194 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/raw.c +89 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/raw.h +100 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/t1.c +1751 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/t1.h +157 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/t1_generate_luts.c +276 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/t1_luts.h +143 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/t2.c +1334 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/t2.h +127 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/tcd.c +2123 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/tcd.h +348 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/tgt.c +331 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/tgt.h +140 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/thix_manager.c +134 -0
- data/vendor/FreeImage/Source/LibOpenJPEG/tpix_manager.c +185 -0
- data/vendor/FreeImage/Source/LibPNG/example.c +1061 -0
- data/vendor/FreeImage/Source/LibPNG/png.c +4493 -0
- data/vendor/FreeImage/Source/LibPNG/png.h +3282 -0
- data/vendor/FreeImage/Source/LibPNG/pngconf.h +644 -0
- data/vendor/FreeImage/Source/LibPNG/pngdebug.h +154 -0
- data/vendor/FreeImage/Source/LibPNG/pngerror.c +963 -0
- data/vendor/FreeImage/Source/LibPNG/pngget.c +1213 -0
- data/vendor/FreeImage/Source/LibPNG/pnginfo.h +260 -0
- data/vendor/FreeImage/Source/LibPNG/pnglibconf.h +218 -0
- data/vendor/FreeImage/Source/LibPNG/pngmem.c +281 -0
- data/vendor/FreeImage/Source/LibPNG/pngpread.c +1168 -0
- data/vendor/FreeImage/Source/LibPNG/pngpriv.h +1944 -0
- data/vendor/FreeImage/Source/LibPNG/pngread.c +4121 -0
- data/vendor/FreeImage/Source/LibPNG/pngrio.c +120 -0
- data/vendor/FreeImage/Source/LibPNG/pngrtran.c +4994 -0
- data/vendor/FreeImage/Source/LibPNG/pngrutil.c +4474 -0
- data/vendor/FreeImage/Source/LibPNG/pngset.c +1611 -0
- data/vendor/FreeImage/Source/LibPNG/pngstruct.h +489 -0
- data/vendor/FreeImage/Source/LibPNG/pngtest.c +2011 -0
- data/vendor/FreeImage/Source/LibPNG/pngtrans.c +849 -0
- data/vendor/FreeImage/Source/LibPNG/pngwio.c +168 -0
- data/vendor/FreeImage/Source/LibPNG/pngwrite.c +2455 -0
- data/vendor/FreeImage/Source/LibPNG/pngwtran.c +574 -0
- data/vendor/FreeImage/Source/LibPNG/pngwutil.c +3029 -0
- data/vendor/FreeImage/Source/LibRawLite/dcraw/dcraw.c +15462 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/aahd_demosaic.cpp +706 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/dcb_demosaicing.c +710 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/dcraw_common.cpp +13593 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/dcraw_fileio.cpp +240 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/defines.h +167 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/demosaic_packs.cpp +99 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/dht_demosaic.cpp +873 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/libraw_internal_funcs.h +282 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/libraw_x3f.cpp +1919 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/var_defines.h +216 -0
- data/vendor/FreeImage/Source/LibRawLite/internal/wf_filtering.cpp +1950 -0
- data/vendor/FreeImage/Source/LibRawLite/libraw/libraw.h +338 -0
- data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_alloc.h +99 -0
- data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_const.h +233 -0
- data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_datastream.h +238 -0
- data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_internal.h +225 -0
- data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_types.h +442 -0
- data/vendor/FreeImage/Source/LibRawLite/libraw/libraw_version.h +62 -0
- data/vendor/FreeImage/Source/LibRawLite/src/libraw_c_api.cpp +230 -0
- data/vendor/FreeImage/Source/LibRawLite/src/libraw_cxx.cpp +4533 -0
- data/vendor/FreeImage/Source/LibRawLite/src/libraw_datastream.cpp +703 -0
- data/vendor/FreeImage/Source/LibTIFF4/mkg3states.c +451 -0
- data/vendor/FreeImage/Source/LibTIFF4/mkspans.c +82 -0
- data/vendor/FreeImage/Source/LibTIFF4/t4.h +292 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_aux.c +358 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_close.c +140 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_codec.c +166 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_color.c +287 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_compress.c +304 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_config.h +97 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_config.vc.h +74 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_config.wince.h +71 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_dir.c +1700 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_dir.h +308 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_dirinfo.c +959 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_dirread.c +5640 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_dirwrite.c +2910 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_dumpmode.c +143 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_error.c +80 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_extension.c +118 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_fax3.c +1595 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_fax3.h +538 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_fax3sm.c +1260 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_flush.c +118 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_getimage.c +2890 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_jbig.c +213 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_jpeg.c +2354 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_jpeg_12.c +65 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_luv.c +1683 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_lzma.c +495 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_lzw.c +1169 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_next.c +181 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_ojpeg.c +2501 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_open.c +725 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_packbits.c +300 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_pixarlog.c +1442 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_predict.c +764 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_predict.h +77 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_print.c +716 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_read.c +1086 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_strip.c +383 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_swab.c +310 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_thunder.c +207 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_tile.c +299 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_unix.c +325 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_version.c +40 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_vms.c +603 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_warning.c +81 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_win32.c +443 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_wince.c +293 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_write.c +771 -0
- data/vendor/FreeImage/Source/LibTIFF4/tif_zip.c +472 -0
- data/vendor/FreeImage/Source/LibTIFF4/tiff.h +681 -0
- data/vendor/FreeImage/Source/LibTIFF4/tiffconf.h +170 -0
- data/vendor/FreeImage/Source/LibTIFF4/tiffconf.vc.h +160 -0
- data/vendor/FreeImage/Source/LibTIFF4/tiffconf.wince.h +121 -0
- data/vendor/FreeImage/Source/LibTIFF4/tiffio.h +557 -0
- data/vendor/FreeImage/Source/LibTIFF4/tiffiop.h +367 -0
- data/vendor/FreeImage/Source/LibTIFF4/tiffvers.h +9 -0
- data/vendor/FreeImage/Source/LibTIFF4/uvcode.h +180 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/alphai.h +55 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.alpha.c +167 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.buffer.c +249 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.frame.c +827 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.idec.c +857 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.io.c +640 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.quant.c +110 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.tree.c +525 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.vp8.c +663 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.vp8l.c +1584 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/dec.webp.c +834 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/decode_vp8.h +185 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/vp8i.h +353 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/vp8li.h +136 -0
- data/vendor/FreeImage/Source/LibWebP/src/dec/webpi.h +120 -0
- data/vendor/FreeImage/Source/LibWebP/src/demux/demux.demux.c +957 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.alpha_processing.c +377 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.alpha_processing_mips_dsp_r2.c +139 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.alpha_processing_sse2.c +296 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.argb.c +68 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.argb_mips_dsp_r2.c +108 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.argb_sse2.c +62 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost.c +412 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost_mips32.c +154 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost_mips_dsp_r2.c +107 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cost_sse2.c +121 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.cpu.c +138 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec.c +760 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_clip_tables.c +366 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_mips32.c +585 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c +992 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_neon.c +1489 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.dec_sse2.c +1284 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc.c +788 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_avx2.c +24 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_mips32.c +670 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_mips_dsp_r2.c +1510 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_neon.c +932 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.enc_sse2.c +940 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.filters.c +240 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.filters_mips_dsp_r2.c +404 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.filters_sse2.c +349 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.h +434 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless.c +1838 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_mips32.c +416 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_mips_dsp_r2.c +921 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_neon.c +357 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.lossless_sse2.c +535 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.rescaler.c +115 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.rescaler_mips32.c +192 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.rescaler_mips_dsp_r2.c +210 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling.c +252 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_mips_dsp_r2.c +280 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_neon.c +267 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.upsampling_sse2.c +214 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv.c +166 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv_mips32.c +100 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv_mips_dsp_r2.c +131 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/dsp.yuv_sse2.c +322 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/lossless.h +313 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/mips_macro.h +200 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/neon.h +82 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/yuv.h +321 -0
- data/vendor/FreeImage/Source/LibWebP/src/dsp/yuv_tables_sse2.h +536 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/backward_references.h +202 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/cost.h +69 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.alpha.c +440 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.analysis.c +501 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.backward_references.c +1076 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.config.c +163 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.cost.c +355 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.filter.c +296 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.frame.c +850 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.histogram.c +897 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.iterator.c +456 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.near_lossless.c +160 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture.c +290 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_csp.c +1100 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_psnr.c +150 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_rescale.c +285 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.picture_tools.c +206 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.quant.c +1191 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.syntax.c +383 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.token.c +285 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.tree.c +504 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.vp8l.c +1437 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/enc.webpenc.c +379 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/histogram.h +114 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/vp8enci.h +551 -0
- data/vendor/FreeImage/Source/LibWebP/src/enc/vp8li.h +78 -0
- data/vendor/FreeImage/Source/LibWebP/src/mux/mux.anim_encode.c +1241 -0
- data/vendor/FreeImage/Source/LibWebP/src/mux/mux.muxedit.c +696 -0
- data/vendor/FreeImage/Source/LibWebP/src/mux/mux.muxinternal.c +551 -0
- data/vendor/FreeImage/Source/LibWebP/src/mux/mux.muxread.c +544 -0
- data/vendor/FreeImage/Source/LibWebP/src/mux/muxi.h +232 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/bit_reader.h +168 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/bit_reader_inl.h +172 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/bit_writer.h +120 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/color_cache.h +74 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/endian_inl.h +100 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/filters.h +32 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/huffman.h +67 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/huffman_encode.h +60 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/quant_levels.h +36 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/quant_levels_dec.h +35 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/random.h +63 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/rescaler.h +78 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/thread.h +93 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.bit_reader.c +208 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.bit_writer.c +308 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.color_cache.c +49 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.filters.c +76 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.h +121 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.huffman.c +205 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.huffman_encode.c +417 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.quant_levels.c +140 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.quant_levels_dec.c +279 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.random.c +43 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.rescaler.c +82 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.thread.c +309 -0
- data/vendor/FreeImage/Source/LibWebP/src/utils/utils.utils.c +211 -0
- data/vendor/FreeImage/Source/LibWebP/src/webp/decode.h +493 -0
- data/vendor/FreeImage/Source/LibWebP/src/webp/demux.h +224 -0
- data/vendor/FreeImage/Source/LibWebP/src/webp/encode.h +515 -0
- data/vendor/FreeImage/Source/LibWebP/src/webp/format_constants.h +88 -0
- data/vendor/FreeImage/Source/LibWebP/src/webp/mux.h +507 -0
- data/vendor/FreeImage/Source/LibWebP/src/webp/mux_types.h +97 -0
- data/vendor/FreeImage/Source/LibWebP/src/webp/types.h +52 -0
- data/vendor/FreeImage/Source/MapIntrospector.h +212 -0
- data/vendor/FreeImage/Source/Metadata/Exif.cpp +1253 -0
- data/vendor/FreeImage/Source/Metadata/FIRational.cpp +176 -0
- data/vendor/FreeImage/Source/Metadata/FIRational.h +108 -0
- data/vendor/FreeImage/Source/Metadata/FreeImageTag.cpp +353 -0
- data/vendor/FreeImage/Source/Metadata/FreeImageTag.h +500 -0
- data/vendor/FreeImage/Source/Metadata/IPTC.cpp +342 -0
- data/vendor/FreeImage/Source/Metadata/TagConversion.cpp +1094 -0
- data/vendor/FreeImage/Source/Metadata/TagLib.cpp +1618 -0
- data/vendor/FreeImage/Source/Metadata/XTIFF.cpp +766 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/eLut.cpp +114 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/eLut.h +71 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/half.cpp +310 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/half.h +757 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/halfExport.h +27 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/halfFunction.h +179 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/halfLimits.h +102 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/toFloat.cpp +164 -0
- data/vendor/FreeImage/Source/OpenEXR/Half/toFloat.h +16391 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/Iex.h +60 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexBaseExc.cpp +156 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexBaseExc.h +264 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexErrnoExc.h +208 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexExport.h +51 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexForward.h +229 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexMacros.h +170 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexMathExc.h +57 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexNamespace.h +112 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexThrowErrnoExc.cpp +873 -0
- data/vendor/FreeImage/Source/OpenEXR/Iex/IexThrowErrnoExc.h +97 -0
- data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFloatExc.cpp +113 -0
- data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFloatExc.h +146 -0
- data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFpu.cpp +530 -0
- data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathFpu.h +91 -0
- data/vendor/FreeImage/Source/OpenEXR/IexMath/IexMathIeeeExc.h +62 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmBaseConfig.h +61 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAcesFile.cpp +633 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAcesFile.h +324 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfArray.h +285 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAttribute.cpp +158 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAttribute.h +407 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfAutoArray.h +95 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfB44Compressor.cpp +1072 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfB44Compressor.h +118 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp +111 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfBoxAttribute.h +87 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp +1438 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCRgbaFile.h +555 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelList.cpp +322 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelList.h +436 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp +150 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChannelListAttribute.h +74 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h +163 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticities.cpp +151 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticities.h +131 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp +87 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h +73 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp +591 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h +142 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompression.h +84 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp +78 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressionAttribute.h +64 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressor.cpp +226 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfCompressor.h +265 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfConvert.cpp +143 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfConvert.h +107 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp +110 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepCompositing.h +132 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp +230 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h +339 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepImageState.h +96 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp +78 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h +68 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp +2025 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h +276 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp +149 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h +181 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp +1552 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h +244 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp +107 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h +168 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp +1979 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h +437 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp +273 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h +362 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp +2055 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h +475 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp +250 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h +394 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp +57 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDoubleAttribute.h +59 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp +3424 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDwaCompressor.h +210 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h +2145 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmap.cpp +335 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmap.h +336 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp +76 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h +68 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfExport.h +46 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFastHuf.cpp +768 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFastHuf.h +148 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp +57 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatAttribute.h +58 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp +84 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h +76 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfForward.h +127 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp +228 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFrameBuffer.h +386 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp +76 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfFramesPerSecond.h +94 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp +76 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericInputFile.h +58 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp +112 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfGenericOutputFile.h +62 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHeader.cpp +1283 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHeader.h +699 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHuf.cpp +1114 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfHuf.h +82 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIO.cpp +110 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIO.h +255 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputFile.cpp +895 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputFile.h +240 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPart.cpp +114 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPart.h +84 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPartData.cpp +51 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputPartData.h +69 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInputStreamMutex.h +68 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfInt64.h +56 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIntAttribute.cpp +57 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfIntAttribute.h +58 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCode.cpp +217 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCode.h +167 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp +99 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h +73 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLineOrder.h +69 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp +78 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h +72 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLut.cpp +178 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfLut.h +188 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp +263 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMatrixAttribute.h +83 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMisc.cpp +1872 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMisc.h +466 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp +783 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h +128 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp +519 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h +118 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiView.cpp +435 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfMultiView.h +187 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfName.h +150 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfNamespace.h +115 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp +126 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h +110 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h +646 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputFile.cpp +1378 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputFile.h +263 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPart.cpp +105 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPart.h +77 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPartData.cpp +52 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputPartData.h +62 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h +70 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPartHelper.h +262 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPartType.cpp +63 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPartType.h +62 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPixelType.h +67 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPizCompressor.cpp +667 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPizCompressor.h +117 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImage.cpp +104 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImage.h +135 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp +103 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h +70 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp +553 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfPxr24Compressor.h +109 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRational.cpp +127 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRational.h +98 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp +74 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRationalAttribute.h +69 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgba.h +109 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaFile.cpp +1405 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaFile.h +346 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaYca.cpp +497 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRgbaYca.h +259 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRle.cpp +157 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRle.h +63 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRleCompressor.cpp +220 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfRleCompressor.h +80 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp +1702 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfScanLineInputFile.h +210 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfSimd.h +59 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp +125 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStandardAttributes.h +382 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStdIO.cpp +242 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStdIO.h +160 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringAttribute.cpp +80 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringAttribute.h +71 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp +100 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h +74 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp +129 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfSystemSpecific.h +172 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTestFile.cpp +216 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTestFile.h +97 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfThreading.cpp +62 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfThreading.h +95 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileDescription.h +107 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp +86 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h +72 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileOffsets.cpp +552 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTileOffsets.h +125 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp +1533 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputFile.h +401 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp +208 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledInputPart.h +100 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledMisc.cpp +389 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledMisc.h +106 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp +1841 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputFile.h +495 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp +228 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledOutputPart.h +105 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp +1163 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h +482 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCode.cpp +431 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCode.h +242 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp +79 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h +74 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVecAttribute.cpp +217 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVecAttribute.h +100 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVersion.cpp +60 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfVersion.h +136 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfWav.cpp +391 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfWav.h +78 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfXdr.h +927 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZip.cpp +196 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZip.h +78 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZipCompressor.cpp +127 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/ImfZipCompressor.h +89 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/b44ExpLogTable.cpp +136 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/b44ExpLogTable.h +16396 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/dwaLookups.cpp +573 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmImf/dwaLookups.h +98334 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThread.cpp +80 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThread.h +143 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadExport.h +46 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadForward.h +52 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutex.cpp +59 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutex.h +160 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutexPosix.cpp +85 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadMutexWin32.cpp +79 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadNamespace.h +114 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadPool.cpp +483 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadPool.h +160 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadPosix.cpp +98 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp +60 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphore.h +112 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphorePosix.cpp +106 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphorePosixCompat.cpp +155 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadSemaphoreWin32.cpp +153 -0
- data/vendor/FreeImage/Source/OpenEXR/IlmThread/IlmThreadWin32.cpp +100 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathBox.cpp +37 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathBox.h +849 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathBoxAlgo.h +1016 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathColor.h +736 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathColorAlgo.cpp +178 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathColorAlgo.h +257 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathEuler.h +926 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathExc.h +73 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathExport.h +46 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathForward.h +72 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFrame.h +192 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFrustum.h +741 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFrustumTest.h +417 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFun.cpp +181 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathFun.h +269 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathGL.h +166 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathGLU.h +54 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathHalfLimits.h +68 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathInt64.h +62 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathInterval.h +226 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathLimits.h +268 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathLine.h +185 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathLineAlgo.h +288 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMath.h +208 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMatrix.h +3441 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMatrixAlgo.cpp +1252 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathMatrixAlgo.h +1425 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathNamespace.h +115 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathPlane.h +257 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathPlatform.h +112 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathQuat.h +964 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathRandom.cpp +194 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathRandom.h +401 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathRoots.h +219 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathShear.cpp +54 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathShear.h +656 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathSphere.h +177 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathVec.cpp +583 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathVec.h +2227 -0
- data/vendor/FreeImage/Source/OpenEXR/Imath/ImathVecAlgo.h +147 -0
- data/vendor/FreeImage/Source/OpenEXR/OpenEXRConfig.h +72 -0
- data/vendor/FreeImage/Source/Plugin.h +144 -0
- data/vendor/FreeImage/Source/Quantizers.h +354 -0
- data/vendor/FreeImage/Source/ToneMapping.h +44 -0
- data/vendor/FreeImage/Source/Utilities.h +516 -0
- data/vendor/FreeImage/Source/ZLib/adler32.c +179 -0
- data/vendor/FreeImage/Source/ZLib/compress.c +80 -0
- data/vendor/FreeImage/Source/ZLib/crc32.c +425 -0
- data/vendor/FreeImage/Source/ZLib/crc32.h +441 -0
- data/vendor/FreeImage/Source/ZLib/deflate.c +1967 -0
- data/vendor/FreeImage/Source/ZLib/deflate.h +346 -0
- data/vendor/FreeImage/Source/ZLib/gzclose.c +25 -0
- data/vendor/FreeImage/Source/ZLib/gzguts.h +209 -0
- data/vendor/FreeImage/Source/ZLib/gzlib.c +634 -0
- data/vendor/FreeImage/Source/ZLib/gzread.c +594 -0
- data/vendor/FreeImage/Source/ZLib/gzwrite.c +577 -0
- data/vendor/FreeImage/Source/ZLib/infback.c +640 -0
- data/vendor/FreeImage/Source/ZLib/inffast.c +340 -0
- data/vendor/FreeImage/Source/ZLib/inffast.h +11 -0
- data/vendor/FreeImage/Source/ZLib/inffixed.h +94 -0
- data/vendor/FreeImage/Source/ZLib/inflate.c +1512 -0
- data/vendor/FreeImage/Source/ZLib/inflate.h +122 -0
- data/vendor/FreeImage/Source/ZLib/inftrees.c +306 -0
- data/vendor/FreeImage/Source/ZLib/inftrees.h +62 -0
- data/vendor/FreeImage/Source/ZLib/trees.c +1226 -0
- data/vendor/FreeImage/Source/ZLib/trees.h +128 -0
- data/vendor/FreeImage/Source/ZLib/uncompr.c +59 -0
- data/vendor/FreeImage/Source/ZLib/zconf.h +511 -0
- data/vendor/FreeImage/Source/ZLib/zlib.h +1768 -0
- data/vendor/FreeImage/Source/ZLib/zutil.c +324 -0
- data/vendor/FreeImage/Source/ZLib/zutil.h +253 -0
- metadata +931 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
// Copyright 2010 Google Inc. All Rights Reserved.
|
|
2
|
+
//
|
|
3
|
+
// Use of this source code is governed by a BSD-style license
|
|
4
|
+
// that can be found in the COPYING file in the root of the source
|
|
5
|
+
// tree. An additional intellectual property rights grant can be found
|
|
6
|
+
// in the file PATENTS. All contributing project authors may
|
|
7
|
+
// be found in the AUTHORS file in the root of the source tree.
|
|
8
|
+
// -----------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// Low-level API for VP8 decoder
|
|
11
|
+
//
|
|
12
|
+
// Author: Skal (pascal.massimino@gmail.com)
|
|
13
|
+
|
|
14
|
+
#ifndef WEBP_WEBP_DECODE_VP8_H_
|
|
15
|
+
#define WEBP_WEBP_DECODE_VP8_H_
|
|
16
|
+
|
|
17
|
+
#include "../webp/decode.h"
|
|
18
|
+
|
|
19
|
+
#ifdef __cplusplus
|
|
20
|
+
extern "C" {
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
//------------------------------------------------------------------------------
|
|
24
|
+
// Lower-level API
|
|
25
|
+
//
|
|
26
|
+
// These functions provide fine-grained control of the decoding process.
|
|
27
|
+
// The call flow should resemble:
|
|
28
|
+
//
|
|
29
|
+
// VP8Io io;
|
|
30
|
+
// VP8InitIo(&io);
|
|
31
|
+
// io.data = data;
|
|
32
|
+
// io.data_size = size;
|
|
33
|
+
// /* customize io's functions (setup()/put()/teardown()) if needed. */
|
|
34
|
+
//
|
|
35
|
+
// VP8Decoder* dec = VP8New();
|
|
36
|
+
// bool ok = VP8Decode(dec);
|
|
37
|
+
// if (!ok) printf("Error: %s\n", VP8StatusMessage(dec));
|
|
38
|
+
// VP8Delete(dec);
|
|
39
|
+
// return ok;
|
|
40
|
+
|
|
41
|
+
// Input / Output
|
|
42
|
+
typedef struct VP8Io VP8Io;
|
|
43
|
+
typedef int (*VP8IoPutHook)(const VP8Io* io);
|
|
44
|
+
typedef int (*VP8IoSetupHook)(VP8Io* io);
|
|
45
|
+
typedef void (*VP8IoTeardownHook)(const VP8Io* io);
|
|
46
|
+
|
|
47
|
+
struct VP8Io {
|
|
48
|
+
// set by VP8GetHeaders()
|
|
49
|
+
int width, height; // picture dimensions, in pixels (invariable).
|
|
50
|
+
// These are the original, uncropped dimensions.
|
|
51
|
+
// The actual area passed to put() is stored
|
|
52
|
+
// in mb_w / mb_h fields.
|
|
53
|
+
|
|
54
|
+
// set before calling put()
|
|
55
|
+
int mb_y; // position of the current rows (in pixels)
|
|
56
|
+
int mb_w; // number of columns in the sample
|
|
57
|
+
int mb_h; // number of rows in the sample
|
|
58
|
+
const uint8_t* y, *u, *v; // rows to copy (in yuv420 format)
|
|
59
|
+
int y_stride; // row stride for luma
|
|
60
|
+
int uv_stride; // row stride for chroma
|
|
61
|
+
|
|
62
|
+
void* opaque; // user data
|
|
63
|
+
|
|
64
|
+
// called when fresh samples are available. Currently, samples are in
|
|
65
|
+
// YUV420 format, and can be up to width x 24 in size (depending on the
|
|
66
|
+
// in-loop filtering level, e.g.). Should return false in case of error
|
|
67
|
+
// or abort request. The actual size of the area to update is mb_w x mb_h
|
|
68
|
+
// in size, taking cropping into account.
|
|
69
|
+
VP8IoPutHook put;
|
|
70
|
+
|
|
71
|
+
// called just before starting to decode the blocks.
|
|
72
|
+
// Must return false in case of setup error, true otherwise. If false is
|
|
73
|
+
// returned, teardown() will NOT be called. But if the setup succeeded
|
|
74
|
+
// and true is returned, then teardown() will always be called afterward.
|
|
75
|
+
VP8IoSetupHook setup;
|
|
76
|
+
|
|
77
|
+
// Called just after block decoding is finished (or when an error occurred
|
|
78
|
+
// during put()). Is NOT called if setup() failed.
|
|
79
|
+
VP8IoTeardownHook teardown;
|
|
80
|
+
|
|
81
|
+
// this is a recommendation for the user-side yuv->rgb converter. This flag
|
|
82
|
+
// is set when calling setup() hook and can be overwritten by it. It then
|
|
83
|
+
// can be taken into consideration during the put() method.
|
|
84
|
+
int fancy_upsampling;
|
|
85
|
+
|
|
86
|
+
// Input buffer.
|
|
87
|
+
size_t data_size;
|
|
88
|
+
const uint8_t* data;
|
|
89
|
+
|
|
90
|
+
// If true, in-loop filtering will not be performed even if present in the
|
|
91
|
+
// bitstream. Switching off filtering may speed up decoding at the expense
|
|
92
|
+
// of more visible blocking. Note that output will also be non-compliant
|
|
93
|
+
// with the VP8 specifications.
|
|
94
|
+
int bypass_filtering;
|
|
95
|
+
|
|
96
|
+
// Cropping parameters.
|
|
97
|
+
int use_cropping;
|
|
98
|
+
int crop_left, crop_right, crop_top, crop_bottom;
|
|
99
|
+
|
|
100
|
+
// Scaling parameters.
|
|
101
|
+
int use_scaling;
|
|
102
|
+
int scaled_width, scaled_height;
|
|
103
|
+
|
|
104
|
+
// If non NULL, pointer to the alpha data (if present) corresponding to the
|
|
105
|
+
// start of the current row (That is: it is pre-offset by mb_y and takes
|
|
106
|
+
// cropping into account).
|
|
107
|
+
const uint8_t* a;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
// Internal, version-checked, entry point
|
|
111
|
+
int VP8InitIoInternal(VP8Io* const, int);
|
|
112
|
+
|
|
113
|
+
// Set the custom IO function pointers and user-data. The setter for IO hooks
|
|
114
|
+
// should be called before initiating incremental decoding. Returns true if
|
|
115
|
+
// WebPIDecoder object is successfully modified, false otherwise.
|
|
116
|
+
int WebPISetIOHooks(WebPIDecoder* const idec,
|
|
117
|
+
VP8IoPutHook put,
|
|
118
|
+
VP8IoSetupHook setup,
|
|
119
|
+
VP8IoTeardownHook teardown,
|
|
120
|
+
void* user_data);
|
|
121
|
+
|
|
122
|
+
// Main decoding object. This is an opaque structure.
|
|
123
|
+
typedef struct VP8Decoder VP8Decoder;
|
|
124
|
+
|
|
125
|
+
// Create a new decoder object.
|
|
126
|
+
VP8Decoder* VP8New(void);
|
|
127
|
+
|
|
128
|
+
// Must be called to make sure 'io' is initialized properly.
|
|
129
|
+
// Returns false in case of version mismatch. Upon such failure, no other
|
|
130
|
+
// decoding function should be called (VP8Decode, VP8GetHeaders, ...)
|
|
131
|
+
static WEBP_INLINE int VP8InitIo(VP8Io* const io) {
|
|
132
|
+
return VP8InitIoInternal(io, WEBP_DECODER_ABI_VERSION);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Decode the VP8 frame header. Returns true if ok.
|
|
136
|
+
// Note: 'io->data' must be pointing to the start of the VP8 frame header.
|
|
137
|
+
int VP8GetHeaders(VP8Decoder* const dec, VP8Io* const io);
|
|
138
|
+
|
|
139
|
+
// Decode a picture. Will call VP8GetHeaders() if it wasn't done already.
|
|
140
|
+
// Returns false in case of error.
|
|
141
|
+
int VP8Decode(VP8Decoder* const dec, VP8Io* const io);
|
|
142
|
+
|
|
143
|
+
// Return current status of the decoder:
|
|
144
|
+
VP8StatusCode VP8Status(VP8Decoder* const dec);
|
|
145
|
+
|
|
146
|
+
// return readable string corresponding to the last status.
|
|
147
|
+
const char* VP8StatusMessage(VP8Decoder* const dec);
|
|
148
|
+
|
|
149
|
+
// Resets the decoder in its initial state, reclaiming memory.
|
|
150
|
+
// Not a mandatory call between calls to VP8Decode().
|
|
151
|
+
void VP8Clear(VP8Decoder* const dec);
|
|
152
|
+
|
|
153
|
+
// Destroy the decoder object.
|
|
154
|
+
void VP8Delete(VP8Decoder* const dec);
|
|
155
|
+
|
|
156
|
+
//------------------------------------------------------------------------------
|
|
157
|
+
// Miscellaneous VP8/VP8L bitstream probing functions.
|
|
158
|
+
|
|
159
|
+
// Returns true if the next 3 bytes in data contain the VP8 signature.
|
|
160
|
+
WEBP_EXTERN(int) VP8CheckSignature(const uint8_t* const data, size_t data_size);
|
|
161
|
+
|
|
162
|
+
// Validates the VP8 data-header and retrieves basic header information viz
|
|
163
|
+
// width and height. Returns 0 in case of formatting error. *width/*height
|
|
164
|
+
// can be passed NULL.
|
|
165
|
+
WEBP_EXTERN(int) VP8GetInfo(
|
|
166
|
+
const uint8_t* data,
|
|
167
|
+
size_t data_size, // data available so far
|
|
168
|
+
size_t chunk_size, // total data size expected in the chunk
|
|
169
|
+
int* const width, int* const height);
|
|
170
|
+
|
|
171
|
+
// Returns true if the next byte(s) in data is a VP8L signature.
|
|
172
|
+
WEBP_EXTERN(int) VP8LCheckSignature(const uint8_t* const data, size_t size);
|
|
173
|
+
|
|
174
|
+
// Validates the VP8L data-header and retrieves basic header information viz
|
|
175
|
+
// width, height and alpha. Returns 0 in case of formatting error.
|
|
176
|
+
// width/height/has_alpha can be passed NULL.
|
|
177
|
+
WEBP_EXTERN(int) VP8LGetInfo(
|
|
178
|
+
const uint8_t* data, size_t data_size, // data available so far
|
|
179
|
+
int* const width, int* const height, int* const has_alpha);
|
|
180
|
+
|
|
181
|
+
#ifdef __cplusplus
|
|
182
|
+
} // extern "C"
|
|
183
|
+
#endif
|
|
184
|
+
|
|
185
|
+
#endif /* WEBP_WEBP_DECODE_VP8_H_ */
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
// Copyright 2010 Google Inc. All Rights Reserved.
|
|
2
|
+
//
|
|
3
|
+
// Use of this source code is governed by a BSD-style license
|
|
4
|
+
// that can be found in the COPYING file in the root of the source
|
|
5
|
+
// tree. An additional intellectual property rights grant can be found
|
|
6
|
+
// in the file PATENTS. All contributing project authors may
|
|
7
|
+
// be found in the AUTHORS file in the root of the source tree.
|
|
8
|
+
// -----------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// VP8 decoder: internal header.
|
|
11
|
+
//
|
|
12
|
+
// Author: Skal (pascal.massimino@gmail.com)
|
|
13
|
+
|
|
14
|
+
#ifndef WEBP_DEC_VP8I_H_
|
|
15
|
+
#define WEBP_DEC_VP8I_H_
|
|
16
|
+
|
|
17
|
+
#include <string.h> // for memcpy()
|
|
18
|
+
#include "./vp8li.h"
|
|
19
|
+
#include "../utils/bit_reader.h"
|
|
20
|
+
#include "../utils/random.h"
|
|
21
|
+
#include "../utils/thread.h"
|
|
22
|
+
#include "../dsp/dsp.h"
|
|
23
|
+
|
|
24
|
+
#ifdef __cplusplus
|
|
25
|
+
extern "C" {
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
//------------------------------------------------------------------------------
|
|
29
|
+
// Various defines and enums
|
|
30
|
+
|
|
31
|
+
// version numbers
|
|
32
|
+
#define DEC_MAJ_VERSION 0
|
|
33
|
+
#define DEC_MIN_VERSION 4
|
|
34
|
+
#define DEC_REV_VERSION 2
|
|
35
|
+
|
|
36
|
+
// intra prediction modes
|
|
37
|
+
enum { B_DC_PRED = 0, // 4x4 modes
|
|
38
|
+
B_TM_PRED,
|
|
39
|
+
B_VE_PRED,
|
|
40
|
+
B_HE_PRED,
|
|
41
|
+
B_RD_PRED,
|
|
42
|
+
B_VR_PRED,
|
|
43
|
+
B_LD_PRED,
|
|
44
|
+
B_VL_PRED,
|
|
45
|
+
B_HD_PRED,
|
|
46
|
+
B_HU_PRED,
|
|
47
|
+
NUM_BMODES = B_HU_PRED + 1 - B_DC_PRED, // = 10
|
|
48
|
+
|
|
49
|
+
// Luma16 or UV modes
|
|
50
|
+
DC_PRED = B_DC_PRED, V_PRED = B_VE_PRED,
|
|
51
|
+
H_PRED = B_HE_PRED, TM_PRED = B_TM_PRED,
|
|
52
|
+
B_PRED = NUM_BMODES, // refined I4x4 mode
|
|
53
|
+
|
|
54
|
+
// special modes
|
|
55
|
+
B_DC_PRED_NOTOP = 4,
|
|
56
|
+
B_DC_PRED_NOLEFT = 5,
|
|
57
|
+
B_DC_PRED_NOTOPLEFT = 6,
|
|
58
|
+
NUM_B_DC_MODES = 7 };
|
|
59
|
+
|
|
60
|
+
enum { MB_FEATURE_TREE_PROBS = 3,
|
|
61
|
+
NUM_MB_SEGMENTS = 4,
|
|
62
|
+
NUM_REF_LF_DELTAS = 4,
|
|
63
|
+
NUM_MODE_LF_DELTAS = 4, // I4x4, ZERO, *, SPLIT
|
|
64
|
+
MAX_NUM_PARTITIONS = 8,
|
|
65
|
+
// Probabilities
|
|
66
|
+
NUM_TYPES = 4,
|
|
67
|
+
NUM_BANDS = 8,
|
|
68
|
+
NUM_CTX = 3,
|
|
69
|
+
NUM_PROBAS = 11,
|
|
70
|
+
NUM_MV_PROBAS = 19 };
|
|
71
|
+
|
|
72
|
+
// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline).
|
|
73
|
+
// Constraints are: We need to store one 16x16 block of luma samples (y),
|
|
74
|
+
// and two 8x8 chroma blocks (u/v). These are better be 16-bytes aligned,
|
|
75
|
+
// in order to be SIMD-friendly. We also need to store the top, left and
|
|
76
|
+
// top-left samples (from previously decoded blocks), along with four
|
|
77
|
+
// extra top-right samples for luma (intra4x4 prediction only).
|
|
78
|
+
// One possible layout is, using 32 * (17 + 9) bytes:
|
|
79
|
+
//
|
|
80
|
+
// .+------ <- only 1 pixel high
|
|
81
|
+
// .|yyyyt.
|
|
82
|
+
// .|yyyyt.
|
|
83
|
+
// .|yyyyt.
|
|
84
|
+
// .|yyyy..
|
|
85
|
+
// .+--.+-- <- only 1 pixel high
|
|
86
|
+
// .|uu.|vv
|
|
87
|
+
// .|uu.|vv
|
|
88
|
+
//
|
|
89
|
+
// Every character is a 4x4 block, with legend:
|
|
90
|
+
// '.' = unused
|
|
91
|
+
// 'y' = y-samples 'u' = u-samples 'v' = u-samples
|
|
92
|
+
// '|' = left sample, '-' = top sample, '+' = top-left sample
|
|
93
|
+
// 't' = extra top-right sample for 4x4 modes
|
|
94
|
+
#define YUV_SIZE (BPS * 17 + BPS * 9)
|
|
95
|
+
#define Y_SIZE (BPS * 17)
|
|
96
|
+
#define Y_OFF (BPS * 1 + 8)
|
|
97
|
+
#define U_OFF (Y_OFF + BPS * 16 + BPS)
|
|
98
|
+
#define V_OFF (U_OFF + 16)
|
|
99
|
+
|
|
100
|
+
// minimal width under which lossy multi-threading is always disabled
|
|
101
|
+
#define MIN_WIDTH_FOR_THREADS 512
|
|
102
|
+
|
|
103
|
+
//------------------------------------------------------------------------------
|
|
104
|
+
// Headers
|
|
105
|
+
|
|
106
|
+
typedef struct {
|
|
107
|
+
uint8_t key_frame_;
|
|
108
|
+
uint8_t profile_;
|
|
109
|
+
uint8_t show_;
|
|
110
|
+
uint32_t partition_length_;
|
|
111
|
+
} VP8FrameHeader;
|
|
112
|
+
|
|
113
|
+
typedef struct {
|
|
114
|
+
uint16_t width_;
|
|
115
|
+
uint16_t height_;
|
|
116
|
+
uint8_t xscale_;
|
|
117
|
+
uint8_t yscale_;
|
|
118
|
+
uint8_t colorspace_; // 0 = YCbCr
|
|
119
|
+
uint8_t clamp_type_;
|
|
120
|
+
} VP8PictureHeader;
|
|
121
|
+
|
|
122
|
+
// segment features
|
|
123
|
+
typedef struct {
|
|
124
|
+
int use_segment_;
|
|
125
|
+
int update_map_; // whether to update the segment map or not
|
|
126
|
+
int absolute_delta_; // absolute or delta values for quantizer and filter
|
|
127
|
+
int8_t quantizer_[NUM_MB_SEGMENTS]; // quantization changes
|
|
128
|
+
int8_t filter_strength_[NUM_MB_SEGMENTS]; // filter strength for segments
|
|
129
|
+
} VP8SegmentHeader;
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
// probas associated to one of the contexts
|
|
133
|
+
typedef uint8_t VP8ProbaArray[NUM_PROBAS];
|
|
134
|
+
|
|
135
|
+
typedef struct { // all the probas associated to one band
|
|
136
|
+
VP8ProbaArray probas_[NUM_CTX];
|
|
137
|
+
} VP8BandProbas;
|
|
138
|
+
|
|
139
|
+
// Struct collecting all frame-persistent probabilities.
|
|
140
|
+
typedef struct {
|
|
141
|
+
uint8_t segments_[MB_FEATURE_TREE_PROBS];
|
|
142
|
+
// Type: 0:Intra16-AC 1:Intra16-DC 2:Chroma 3:Intra4
|
|
143
|
+
VP8BandProbas bands_[NUM_TYPES][NUM_BANDS];
|
|
144
|
+
const VP8BandProbas* bands_ptr_[NUM_TYPES][16 + 1];
|
|
145
|
+
} VP8Proba;
|
|
146
|
+
|
|
147
|
+
// Filter parameters
|
|
148
|
+
typedef struct {
|
|
149
|
+
int simple_; // 0=complex, 1=simple
|
|
150
|
+
int level_; // [0..63]
|
|
151
|
+
int sharpness_; // [0..7]
|
|
152
|
+
int use_lf_delta_;
|
|
153
|
+
int ref_lf_delta_[NUM_REF_LF_DELTAS];
|
|
154
|
+
int mode_lf_delta_[NUM_MODE_LF_DELTAS];
|
|
155
|
+
} VP8FilterHeader;
|
|
156
|
+
|
|
157
|
+
//------------------------------------------------------------------------------
|
|
158
|
+
// Informations about the macroblocks.
|
|
159
|
+
|
|
160
|
+
typedef struct { // filter specs
|
|
161
|
+
uint8_t f_limit_; // filter limit in [3..189], or 0 if no filtering
|
|
162
|
+
uint8_t f_ilevel_; // inner limit in [1..63]
|
|
163
|
+
uint8_t f_inner_; // do inner filtering?
|
|
164
|
+
uint8_t hev_thresh_; // high edge variance threshold in [0..2]
|
|
165
|
+
} VP8FInfo;
|
|
166
|
+
|
|
167
|
+
typedef struct { // Top/Left Contexts used for syntax-parsing
|
|
168
|
+
uint8_t nz_; // non-zero AC/DC coeffs (4bit for luma + 4bit for chroma)
|
|
169
|
+
uint8_t nz_dc_; // non-zero DC coeff (1bit)
|
|
170
|
+
} VP8MB;
|
|
171
|
+
|
|
172
|
+
// Dequantization matrices
|
|
173
|
+
typedef int quant_t[2]; // [DC / AC]. Can be 'uint16_t[2]' too (~slower).
|
|
174
|
+
typedef struct {
|
|
175
|
+
quant_t y1_mat_, y2_mat_, uv_mat_;
|
|
176
|
+
|
|
177
|
+
int uv_quant_; // U/V quantizer value
|
|
178
|
+
int dither_; // dithering amplitude (0 = off, max=255)
|
|
179
|
+
} VP8QuantMatrix;
|
|
180
|
+
|
|
181
|
+
// Data needed to reconstruct a macroblock
|
|
182
|
+
typedef struct {
|
|
183
|
+
int16_t coeffs_[384]; // 384 coeffs = (16+4+4) * 4*4
|
|
184
|
+
uint8_t is_i4x4_; // true if intra4x4
|
|
185
|
+
uint8_t imodes_[16]; // one 16x16 mode (#0) or sixteen 4x4 modes
|
|
186
|
+
uint8_t uvmode_; // chroma prediction mode
|
|
187
|
+
// bit-wise info about the content of each sub-4x4 blocks (in decoding order).
|
|
188
|
+
// Each of the 4x4 blocks for y/u/v is associated with a 2b code according to:
|
|
189
|
+
// code=0 -> no coefficient
|
|
190
|
+
// code=1 -> only DC
|
|
191
|
+
// code=2 -> first three coefficients are non-zero
|
|
192
|
+
// code=3 -> more than three coefficients are non-zero
|
|
193
|
+
// This allows to call specialized transform functions.
|
|
194
|
+
uint32_t non_zero_y_;
|
|
195
|
+
uint32_t non_zero_uv_;
|
|
196
|
+
uint8_t dither_; // local dithering strength (deduced from non_zero_*)
|
|
197
|
+
uint8_t skip_;
|
|
198
|
+
uint8_t segment_;
|
|
199
|
+
} VP8MBData;
|
|
200
|
+
|
|
201
|
+
// Persistent information needed by the parallel processing
|
|
202
|
+
typedef struct {
|
|
203
|
+
int id_; // cache row to process (in [0..2])
|
|
204
|
+
int mb_y_; // macroblock position of the row
|
|
205
|
+
int filter_row_; // true if row-filtering is needed
|
|
206
|
+
VP8FInfo* f_info_; // filter strengths (swapped with dec->f_info_)
|
|
207
|
+
VP8MBData* mb_data_; // reconstruction data (swapped with dec->mb_data_)
|
|
208
|
+
VP8Io io_; // copy of the VP8Io to pass to put()
|
|
209
|
+
} VP8ThreadContext;
|
|
210
|
+
|
|
211
|
+
// Saved top samples, per macroblock. Fits into a cache-line.
|
|
212
|
+
typedef struct {
|
|
213
|
+
uint8_t y[16], u[8], v[8];
|
|
214
|
+
} VP8TopSamples;
|
|
215
|
+
|
|
216
|
+
//------------------------------------------------------------------------------
|
|
217
|
+
// VP8Decoder: the main opaque structure handed over to user
|
|
218
|
+
|
|
219
|
+
struct VP8Decoder {
|
|
220
|
+
VP8StatusCode status_;
|
|
221
|
+
int ready_; // true if ready to decode a picture with VP8Decode()
|
|
222
|
+
const char* error_msg_; // set when status_ is not OK.
|
|
223
|
+
|
|
224
|
+
// Main data source
|
|
225
|
+
VP8BitReader br_;
|
|
226
|
+
|
|
227
|
+
// headers
|
|
228
|
+
VP8FrameHeader frm_hdr_;
|
|
229
|
+
VP8PictureHeader pic_hdr_;
|
|
230
|
+
VP8FilterHeader filter_hdr_;
|
|
231
|
+
VP8SegmentHeader segment_hdr_;
|
|
232
|
+
|
|
233
|
+
// Worker
|
|
234
|
+
WebPWorker worker_;
|
|
235
|
+
int mt_method_; // multi-thread method: 0=off, 1=[parse+recon][filter]
|
|
236
|
+
// 2=[parse][recon+filter]
|
|
237
|
+
int cache_id_; // current cache row
|
|
238
|
+
int num_caches_; // number of cached rows of 16 pixels (1, 2 or 3)
|
|
239
|
+
VP8ThreadContext thread_ctx_; // Thread context
|
|
240
|
+
|
|
241
|
+
// dimension, in macroblock units.
|
|
242
|
+
int mb_w_, mb_h_;
|
|
243
|
+
|
|
244
|
+
// Macroblock to process/filter, depending on cropping and filter_type.
|
|
245
|
+
int tl_mb_x_, tl_mb_y_; // top-left MB that must be in-loop filtered
|
|
246
|
+
int br_mb_x_, br_mb_y_; // last bottom-right MB that must be decoded
|
|
247
|
+
|
|
248
|
+
// number of partitions.
|
|
249
|
+
int num_parts_;
|
|
250
|
+
// per-partition boolean decoders.
|
|
251
|
+
VP8BitReader parts_[MAX_NUM_PARTITIONS];
|
|
252
|
+
|
|
253
|
+
// Dithering strength, deduced from decoding options
|
|
254
|
+
int dither_; // whether to use dithering or not
|
|
255
|
+
VP8Random dithering_rg_; // random generator for dithering
|
|
256
|
+
|
|
257
|
+
// dequantization (one set of DC/AC dequant factor per segment)
|
|
258
|
+
VP8QuantMatrix dqm_[NUM_MB_SEGMENTS];
|
|
259
|
+
|
|
260
|
+
// probabilities
|
|
261
|
+
VP8Proba proba_;
|
|
262
|
+
int use_skip_proba_;
|
|
263
|
+
uint8_t skip_p_;
|
|
264
|
+
|
|
265
|
+
// Boundary data cache and persistent buffers.
|
|
266
|
+
uint8_t* intra_t_; // top intra modes values: 4 * mb_w_
|
|
267
|
+
uint8_t intra_l_[4]; // left intra modes values
|
|
268
|
+
|
|
269
|
+
VP8TopSamples* yuv_t_; // top y/u/v samples
|
|
270
|
+
|
|
271
|
+
VP8MB* mb_info_; // contextual macroblock info (mb_w_ + 1)
|
|
272
|
+
VP8FInfo* f_info_; // filter strength info
|
|
273
|
+
uint8_t* yuv_b_; // main block for Y/U/V (size = YUV_SIZE)
|
|
274
|
+
|
|
275
|
+
uint8_t* cache_y_; // macroblock row for storing unfiltered samples
|
|
276
|
+
uint8_t* cache_u_;
|
|
277
|
+
uint8_t* cache_v_;
|
|
278
|
+
int cache_y_stride_;
|
|
279
|
+
int cache_uv_stride_;
|
|
280
|
+
|
|
281
|
+
// main memory chunk for the above data. Persistent.
|
|
282
|
+
void* mem_;
|
|
283
|
+
size_t mem_size_;
|
|
284
|
+
|
|
285
|
+
// Per macroblock non-persistent infos.
|
|
286
|
+
int mb_x_, mb_y_; // current position, in macroblock units
|
|
287
|
+
VP8MBData* mb_data_; // parsed reconstruction data
|
|
288
|
+
|
|
289
|
+
// Filtering side-info
|
|
290
|
+
int filter_type_; // 0=off, 1=simple, 2=complex
|
|
291
|
+
VP8FInfo fstrengths_[NUM_MB_SEGMENTS][2]; // precalculated per-segment/type
|
|
292
|
+
|
|
293
|
+
// Alpha
|
|
294
|
+
struct ALPHDecoder* alph_dec_; // alpha-plane decoder object
|
|
295
|
+
const uint8_t* alpha_data_; // compressed alpha data (if present)
|
|
296
|
+
size_t alpha_data_size_;
|
|
297
|
+
int is_alpha_decoded_; // true if alpha_data_ is decoded in alpha_plane_
|
|
298
|
+
uint8_t* alpha_plane_; // output. Persistent, contains the whole data.
|
|
299
|
+
int alpha_dithering_; // derived from decoding options (0=off, 100=full).
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
//------------------------------------------------------------------------------
|
|
303
|
+
// internal functions. Not public.
|
|
304
|
+
|
|
305
|
+
// in vp8.c
|
|
306
|
+
int VP8SetError(VP8Decoder* const dec,
|
|
307
|
+
VP8StatusCode error, const char* const msg);
|
|
308
|
+
|
|
309
|
+
// in tree.c
|
|
310
|
+
void VP8ResetProba(VP8Proba* const proba);
|
|
311
|
+
void VP8ParseProba(VP8BitReader* const br, VP8Decoder* const dec);
|
|
312
|
+
// parses one row of intra mode data in partition 0, returns !eof
|
|
313
|
+
int VP8ParseIntraModeRow(VP8BitReader* const br, VP8Decoder* const dec);
|
|
314
|
+
|
|
315
|
+
// in quant.c
|
|
316
|
+
void VP8ParseQuant(VP8Decoder* const dec);
|
|
317
|
+
|
|
318
|
+
// in frame.c
|
|
319
|
+
int VP8InitFrame(VP8Decoder* const dec, VP8Io* io);
|
|
320
|
+
// Call io->setup() and finish setting up scan parameters.
|
|
321
|
+
// After this call returns, one must always call VP8ExitCritical() with the
|
|
322
|
+
// same parameters. Both functions should be used in pair. Returns VP8_STATUS_OK
|
|
323
|
+
// if ok, otherwise sets and returns the error status on *dec.
|
|
324
|
+
VP8StatusCode VP8EnterCritical(VP8Decoder* const dec, VP8Io* const io);
|
|
325
|
+
// Must always be called in pair with VP8EnterCritical().
|
|
326
|
+
// Returns false in case of error.
|
|
327
|
+
int VP8ExitCritical(VP8Decoder* const dec, VP8Io* const io);
|
|
328
|
+
// Return the multi-threading method to use (0=off), depending
|
|
329
|
+
// on options and bitstream size. Only for lossy decoding.
|
|
330
|
+
int VP8GetThreadMethod(const WebPDecoderOptions* const options,
|
|
331
|
+
const WebPHeaderStructure* const headers,
|
|
332
|
+
int width, int height);
|
|
333
|
+
// Initialize dithering post-process if needed.
|
|
334
|
+
void VP8InitDithering(const WebPDecoderOptions* const options,
|
|
335
|
+
VP8Decoder* const dec);
|
|
336
|
+
// Process the last decoded row (filtering + output).
|
|
337
|
+
int VP8ProcessRow(VP8Decoder* const dec, VP8Io* const io);
|
|
338
|
+
// To be called at the start of a new scanline, to initialize predictors.
|
|
339
|
+
void VP8InitScanline(VP8Decoder* const dec);
|
|
340
|
+
// Decode one macroblock. Returns false if there is not enough data.
|
|
341
|
+
int VP8DecodeMB(VP8Decoder* const dec, VP8BitReader* const token_br);
|
|
342
|
+
|
|
343
|
+
// in alpha.c
|
|
344
|
+
const uint8_t* VP8DecompressAlphaRows(VP8Decoder* const dec,
|
|
345
|
+
int row, int num_rows);
|
|
346
|
+
|
|
347
|
+
//------------------------------------------------------------------------------
|
|
348
|
+
|
|
349
|
+
#ifdef __cplusplus
|
|
350
|
+
} // extern "C"
|
|
351
|
+
#endif
|
|
352
|
+
|
|
353
|
+
#endif /* WEBP_DEC_VP8I_H_ */
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
// Copyright 2012 Google Inc. All Rights Reserved.
|
|
2
|
+
//
|
|
3
|
+
// Use of this source code is governed by a BSD-style license
|
|
4
|
+
// that can be found in the COPYING file in the root of the source
|
|
5
|
+
// tree. An additional intellectual property rights grant can be found
|
|
6
|
+
// in the file PATENTS. All contributing project authors may
|
|
7
|
+
// be found in the AUTHORS file in the root of the source tree.
|
|
8
|
+
// -----------------------------------------------------------------------------
|
|
9
|
+
//
|
|
10
|
+
// Lossless decoder: internal header.
|
|
11
|
+
//
|
|
12
|
+
// Author: Skal (pascal.massimino@gmail.com)
|
|
13
|
+
// Vikas Arora(vikaas.arora@gmail.com)
|
|
14
|
+
|
|
15
|
+
#ifndef WEBP_DEC_VP8LI_H_
|
|
16
|
+
#define WEBP_DEC_VP8LI_H_
|
|
17
|
+
|
|
18
|
+
#include <string.h> // for memcpy()
|
|
19
|
+
#include "./webpi.h"
|
|
20
|
+
#include "../utils/bit_reader.h"
|
|
21
|
+
#include "../utils/color_cache.h"
|
|
22
|
+
#include "../utils/huffman.h"
|
|
23
|
+
|
|
24
|
+
#ifdef __cplusplus
|
|
25
|
+
extern "C" {
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
typedef enum {
|
|
29
|
+
READ_DATA = 0,
|
|
30
|
+
READ_HDR = 1,
|
|
31
|
+
READ_DIM = 2
|
|
32
|
+
} VP8LDecodeState;
|
|
33
|
+
|
|
34
|
+
typedef struct VP8LTransform VP8LTransform;
|
|
35
|
+
struct VP8LTransform {
|
|
36
|
+
VP8LImageTransformType type_; // transform type.
|
|
37
|
+
int bits_; // subsampling bits defining transform window.
|
|
38
|
+
int xsize_; // transform window X index.
|
|
39
|
+
int ysize_; // transform window Y index.
|
|
40
|
+
uint32_t *data_; // transform data.
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
typedef struct {
|
|
44
|
+
int color_cache_size_;
|
|
45
|
+
VP8LColorCache color_cache_;
|
|
46
|
+
VP8LColorCache saved_color_cache_; // for incremental
|
|
47
|
+
|
|
48
|
+
int huffman_mask_;
|
|
49
|
+
int huffman_subsample_bits_;
|
|
50
|
+
int huffman_xsize_;
|
|
51
|
+
uint32_t *huffman_image_;
|
|
52
|
+
int num_htree_groups_;
|
|
53
|
+
HTreeGroup *htree_groups_;
|
|
54
|
+
HuffmanCode *huffman_tables_;
|
|
55
|
+
} VP8LMetadata;
|
|
56
|
+
|
|
57
|
+
typedef struct VP8LDecoder VP8LDecoder;
|
|
58
|
+
struct VP8LDecoder {
|
|
59
|
+
VP8StatusCode status_;
|
|
60
|
+
VP8LDecodeState state_;
|
|
61
|
+
VP8Io *io_;
|
|
62
|
+
|
|
63
|
+
const WebPDecBuffer *output_; // shortcut to io->opaque->output
|
|
64
|
+
|
|
65
|
+
uint32_t *pixels_; // Internal data: either uint8_t* for alpha
|
|
66
|
+
// or uint32_t* for BGRA.
|
|
67
|
+
uint32_t *argb_cache_; // Scratch buffer for temporary BGRA storage.
|
|
68
|
+
|
|
69
|
+
VP8LBitReader br_;
|
|
70
|
+
int incremental_; // if true, incremental decoding is expected
|
|
71
|
+
VP8LBitReader saved_br_; // note: could be local variables too
|
|
72
|
+
int saved_last_pixel_;
|
|
73
|
+
|
|
74
|
+
int width_;
|
|
75
|
+
int height_;
|
|
76
|
+
int last_row_; // last input row decoded so far.
|
|
77
|
+
int last_pixel_; // last pixel decoded so far. However, it may
|
|
78
|
+
// not be transformed, scaled and
|
|
79
|
+
// color-converted yet.
|
|
80
|
+
int last_out_row_; // last row output so far.
|
|
81
|
+
|
|
82
|
+
VP8LMetadata hdr_;
|
|
83
|
+
|
|
84
|
+
int next_transform_;
|
|
85
|
+
VP8LTransform transforms_[NUM_TRANSFORMS];
|
|
86
|
+
// or'd bitset storing the transforms types.
|
|
87
|
+
uint32_t transforms_seen_;
|
|
88
|
+
|
|
89
|
+
uint8_t *rescaler_memory; // Working memory for rescaling work.
|
|
90
|
+
WebPRescaler *rescaler; // Common rescaler for all channels.
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
//------------------------------------------------------------------------------
|
|
94
|
+
// internal functions. Not public.
|
|
95
|
+
|
|
96
|
+
struct ALPHDecoder; // Defined in dec/alphai.h.
|
|
97
|
+
|
|
98
|
+
// in vp8l.c
|
|
99
|
+
|
|
100
|
+
// Decodes image header for alpha data stored using lossless compression.
|
|
101
|
+
// Returns false in case of error.
|
|
102
|
+
int VP8LDecodeAlphaHeader(struct ALPHDecoder* const alph_dec,
|
|
103
|
+
const uint8_t* const data, size_t data_size,
|
|
104
|
+
uint8_t* const output);
|
|
105
|
+
|
|
106
|
+
// Decodes *at least* 'last_row' rows of alpha. If some of the initial rows are
|
|
107
|
+
// already decoded in previous call(s), it will resume decoding from where it
|
|
108
|
+
// was paused.
|
|
109
|
+
// Returns false in case of bitstream error.
|
|
110
|
+
int VP8LDecodeAlphaImageStream(struct ALPHDecoder* const alph_dec,
|
|
111
|
+
int last_row);
|
|
112
|
+
|
|
113
|
+
// Allocates and initialize a new lossless decoder instance.
|
|
114
|
+
VP8LDecoder* VP8LNew(void);
|
|
115
|
+
|
|
116
|
+
// Decodes the image header. Returns false in case of error.
|
|
117
|
+
int VP8LDecodeHeader(VP8LDecoder* const dec, VP8Io* const io);
|
|
118
|
+
|
|
119
|
+
// Decodes an image. It's required to decode the lossless header before calling
|
|
120
|
+
// this function. Returns false in case of error, with updated dec->status_.
|
|
121
|
+
int VP8LDecodeImage(VP8LDecoder* const dec);
|
|
122
|
+
|
|
123
|
+
// Resets the decoder in its initial state, reclaiming memory.
|
|
124
|
+
// Preserves the dec->status_ value.
|
|
125
|
+
void VP8LClear(VP8LDecoder* const dec);
|
|
126
|
+
|
|
127
|
+
// Clears and deallocate a lossless decoder instance.
|
|
128
|
+
void VP8LDelete(VP8LDecoder* const dec);
|
|
129
|
+
|
|
130
|
+
//------------------------------------------------------------------------------
|
|
131
|
+
|
|
132
|
+
#ifdef __cplusplus
|
|
133
|
+
} // extern "C"
|
|
134
|
+
#endif
|
|
135
|
+
|
|
136
|
+
#endif /* WEBP_DEC_VP8LI_H_ */
|