rfreeimage 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,412 @@
|
|
1
|
+
// Copyright 2014 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
|
+
// Author: Skal (pascal.massimino@gmail.com)
|
11
|
+
|
12
|
+
#include "./dsp.h"
|
13
|
+
#include "../enc/cost.h"
|
14
|
+
|
15
|
+
//------------------------------------------------------------------------------
|
16
|
+
// Boolean-cost cost table
|
17
|
+
|
18
|
+
const uint16_t VP8EntropyCost[256] = {
|
19
|
+
1792, 1792, 1792, 1536, 1536, 1408, 1366, 1280, 1280, 1216,
|
20
|
+
1178, 1152, 1110, 1076, 1061, 1024, 1024, 992, 968, 951,
|
21
|
+
939, 911, 896, 878, 871, 854, 838, 820, 811, 794,
|
22
|
+
786, 768, 768, 752, 740, 732, 720, 709, 704, 690,
|
23
|
+
683, 672, 666, 655, 647, 640, 631, 622, 615, 607,
|
24
|
+
598, 592, 586, 576, 572, 564, 559, 555, 547, 541,
|
25
|
+
534, 528, 522, 512, 512, 504, 500, 494, 488, 483,
|
26
|
+
477, 473, 467, 461, 458, 452, 448, 443, 438, 434,
|
27
|
+
427, 424, 419, 415, 410, 406, 403, 399, 394, 390,
|
28
|
+
384, 384, 377, 374, 370, 366, 362, 359, 355, 351,
|
29
|
+
347, 342, 342, 336, 333, 330, 326, 323, 320, 316,
|
30
|
+
312, 308, 305, 302, 299, 296, 293, 288, 287, 283,
|
31
|
+
280, 277, 274, 272, 268, 266, 262, 256, 256, 256,
|
32
|
+
251, 248, 245, 242, 240, 237, 234, 232, 228, 226,
|
33
|
+
223, 221, 218, 216, 214, 211, 208, 205, 203, 201,
|
34
|
+
198, 196, 192, 191, 188, 187, 183, 181, 179, 176,
|
35
|
+
175, 171, 171, 168, 165, 163, 160, 159, 156, 154,
|
36
|
+
152, 150, 148, 146, 144, 142, 139, 138, 135, 133,
|
37
|
+
131, 128, 128, 125, 123, 121, 119, 117, 115, 113,
|
38
|
+
111, 110, 107, 105, 103, 102, 100, 98, 96, 94,
|
39
|
+
92, 91, 89, 86, 86, 83, 82, 80, 77, 76,
|
40
|
+
74, 73, 71, 69, 67, 66, 64, 63, 61, 59,
|
41
|
+
57, 55, 54, 52, 51, 49, 47, 46, 44, 43,
|
42
|
+
41, 40, 38, 36, 35, 33, 32, 30, 29, 27,
|
43
|
+
25, 24, 22, 21, 19, 18, 16, 15, 13, 12,
|
44
|
+
10, 9, 7, 6, 4, 3
|
45
|
+
};
|
46
|
+
|
47
|
+
//------------------------------------------------------------------------------
|
48
|
+
// Level cost tables
|
49
|
+
|
50
|
+
// fixed costs for coding levels, deduce from the coding tree.
|
51
|
+
// This is only the part that doesn't depend on the probability state.
|
52
|
+
const uint16_t VP8LevelFixedCosts[MAX_LEVEL + 1] = {
|
53
|
+
0, 256, 256, 256, 256, 432, 618, 630,
|
54
|
+
731, 640, 640, 828, 901, 948, 1021, 1101,
|
55
|
+
1174, 1221, 1294, 1042, 1085, 1115, 1158, 1202,
|
56
|
+
1245, 1275, 1318, 1337, 1380, 1410, 1453, 1497,
|
57
|
+
1540, 1570, 1613, 1280, 1295, 1317, 1332, 1358,
|
58
|
+
1373, 1395, 1410, 1454, 1469, 1491, 1506, 1532,
|
59
|
+
1547, 1569, 1584, 1601, 1616, 1638, 1653, 1679,
|
60
|
+
1694, 1716, 1731, 1775, 1790, 1812, 1827, 1853,
|
61
|
+
1868, 1890, 1905, 1727, 1733, 1742, 1748, 1759,
|
62
|
+
1765, 1774, 1780, 1800, 1806, 1815, 1821, 1832,
|
63
|
+
1838, 1847, 1853, 1878, 1884, 1893, 1899, 1910,
|
64
|
+
1916, 1925, 1931, 1951, 1957, 1966, 1972, 1983,
|
65
|
+
1989, 1998, 2004, 2027, 2033, 2042, 2048, 2059,
|
66
|
+
2065, 2074, 2080, 2100, 2106, 2115, 2121, 2132,
|
67
|
+
2138, 2147, 2153, 2178, 2184, 2193, 2199, 2210,
|
68
|
+
2216, 2225, 2231, 2251, 2257, 2266, 2272, 2283,
|
69
|
+
2289, 2298, 2304, 2168, 2174, 2183, 2189, 2200,
|
70
|
+
2206, 2215, 2221, 2241, 2247, 2256, 2262, 2273,
|
71
|
+
2279, 2288, 2294, 2319, 2325, 2334, 2340, 2351,
|
72
|
+
2357, 2366, 2372, 2392, 2398, 2407, 2413, 2424,
|
73
|
+
2430, 2439, 2445, 2468, 2474, 2483, 2489, 2500,
|
74
|
+
2506, 2515, 2521, 2541, 2547, 2556, 2562, 2573,
|
75
|
+
2579, 2588, 2594, 2619, 2625, 2634, 2640, 2651,
|
76
|
+
2657, 2666, 2672, 2692, 2698, 2707, 2713, 2724,
|
77
|
+
2730, 2739, 2745, 2540, 2546, 2555, 2561, 2572,
|
78
|
+
2578, 2587, 2593, 2613, 2619, 2628, 2634, 2645,
|
79
|
+
2651, 2660, 2666, 2691, 2697, 2706, 2712, 2723,
|
80
|
+
2729, 2738, 2744, 2764, 2770, 2779, 2785, 2796,
|
81
|
+
2802, 2811, 2817, 2840, 2846, 2855, 2861, 2872,
|
82
|
+
2878, 2887, 2893, 2913, 2919, 2928, 2934, 2945,
|
83
|
+
2951, 2960, 2966, 2991, 2997, 3006, 3012, 3023,
|
84
|
+
3029, 3038, 3044, 3064, 3070, 3079, 3085, 3096,
|
85
|
+
3102, 3111, 3117, 2981, 2987, 2996, 3002, 3013,
|
86
|
+
3019, 3028, 3034, 3054, 3060, 3069, 3075, 3086,
|
87
|
+
3092, 3101, 3107, 3132, 3138, 3147, 3153, 3164,
|
88
|
+
3170, 3179, 3185, 3205, 3211, 3220, 3226, 3237,
|
89
|
+
3243, 3252, 3258, 3281, 3287, 3296, 3302, 3313,
|
90
|
+
3319, 3328, 3334, 3354, 3360, 3369, 3375, 3386,
|
91
|
+
3392, 3401, 3407, 3432, 3438, 3447, 3453, 3464,
|
92
|
+
3470, 3479, 3485, 3505, 3511, 3520, 3526, 3537,
|
93
|
+
3543, 3552, 3558, 2816, 2822, 2831, 2837, 2848,
|
94
|
+
2854, 2863, 2869, 2889, 2895, 2904, 2910, 2921,
|
95
|
+
2927, 2936, 2942, 2967, 2973, 2982, 2988, 2999,
|
96
|
+
3005, 3014, 3020, 3040, 3046, 3055, 3061, 3072,
|
97
|
+
3078, 3087, 3093, 3116, 3122, 3131, 3137, 3148,
|
98
|
+
3154, 3163, 3169, 3189, 3195, 3204, 3210, 3221,
|
99
|
+
3227, 3236, 3242, 3267, 3273, 3282, 3288, 3299,
|
100
|
+
3305, 3314, 3320, 3340, 3346, 3355, 3361, 3372,
|
101
|
+
3378, 3387, 3393, 3257, 3263, 3272, 3278, 3289,
|
102
|
+
3295, 3304, 3310, 3330, 3336, 3345, 3351, 3362,
|
103
|
+
3368, 3377, 3383, 3408, 3414, 3423, 3429, 3440,
|
104
|
+
3446, 3455, 3461, 3481, 3487, 3496, 3502, 3513,
|
105
|
+
3519, 3528, 3534, 3557, 3563, 3572, 3578, 3589,
|
106
|
+
3595, 3604, 3610, 3630, 3636, 3645, 3651, 3662,
|
107
|
+
3668, 3677, 3683, 3708, 3714, 3723, 3729, 3740,
|
108
|
+
3746, 3755, 3761, 3781, 3787, 3796, 3802, 3813,
|
109
|
+
3819, 3828, 3834, 3629, 3635, 3644, 3650, 3661,
|
110
|
+
3667, 3676, 3682, 3702, 3708, 3717, 3723, 3734,
|
111
|
+
3740, 3749, 3755, 3780, 3786, 3795, 3801, 3812,
|
112
|
+
3818, 3827, 3833, 3853, 3859, 3868, 3874, 3885,
|
113
|
+
3891, 3900, 3906, 3929, 3935, 3944, 3950, 3961,
|
114
|
+
3967, 3976, 3982, 4002, 4008, 4017, 4023, 4034,
|
115
|
+
4040, 4049, 4055, 4080, 4086, 4095, 4101, 4112,
|
116
|
+
4118, 4127, 4133, 4153, 4159, 4168, 4174, 4185,
|
117
|
+
4191, 4200, 4206, 4070, 4076, 4085, 4091, 4102,
|
118
|
+
4108, 4117, 4123, 4143, 4149, 4158, 4164, 4175,
|
119
|
+
4181, 4190, 4196, 4221, 4227, 4236, 4242, 4253,
|
120
|
+
4259, 4268, 4274, 4294, 4300, 4309, 4315, 4326,
|
121
|
+
4332, 4341, 4347, 4370, 4376, 4385, 4391, 4402,
|
122
|
+
4408, 4417, 4423, 4443, 4449, 4458, 4464, 4475,
|
123
|
+
4481, 4490, 4496, 4521, 4527, 4536, 4542, 4553,
|
124
|
+
4559, 4568, 4574, 4594, 4600, 4609, 4615, 4626,
|
125
|
+
4632, 4641, 4647, 3515, 3521, 3530, 3536, 3547,
|
126
|
+
3553, 3562, 3568, 3588, 3594, 3603, 3609, 3620,
|
127
|
+
3626, 3635, 3641, 3666, 3672, 3681, 3687, 3698,
|
128
|
+
3704, 3713, 3719, 3739, 3745, 3754, 3760, 3771,
|
129
|
+
3777, 3786, 3792, 3815, 3821, 3830, 3836, 3847,
|
130
|
+
3853, 3862, 3868, 3888, 3894, 3903, 3909, 3920,
|
131
|
+
3926, 3935, 3941, 3966, 3972, 3981, 3987, 3998,
|
132
|
+
4004, 4013, 4019, 4039, 4045, 4054, 4060, 4071,
|
133
|
+
4077, 4086, 4092, 3956, 3962, 3971, 3977, 3988,
|
134
|
+
3994, 4003, 4009, 4029, 4035, 4044, 4050, 4061,
|
135
|
+
4067, 4076, 4082, 4107, 4113, 4122, 4128, 4139,
|
136
|
+
4145, 4154, 4160, 4180, 4186, 4195, 4201, 4212,
|
137
|
+
4218, 4227, 4233, 4256, 4262, 4271, 4277, 4288,
|
138
|
+
4294, 4303, 4309, 4329, 4335, 4344, 4350, 4361,
|
139
|
+
4367, 4376, 4382, 4407, 4413, 4422, 4428, 4439,
|
140
|
+
4445, 4454, 4460, 4480, 4486, 4495, 4501, 4512,
|
141
|
+
4518, 4527, 4533, 4328, 4334, 4343, 4349, 4360,
|
142
|
+
4366, 4375, 4381, 4401, 4407, 4416, 4422, 4433,
|
143
|
+
4439, 4448, 4454, 4479, 4485, 4494, 4500, 4511,
|
144
|
+
4517, 4526, 4532, 4552, 4558, 4567, 4573, 4584,
|
145
|
+
4590, 4599, 4605, 4628, 4634, 4643, 4649, 4660,
|
146
|
+
4666, 4675, 4681, 4701, 4707, 4716, 4722, 4733,
|
147
|
+
4739, 4748, 4754, 4779, 4785, 4794, 4800, 4811,
|
148
|
+
4817, 4826, 4832, 4852, 4858, 4867, 4873, 4884,
|
149
|
+
4890, 4899, 4905, 4769, 4775, 4784, 4790, 4801,
|
150
|
+
4807, 4816, 4822, 4842, 4848, 4857, 4863, 4874,
|
151
|
+
4880, 4889, 4895, 4920, 4926, 4935, 4941, 4952,
|
152
|
+
4958, 4967, 4973, 4993, 4999, 5008, 5014, 5025,
|
153
|
+
5031, 5040, 5046, 5069, 5075, 5084, 5090, 5101,
|
154
|
+
5107, 5116, 5122, 5142, 5148, 5157, 5163, 5174,
|
155
|
+
5180, 5189, 5195, 5220, 5226, 5235, 5241, 5252,
|
156
|
+
5258, 5267, 5273, 5293, 5299, 5308, 5314, 5325,
|
157
|
+
5331, 5340, 5346, 4604, 4610, 4619, 4625, 4636,
|
158
|
+
4642, 4651, 4657, 4677, 4683, 4692, 4698, 4709,
|
159
|
+
4715, 4724, 4730, 4755, 4761, 4770, 4776, 4787,
|
160
|
+
4793, 4802, 4808, 4828, 4834, 4843, 4849, 4860,
|
161
|
+
4866, 4875, 4881, 4904, 4910, 4919, 4925, 4936,
|
162
|
+
4942, 4951, 4957, 4977, 4983, 4992, 4998, 5009,
|
163
|
+
5015, 5024, 5030, 5055, 5061, 5070, 5076, 5087,
|
164
|
+
5093, 5102, 5108, 5128, 5134, 5143, 5149, 5160,
|
165
|
+
5166, 5175, 5181, 5045, 5051, 5060, 5066, 5077,
|
166
|
+
5083, 5092, 5098, 5118, 5124, 5133, 5139, 5150,
|
167
|
+
5156, 5165, 5171, 5196, 5202, 5211, 5217, 5228,
|
168
|
+
5234, 5243, 5249, 5269, 5275, 5284, 5290, 5301,
|
169
|
+
5307, 5316, 5322, 5345, 5351, 5360, 5366, 5377,
|
170
|
+
5383, 5392, 5398, 5418, 5424, 5433, 5439, 5450,
|
171
|
+
5456, 5465, 5471, 5496, 5502, 5511, 5517, 5528,
|
172
|
+
5534, 5543, 5549, 5569, 5575, 5584, 5590, 5601,
|
173
|
+
5607, 5616, 5622, 5417, 5423, 5432, 5438, 5449,
|
174
|
+
5455, 5464, 5470, 5490, 5496, 5505, 5511, 5522,
|
175
|
+
5528, 5537, 5543, 5568, 5574, 5583, 5589, 5600,
|
176
|
+
5606, 5615, 5621, 5641, 5647, 5656, 5662, 5673,
|
177
|
+
5679, 5688, 5694, 5717, 5723, 5732, 5738, 5749,
|
178
|
+
5755, 5764, 5770, 5790, 5796, 5805, 5811, 5822,
|
179
|
+
5828, 5837, 5843, 5868, 5874, 5883, 5889, 5900,
|
180
|
+
5906, 5915, 5921, 5941, 5947, 5956, 5962, 5973,
|
181
|
+
5979, 5988, 5994, 5858, 5864, 5873, 5879, 5890,
|
182
|
+
5896, 5905, 5911, 5931, 5937, 5946, 5952, 5963,
|
183
|
+
5969, 5978, 5984, 6009, 6015, 6024, 6030, 6041,
|
184
|
+
6047, 6056, 6062, 6082, 6088, 6097, 6103, 6114,
|
185
|
+
6120, 6129, 6135, 6158, 6164, 6173, 6179, 6190,
|
186
|
+
6196, 6205, 6211, 6231, 6237, 6246, 6252, 6263,
|
187
|
+
6269, 6278, 6284, 6309, 6315, 6324, 6330, 6341,
|
188
|
+
6347, 6356, 6362, 6382, 6388, 6397, 6403, 6414,
|
189
|
+
6420, 6429, 6435, 3515, 3521, 3530, 3536, 3547,
|
190
|
+
3553, 3562, 3568, 3588, 3594, 3603, 3609, 3620,
|
191
|
+
3626, 3635, 3641, 3666, 3672, 3681, 3687, 3698,
|
192
|
+
3704, 3713, 3719, 3739, 3745, 3754, 3760, 3771,
|
193
|
+
3777, 3786, 3792, 3815, 3821, 3830, 3836, 3847,
|
194
|
+
3853, 3862, 3868, 3888, 3894, 3903, 3909, 3920,
|
195
|
+
3926, 3935, 3941, 3966, 3972, 3981, 3987, 3998,
|
196
|
+
4004, 4013, 4019, 4039, 4045, 4054, 4060, 4071,
|
197
|
+
4077, 4086, 4092, 3956, 3962, 3971, 3977, 3988,
|
198
|
+
3994, 4003, 4009, 4029, 4035, 4044, 4050, 4061,
|
199
|
+
4067, 4076, 4082, 4107, 4113, 4122, 4128, 4139,
|
200
|
+
4145, 4154, 4160, 4180, 4186, 4195, 4201, 4212,
|
201
|
+
4218, 4227, 4233, 4256, 4262, 4271, 4277, 4288,
|
202
|
+
4294, 4303, 4309, 4329, 4335, 4344, 4350, 4361,
|
203
|
+
4367, 4376, 4382, 4407, 4413, 4422, 4428, 4439,
|
204
|
+
4445, 4454, 4460, 4480, 4486, 4495, 4501, 4512,
|
205
|
+
4518, 4527, 4533, 4328, 4334, 4343, 4349, 4360,
|
206
|
+
4366, 4375, 4381, 4401, 4407, 4416, 4422, 4433,
|
207
|
+
4439, 4448, 4454, 4479, 4485, 4494, 4500, 4511,
|
208
|
+
4517, 4526, 4532, 4552, 4558, 4567, 4573, 4584,
|
209
|
+
4590, 4599, 4605, 4628, 4634, 4643, 4649, 4660,
|
210
|
+
4666, 4675, 4681, 4701, 4707, 4716, 4722, 4733,
|
211
|
+
4739, 4748, 4754, 4779, 4785, 4794, 4800, 4811,
|
212
|
+
4817, 4826, 4832, 4852, 4858, 4867, 4873, 4884,
|
213
|
+
4890, 4899, 4905, 4769, 4775, 4784, 4790, 4801,
|
214
|
+
4807, 4816, 4822, 4842, 4848, 4857, 4863, 4874,
|
215
|
+
4880, 4889, 4895, 4920, 4926, 4935, 4941, 4952,
|
216
|
+
4958, 4967, 4973, 4993, 4999, 5008, 5014, 5025,
|
217
|
+
5031, 5040, 5046, 5069, 5075, 5084, 5090, 5101,
|
218
|
+
5107, 5116, 5122, 5142, 5148, 5157, 5163, 5174,
|
219
|
+
5180, 5189, 5195, 5220, 5226, 5235, 5241, 5252,
|
220
|
+
5258, 5267, 5273, 5293, 5299, 5308, 5314, 5325,
|
221
|
+
5331, 5340, 5346, 4604, 4610, 4619, 4625, 4636,
|
222
|
+
4642, 4651, 4657, 4677, 4683, 4692, 4698, 4709,
|
223
|
+
4715, 4724, 4730, 4755, 4761, 4770, 4776, 4787,
|
224
|
+
4793, 4802, 4808, 4828, 4834, 4843, 4849, 4860,
|
225
|
+
4866, 4875, 4881, 4904, 4910, 4919, 4925, 4936,
|
226
|
+
4942, 4951, 4957, 4977, 4983, 4992, 4998, 5009,
|
227
|
+
5015, 5024, 5030, 5055, 5061, 5070, 5076, 5087,
|
228
|
+
5093, 5102, 5108, 5128, 5134, 5143, 5149, 5160,
|
229
|
+
5166, 5175, 5181, 5045, 5051, 5060, 5066, 5077,
|
230
|
+
5083, 5092, 5098, 5118, 5124, 5133, 5139, 5150,
|
231
|
+
5156, 5165, 5171, 5196, 5202, 5211, 5217, 5228,
|
232
|
+
5234, 5243, 5249, 5269, 5275, 5284, 5290, 5301,
|
233
|
+
5307, 5316, 5322, 5345, 5351, 5360, 5366, 5377,
|
234
|
+
5383, 5392, 5398, 5418, 5424, 5433, 5439, 5450,
|
235
|
+
5456, 5465, 5471, 5496, 5502, 5511, 5517, 5528,
|
236
|
+
5534, 5543, 5549, 5569, 5575, 5584, 5590, 5601,
|
237
|
+
5607, 5616, 5622, 5417, 5423, 5432, 5438, 5449,
|
238
|
+
5455, 5464, 5470, 5490, 5496, 5505, 5511, 5522,
|
239
|
+
5528, 5537, 5543, 5568, 5574, 5583, 5589, 5600,
|
240
|
+
5606, 5615, 5621, 5641, 5647, 5656, 5662, 5673,
|
241
|
+
5679, 5688, 5694, 5717, 5723, 5732, 5738, 5749,
|
242
|
+
5755, 5764, 5770, 5790, 5796, 5805, 5811, 5822,
|
243
|
+
5828, 5837, 5843, 5868, 5874, 5883, 5889, 5900,
|
244
|
+
5906, 5915, 5921, 5941, 5947, 5956, 5962, 5973,
|
245
|
+
5979, 5988, 5994, 5858, 5864, 5873, 5879, 5890,
|
246
|
+
5896, 5905, 5911, 5931, 5937, 5946, 5952, 5963,
|
247
|
+
5969, 5978, 5984, 6009, 6015, 6024, 6030, 6041,
|
248
|
+
6047, 6056, 6062, 6082, 6088, 6097, 6103, 6114,
|
249
|
+
6120, 6129, 6135, 6158, 6164, 6173, 6179, 6190,
|
250
|
+
6196, 6205, 6211, 6231, 6237, 6246, 6252, 6263,
|
251
|
+
6269, 6278, 6284, 6309, 6315, 6324, 6330, 6341,
|
252
|
+
6347, 6356, 6362, 6382, 6388, 6397, 6403, 6414,
|
253
|
+
6420, 6429, 6435, 5303, 5309, 5318, 5324, 5335,
|
254
|
+
5341, 5350, 5356, 5376, 5382, 5391, 5397, 5408,
|
255
|
+
5414, 5423, 5429, 5454, 5460, 5469, 5475, 5486,
|
256
|
+
5492, 5501, 5507, 5527, 5533, 5542, 5548, 5559,
|
257
|
+
5565, 5574, 5580, 5603, 5609, 5618, 5624, 5635,
|
258
|
+
5641, 5650, 5656, 5676, 5682, 5691, 5697, 5708,
|
259
|
+
5714, 5723, 5729, 5754, 5760, 5769, 5775, 5786,
|
260
|
+
5792, 5801, 5807, 5827, 5833, 5842, 5848, 5859,
|
261
|
+
5865, 5874, 5880, 5744, 5750, 5759, 5765, 5776,
|
262
|
+
5782, 5791, 5797, 5817, 5823, 5832, 5838, 5849,
|
263
|
+
5855, 5864, 5870, 5895, 5901, 5910, 5916, 5927,
|
264
|
+
5933, 5942, 5948, 5968, 5974, 5983, 5989, 6000,
|
265
|
+
6006, 6015, 6021, 6044, 6050, 6059, 6065, 6076,
|
266
|
+
6082, 6091, 6097, 6117, 6123, 6132, 6138, 6149,
|
267
|
+
6155, 6164, 6170, 6195, 6201, 6210, 6216, 6227,
|
268
|
+
6233, 6242, 6248, 6268, 6274, 6283, 6289, 6300,
|
269
|
+
6306, 6315, 6321, 6116, 6122, 6131, 6137, 6148,
|
270
|
+
6154, 6163, 6169, 6189, 6195, 6204, 6210, 6221,
|
271
|
+
6227, 6236, 6242, 6267, 6273, 6282, 6288, 6299,
|
272
|
+
6305, 6314, 6320, 6340, 6346, 6355, 6361, 6372,
|
273
|
+
6378, 6387, 6393, 6416, 6422, 6431, 6437, 6448,
|
274
|
+
6454, 6463, 6469, 6489, 6495, 6504, 6510, 6521,
|
275
|
+
6527, 6536, 6542, 6567, 6573, 6582, 6588, 6599,
|
276
|
+
6605, 6614, 6620, 6640, 6646, 6655, 6661, 6672,
|
277
|
+
6678, 6687, 6693, 6557, 6563, 6572, 6578, 6589,
|
278
|
+
6595, 6604, 6610, 6630, 6636, 6645, 6651, 6662,
|
279
|
+
6668, 6677, 6683, 6708, 6714, 6723, 6729, 6740,
|
280
|
+
6746, 6755, 6761, 6781, 6787, 6796, 6802, 6813,
|
281
|
+
6819, 6828, 6834, 6857, 6863, 6872, 6878, 6889,
|
282
|
+
6895, 6904, 6910, 6930, 6936, 6945, 6951, 6962,
|
283
|
+
6968, 6977, 6983, 7008, 7014, 7023, 7029, 7040,
|
284
|
+
7046, 7055, 7061, 7081, 7087, 7096, 7102, 7113,
|
285
|
+
7119, 7128, 7134, 6392, 6398, 6407, 6413, 6424,
|
286
|
+
6430, 6439, 6445, 6465, 6471, 6480, 6486, 6497,
|
287
|
+
6503, 6512, 6518, 6543, 6549, 6558, 6564, 6575,
|
288
|
+
6581, 6590, 6596, 6616, 6622, 6631, 6637, 6648,
|
289
|
+
6654, 6663, 6669, 6692, 6698, 6707, 6713, 6724,
|
290
|
+
6730, 6739, 6745, 6765, 6771, 6780, 6786, 6797,
|
291
|
+
6803, 6812, 6818, 6843, 6849, 6858, 6864, 6875,
|
292
|
+
6881, 6890, 6896, 6916, 6922, 6931, 6937, 6948,
|
293
|
+
6954, 6963, 6969, 6833, 6839, 6848, 6854, 6865,
|
294
|
+
6871, 6880, 6886, 6906, 6912, 6921, 6927, 6938,
|
295
|
+
6944, 6953, 6959, 6984, 6990, 6999, 7005, 7016,
|
296
|
+
7022, 7031, 7037, 7057, 7063, 7072, 7078, 7089,
|
297
|
+
7095, 7104, 7110, 7133, 7139, 7148, 7154, 7165,
|
298
|
+
7171, 7180, 7186, 7206, 7212, 7221, 7227, 7238,
|
299
|
+
7244, 7253, 7259, 7284, 7290, 7299, 7305, 7316,
|
300
|
+
7322, 7331, 7337, 7357, 7363, 7372, 7378, 7389,
|
301
|
+
7395, 7404, 7410, 7205, 7211, 7220, 7226, 7237,
|
302
|
+
7243, 7252, 7258, 7278, 7284, 7293, 7299, 7310,
|
303
|
+
7316, 7325, 7331, 7356, 7362, 7371, 7377, 7388,
|
304
|
+
7394, 7403, 7409, 7429, 7435, 7444, 7450, 7461,
|
305
|
+
7467, 7476, 7482, 7505, 7511, 7520, 7526, 7537,
|
306
|
+
7543, 7552, 7558, 7578, 7584, 7593, 7599, 7610,
|
307
|
+
7616, 7625, 7631, 7656, 7662, 7671, 7677, 7688,
|
308
|
+
7694, 7703, 7709, 7729, 7735, 7744, 7750, 7761
|
309
|
+
};
|
310
|
+
|
311
|
+
//------------------------------------------------------------------------------
|
312
|
+
// Tables for level coding
|
313
|
+
|
314
|
+
const uint8_t VP8EncBands[16 + 1] = {
|
315
|
+
0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7,
|
316
|
+
0 // sentinel
|
317
|
+
};
|
318
|
+
|
319
|
+
//------------------------------------------------------------------------------
|
320
|
+
// Mode costs
|
321
|
+
|
322
|
+
static int GetResidualCost(int ctx0, const VP8Residual* const res) {
|
323
|
+
int n = res->first;
|
324
|
+
// should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1
|
325
|
+
const int p0 = res->prob[n][ctx0][0];
|
326
|
+
CostArrayPtr const costs = res->costs;
|
327
|
+
const uint16_t* t = costs[n][ctx0];
|
328
|
+
// bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0
|
329
|
+
// (as required by the syntax). For ctx0 == 0, we need to add it here or it'll
|
330
|
+
// be missing during the loop.
|
331
|
+
int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0;
|
332
|
+
|
333
|
+
if (res->last < 0) {
|
334
|
+
return VP8BitCost(0, p0);
|
335
|
+
}
|
336
|
+
for (; n < res->last; ++n) {
|
337
|
+
const int v = abs(res->coeffs[n]);
|
338
|
+
const int ctx = (v >= 2) ? 2 : v;
|
339
|
+
cost += VP8LevelCost(t, v);
|
340
|
+
t = costs[n + 1][ctx];
|
341
|
+
}
|
342
|
+
// Last coefficient is always non-zero
|
343
|
+
{
|
344
|
+
const int v = abs(res->coeffs[n]);
|
345
|
+
assert(v != 0);
|
346
|
+
cost += VP8LevelCost(t, v);
|
347
|
+
if (n < 15) {
|
348
|
+
const int b = VP8EncBands[n + 1];
|
349
|
+
const int ctx = (v == 1) ? 1 : 2;
|
350
|
+
const int last_p0 = res->prob[b][ctx][0];
|
351
|
+
cost += VP8BitCost(0, last_p0);
|
352
|
+
}
|
353
|
+
}
|
354
|
+
return cost;
|
355
|
+
}
|
356
|
+
|
357
|
+
static void SetResidualCoeffs(const int16_t* const coeffs,
|
358
|
+
VP8Residual* const res) {
|
359
|
+
int n;
|
360
|
+
res->last = -1;
|
361
|
+
assert(res->first == 0 || coeffs[0] == 0);
|
362
|
+
for (n = 15; n >= 0; --n) {
|
363
|
+
if (coeffs[n]) {
|
364
|
+
res->last = n;
|
365
|
+
break;
|
366
|
+
}
|
367
|
+
}
|
368
|
+
res->coeffs = coeffs;
|
369
|
+
}
|
370
|
+
|
371
|
+
//------------------------------------------------------------------------------
|
372
|
+
// init function
|
373
|
+
|
374
|
+
VP8GetResidualCostFunc VP8GetResidualCost;
|
375
|
+
VP8SetResidualCoeffsFunc VP8SetResidualCoeffs;
|
376
|
+
|
377
|
+
extern void VP8EncDspCostInitMIPS32(void);
|
378
|
+
extern void VP8EncDspCostInitMIPSdspR2(void);
|
379
|
+
extern void VP8EncDspCostInitSSE2(void);
|
380
|
+
|
381
|
+
static volatile VP8CPUInfo cost_last_cpuinfo_used =
|
382
|
+
(VP8CPUInfo)&cost_last_cpuinfo_used;
|
383
|
+
|
384
|
+
WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInit(void) {
|
385
|
+
if (cost_last_cpuinfo_used == VP8GetCPUInfo) return;
|
386
|
+
|
387
|
+
VP8GetResidualCost = GetResidualCost;
|
388
|
+
VP8SetResidualCoeffs = SetResidualCoeffs;
|
389
|
+
|
390
|
+
// If defined, use CPUInfo() to overwrite some pointers with faster versions.
|
391
|
+
if (VP8GetCPUInfo != NULL) {
|
392
|
+
#if defined(WEBP_USE_MIPS32)
|
393
|
+
if (VP8GetCPUInfo(kMIPS32)) {
|
394
|
+
VP8EncDspCostInitMIPS32();
|
395
|
+
}
|
396
|
+
#endif
|
397
|
+
#if defined(WEBP_USE_MIPS_DSP_R2)
|
398
|
+
if (VP8GetCPUInfo(kMIPSdspR2)) {
|
399
|
+
VP8EncDspCostInitMIPSdspR2();
|
400
|
+
}
|
401
|
+
#endif
|
402
|
+
#if defined(WEBP_USE_SSE2)
|
403
|
+
if (VP8GetCPUInfo(kSSE2)) {
|
404
|
+
VP8EncDspCostInitSSE2();
|
405
|
+
}
|
406
|
+
#endif
|
407
|
+
}
|
408
|
+
|
409
|
+
cost_last_cpuinfo_used = VP8GetCPUInfo;
|
410
|
+
}
|
411
|
+
|
412
|
+
//------------------------------------------------------------------------------
|
@@ -0,0 +1,154 @@
|
|
1
|
+
// Copyright 2014 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
|
+
// Author: Djordje Pesut (djordje.pesut@imgtec.com)
|
11
|
+
|
12
|
+
#include "./dsp.h"
|
13
|
+
|
14
|
+
#if defined(WEBP_USE_MIPS32)
|
15
|
+
|
16
|
+
#include "../enc/cost.h"
|
17
|
+
|
18
|
+
static int GetResidualCost(int ctx0, const VP8Residual* const res) {
|
19
|
+
int temp0, temp1;
|
20
|
+
int v_reg, ctx_reg;
|
21
|
+
int n = res->first;
|
22
|
+
// should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1
|
23
|
+
int p0 = res->prob[n][ctx0][0];
|
24
|
+
CostArrayPtr const costs = res->costs;
|
25
|
+
const uint16_t* t = costs[n][ctx0];
|
26
|
+
// bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0
|
27
|
+
// (as required by the syntax). For ctx0 == 0, we need to add it here or it'll
|
28
|
+
// be missing during the loop.
|
29
|
+
int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0;
|
30
|
+
const int16_t* res_coeffs = res->coeffs;
|
31
|
+
const int res_last = res->last;
|
32
|
+
const int const_max_level = MAX_VARIABLE_LEVEL;
|
33
|
+
const int const_2 = 2;
|
34
|
+
const uint16_t** p_costs = &costs[n][0];
|
35
|
+
const size_t inc_p_costs = NUM_CTX * sizeof(*p_costs);
|
36
|
+
|
37
|
+
if (res->last < 0) {
|
38
|
+
return VP8BitCost(0, p0);
|
39
|
+
}
|
40
|
+
|
41
|
+
__asm__ volatile (
|
42
|
+
".set push \n\t"
|
43
|
+
".set noreorder \n\t"
|
44
|
+
"subu %[temp1], %[res_last], %[n] \n\t"
|
45
|
+
"sll %[temp0], %[n], 1 \n\t"
|
46
|
+
"blez %[temp1], 2f \n\t"
|
47
|
+
" addu %[res_coeffs], %[res_coeffs], %[temp0] \n\t"
|
48
|
+
"1: \n\t"
|
49
|
+
"lh %[v_reg], 0(%[res_coeffs]) \n\t"
|
50
|
+
"addiu %[n], %[n], 1 \n\t"
|
51
|
+
"negu %[temp0], %[v_reg] \n\t"
|
52
|
+
"slti %[temp1], %[v_reg], 0 \n\t"
|
53
|
+
"movn %[v_reg], %[temp0], %[temp1] \n\t"
|
54
|
+
"sltiu %[temp0], %[v_reg], 2 \n\t"
|
55
|
+
"move %[ctx_reg], %[v_reg] \n\t"
|
56
|
+
"movz %[ctx_reg], %[const_2], %[temp0] \n\t"
|
57
|
+
"sll %[temp1], %[v_reg], 1 \n\t"
|
58
|
+
"addu %[temp1], %[temp1], %[VP8LevelFixedCosts] \n\t"
|
59
|
+
"lhu %[temp1], 0(%[temp1]) \n\t"
|
60
|
+
"slt %[temp0], %[v_reg], %[const_max_level] \n\t"
|
61
|
+
"movz %[v_reg], %[const_max_level], %[temp0] \n\t"
|
62
|
+
"addu %[cost], %[cost], %[temp1] \n\t"
|
63
|
+
"sll %[v_reg], %[v_reg], 1 \n\t"
|
64
|
+
"sll %[ctx_reg], %[ctx_reg], 2 \n\t"
|
65
|
+
"addu %[v_reg], %[v_reg], %[t] \n\t"
|
66
|
+
"lhu %[temp0], 0(%[v_reg]) \n\t"
|
67
|
+
"addu %[p_costs], %[p_costs], %[inc_p_costs] \n\t"
|
68
|
+
"addu %[t], %[p_costs], %[ctx_reg] \n\t"
|
69
|
+
"addu %[cost], %[cost], %[temp0] \n\t"
|
70
|
+
"addiu %[res_coeffs], %[res_coeffs], 2 \n\t"
|
71
|
+
"bne %[n], %[res_last], 1b \n\t"
|
72
|
+
" lw %[t], 0(%[t]) \n\t"
|
73
|
+
"2: \n\t"
|
74
|
+
".set pop \n\t"
|
75
|
+
: [cost]"+&r"(cost), [t]"+&r"(t), [n]"+&r"(n), [v_reg]"=&r"(v_reg),
|
76
|
+
[ctx_reg]"=&r"(ctx_reg), [p_costs]"+&r"(p_costs), [temp0]"=&r"(temp0),
|
77
|
+
[temp1]"=&r"(temp1), [res_coeffs]"+&r"(res_coeffs)
|
78
|
+
: [const_2]"r"(const_2), [const_max_level]"r"(const_max_level),
|
79
|
+
[VP8LevelFixedCosts]"r"(VP8LevelFixedCosts), [res_last]"r"(res_last),
|
80
|
+
[inc_p_costs]"r"(inc_p_costs)
|
81
|
+
: "memory"
|
82
|
+
);
|
83
|
+
|
84
|
+
// Last coefficient is always non-zero
|
85
|
+
{
|
86
|
+
const int v = abs(res->coeffs[n]);
|
87
|
+
assert(v != 0);
|
88
|
+
cost += VP8LevelCost(t, v);
|
89
|
+
if (n < 15) {
|
90
|
+
const int b = VP8EncBands[n + 1];
|
91
|
+
const int ctx = (v == 1) ? 1 : 2;
|
92
|
+
const int last_p0 = res->prob[b][ctx][0];
|
93
|
+
cost += VP8BitCost(0, last_p0);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
return cost;
|
97
|
+
}
|
98
|
+
|
99
|
+
static void SetResidualCoeffs(const int16_t* const coeffs,
|
100
|
+
VP8Residual* const res) {
|
101
|
+
const int16_t* p_coeffs = (int16_t*)coeffs;
|
102
|
+
int temp0, temp1, temp2, n, n1;
|
103
|
+
assert(res->first == 0 || coeffs[0] == 0);
|
104
|
+
|
105
|
+
__asm__ volatile (
|
106
|
+
".set push \n\t"
|
107
|
+
".set noreorder \n\t"
|
108
|
+
"addiu %[p_coeffs], %[p_coeffs], 28 \n\t"
|
109
|
+
"li %[n], 15 \n\t"
|
110
|
+
"li %[temp2], -1 \n\t"
|
111
|
+
"0: \n\t"
|
112
|
+
"ulw %[temp0], 0(%[p_coeffs]) \n\t"
|
113
|
+
"beqz %[temp0], 1f \n\t"
|
114
|
+
#if defined(WORDS_BIGENDIAN)
|
115
|
+
" sll %[temp1], %[temp0], 16 \n\t"
|
116
|
+
#else
|
117
|
+
" srl %[temp1], %[temp0], 16 \n\t"
|
118
|
+
#endif
|
119
|
+
"addiu %[n1], %[n], -1 \n\t"
|
120
|
+
"movz %[temp0], %[n1], %[temp1] \n\t"
|
121
|
+
"movn %[temp0], %[n], %[temp1] \n\t"
|
122
|
+
"j 2f \n\t"
|
123
|
+
" addiu %[temp2], %[temp0], 0 \n\t"
|
124
|
+
"1: \n\t"
|
125
|
+
"addiu %[n], %[n], -2 \n\t"
|
126
|
+
"bgtz %[n], 0b \n\t"
|
127
|
+
" addiu %[p_coeffs], %[p_coeffs], -4 \n\t"
|
128
|
+
"2: \n\t"
|
129
|
+
".set pop \n\t"
|
130
|
+
: [p_coeffs]"+&r"(p_coeffs), [temp0]"=&r"(temp0),
|
131
|
+
[temp1]"=&r"(temp1), [temp2]"=&r"(temp2),
|
132
|
+
[n]"=&r"(n), [n1]"=&r"(n1)
|
133
|
+
:
|
134
|
+
: "memory"
|
135
|
+
);
|
136
|
+
res->last = temp2;
|
137
|
+
res->coeffs = coeffs;
|
138
|
+
}
|
139
|
+
|
140
|
+
#endif // WEBP_USE_MIPS32
|
141
|
+
|
142
|
+
//------------------------------------------------------------------------------
|
143
|
+
// Entry point
|
144
|
+
|
145
|
+
extern void VP8EncDspCostInitMIPS32(void);
|
146
|
+
|
147
|
+
WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPS32(void) {
|
148
|
+
#if defined(WEBP_USE_MIPS32)
|
149
|
+
VP8GetResidualCost = GetResidualCost;
|
150
|
+
VP8SetResidualCoeffs = SetResidualCoeffs;
|
151
|
+
#endif // WEBP_USE_MIPS32
|
152
|
+
}
|
153
|
+
|
154
|
+
//------------------------------------------------------------------------------
|
@@ -0,0 +1,107 @@
|
|
1
|
+
// Copyright 2014 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
|
+
// Author: Djordje Pesut (djordje.pesut@imgtec.com)
|
11
|
+
|
12
|
+
#include "./dsp.h"
|
13
|
+
|
14
|
+
#if defined(WEBP_USE_MIPS_DSP_R2)
|
15
|
+
|
16
|
+
#include "../enc/cost.h"
|
17
|
+
|
18
|
+
static int GetResidualCost(int ctx0, const VP8Residual* const res) {
|
19
|
+
int temp0, temp1;
|
20
|
+
int v_reg, ctx_reg;
|
21
|
+
int n = res->first;
|
22
|
+
// should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1
|
23
|
+
int p0 = res->prob[n][ctx0][0];
|
24
|
+
CostArrayPtr const costs = res->costs;
|
25
|
+
const uint16_t* t = costs[n][ctx0];
|
26
|
+
// bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0
|
27
|
+
// (as required by the syntax). For ctx0 == 0, we need to add it here or it'll
|
28
|
+
// be missing during the loop.
|
29
|
+
int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0;
|
30
|
+
const int16_t* res_coeffs = res->coeffs;
|
31
|
+
const int res_last = res->last;
|
32
|
+
const int const_max_level = MAX_VARIABLE_LEVEL;
|
33
|
+
const int const_2 = 2;
|
34
|
+
const uint16_t** p_costs = &costs[n][0];
|
35
|
+
const size_t inc_p_costs = NUM_CTX * sizeof(*p_costs);
|
36
|
+
|
37
|
+
if (res->last < 0) {
|
38
|
+
return VP8BitCost(0, p0);
|
39
|
+
}
|
40
|
+
|
41
|
+
__asm__ volatile (
|
42
|
+
".set push \n\t"
|
43
|
+
".set noreorder \n\t"
|
44
|
+
"subu %[temp1], %[res_last], %[n] \n\t"
|
45
|
+
"blez %[temp1], 2f \n\t"
|
46
|
+
" nop \n\t"
|
47
|
+
"1: \n\t"
|
48
|
+
"sll %[temp0], %[n], 1 \n\t"
|
49
|
+
"lhx %[v_reg], %[temp0](%[res_coeffs]) \n\t"
|
50
|
+
"addiu %[n], %[n], 1 \n\t"
|
51
|
+
"absq_s.w %[v_reg], %[v_reg] \n\t"
|
52
|
+
"sltiu %[temp0], %[v_reg], 2 \n\t"
|
53
|
+
"move %[ctx_reg], %[v_reg] \n\t"
|
54
|
+
"movz %[ctx_reg], %[const_2], %[temp0] \n\t"
|
55
|
+
"sll %[temp1], %[v_reg], 1 \n\t"
|
56
|
+
"lhx %[temp1], %[temp1](%[VP8LevelFixedCosts]) \n\t"
|
57
|
+
"slt %[temp0], %[v_reg], %[const_max_level] \n\t"
|
58
|
+
"movz %[v_reg], %[const_max_level], %[temp0] \n\t"
|
59
|
+
"addu %[cost], %[cost], %[temp1] \n\t"
|
60
|
+
"sll %[v_reg], %[v_reg], 1 \n\t"
|
61
|
+
"sll %[ctx_reg], %[ctx_reg], 2 \n\t"
|
62
|
+
"lhx %[temp0], %[v_reg](%[t]) \n\t"
|
63
|
+
"addu %[p_costs], %[p_costs], %[inc_p_costs] \n\t"
|
64
|
+
"addu %[t], %[p_costs], %[ctx_reg] \n\t"
|
65
|
+
"addu %[cost], %[cost], %[temp0] \n\t"
|
66
|
+
"bne %[n], %[res_last], 1b \n\t"
|
67
|
+
" lw %[t], 0(%[t]) \n\t"
|
68
|
+
"2: \n\t"
|
69
|
+
".set pop \n\t"
|
70
|
+
: [cost]"+&r"(cost), [t]"+&r"(t), [n]"+&r"(n), [v_reg]"=&r"(v_reg),
|
71
|
+
[ctx_reg]"=&r"(ctx_reg), [p_costs]"+&r"(p_costs), [temp0]"=&r"(temp0),
|
72
|
+
[temp1]"=&r"(temp1)
|
73
|
+
: [const_2]"r"(const_2), [const_max_level]"r"(const_max_level),
|
74
|
+
[VP8LevelFixedCosts]"r"(VP8LevelFixedCosts), [res_last]"r"(res_last),
|
75
|
+
[res_coeffs]"r"(res_coeffs), [inc_p_costs]"r"(inc_p_costs)
|
76
|
+
: "memory"
|
77
|
+
);
|
78
|
+
|
79
|
+
// Last coefficient is always non-zero
|
80
|
+
{
|
81
|
+
const int v = abs(res->coeffs[n]);
|
82
|
+
assert(v != 0);
|
83
|
+
cost += VP8LevelCost(t, v);
|
84
|
+
if (n < 15) {
|
85
|
+
const int b = VP8EncBands[n + 1];
|
86
|
+
const int ctx = (v == 1) ? 1 : 2;
|
87
|
+
const int last_p0 = res->prob[b][ctx][0];
|
88
|
+
cost += VP8BitCost(0, last_p0);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
return cost;
|
92
|
+
}
|
93
|
+
|
94
|
+
#endif // WEBP_USE_MIPS_DSP_R2
|
95
|
+
|
96
|
+
//------------------------------------------------------------------------------
|
97
|
+
// Entry point
|
98
|
+
|
99
|
+
extern void VP8EncDspCostInitMIPSdspR2(void);
|
100
|
+
|
101
|
+
WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPSdspR2(void) {
|
102
|
+
#if defined(WEBP_USE_MIPS_DSP_R2)
|
103
|
+
VP8GetResidualCost = GetResidualCost;
|
104
|
+
#endif // WEBP_USE_MIPS_DSP_R2
|
105
|
+
}
|
106
|
+
|
107
|
+
//------------------------------------------------------------------------------
|