image_pack 0.2.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/CHANGELOG.md +18 -0
- data/LICENSE.txt +21 -0
- data/README.md +140 -0
- data/THIRD_PARTY_NOTICES.md +8 -0
- data/ext/image_pack/extconf.rb +515 -0
- data/ext/image_pack/image_pack.c +1618 -0
- data/ext/image_pack/vendor/.vendored +1 -0
- data/ext/image_pack/vendor/mozjpeg/BUILDING.txt +902 -0
- data/ext/image_pack/vendor/mozjpeg/CMakeLists.txt +1593 -0
- data/ext/image_pack/vendor/mozjpeg/LICENSE.md +132 -0
- data/ext/image_pack/vendor/mozjpeg/README-mozilla.txt +194 -0
- data/ext/image_pack/vendor/mozjpeg/README-turbo.txt +346 -0
- data/ext/image_pack/vendor/mozjpeg/README.ijg +258 -0
- data/ext/image_pack/vendor/mozjpeg/README.md +29 -0
- data/ext/image_pack/vendor/mozjpeg/cderror.h +128 -0
- data/ext/image_pack/vendor/mozjpeg/cdjpeg.c +156 -0
- data/ext/image_pack/vendor/mozjpeg/cdjpeg.h +171 -0
- data/ext/image_pack/vendor/mozjpeg/cjpeg.c +961 -0
- data/ext/image_pack/vendor/mozjpeg/cmyk.h +60 -0
- data/ext/image_pack/vendor/mozjpeg/coderules.txt +78 -0
- data/ext/image_pack/vendor/mozjpeg/croptest.in +95 -0
- data/ext/image_pack/vendor/mozjpeg/djpeg.c +855 -0
- data/ext/image_pack/vendor/mozjpeg/example.txt +464 -0
- data/ext/image_pack/vendor/mozjpeg/jaricom.c +157 -0
- data/ext/image_pack/vendor/mozjpeg/jcapimin.c +307 -0
- data/ext/image_pack/vendor/mozjpeg/jcapistd.c +168 -0
- data/ext/image_pack/vendor/mozjpeg/jcarith.c +972 -0
- data/ext/image_pack/vendor/mozjpeg/jccoefct.c +609 -0
- data/ext/image_pack/vendor/mozjpeg/jccolext.c +144 -0
- data/ext/image_pack/vendor/mozjpeg/jccolor.c +721 -0
- data/ext/image_pack/vendor/mozjpeg/jcdctmgr.c +1776 -0
- data/ext/image_pack/vendor/mozjpeg/jcext.c +219 -0
- data/ext/image_pack/vendor/mozjpeg/jchuff.c +1146 -0
- data/ext/image_pack/vendor/mozjpeg/jchuff.h +57 -0
- data/ext/image_pack/vendor/mozjpeg/jcicc.c +105 -0
- data/ext/image_pack/vendor/mozjpeg/jcinit.c +82 -0
- data/ext/image_pack/vendor/mozjpeg/jcmainct.c +162 -0
- data/ext/image_pack/vendor/mozjpeg/jcmarker.c +844 -0
- data/ext/image_pack/vendor/mozjpeg/jcmaster.c +958 -0
- data/ext/image_pack/vendor/mozjpeg/jcmaster.h +56 -0
- data/ext/image_pack/vendor/mozjpeg/jcomapi.c +109 -0
- data/ext/image_pack/vendor/mozjpeg/jconfig.h.in +37 -0
- data/ext/image_pack/vendor/mozjpeg/jconfig.txt +93 -0
- data/ext/image_pack/vendor/mozjpeg/jconfigint.h.in +44 -0
- data/ext/image_pack/vendor/mozjpeg/jcparam.c +991 -0
- data/ext/image_pack/vendor/mozjpeg/jcphuff.c +1123 -0
- data/ext/image_pack/vendor/mozjpeg/jcprepct.c +351 -0
- data/ext/image_pack/vendor/mozjpeg/jcsample.c +522 -0
- data/ext/image_pack/vendor/mozjpeg/jcstest.c +126 -0
- data/ext/image_pack/vendor/mozjpeg/jctrans.c +408 -0
- data/ext/image_pack/vendor/mozjpeg/jdapimin.c +407 -0
- data/ext/image_pack/vendor/mozjpeg/jdapistd.c +691 -0
- data/ext/image_pack/vendor/mozjpeg/jdarith.c +782 -0
- data/ext/image_pack/vendor/mozjpeg/jdatadst-tj.c +198 -0
- data/ext/image_pack/vendor/mozjpeg/jdatadst.c +299 -0
- data/ext/image_pack/vendor/mozjpeg/jdatasrc-tj.c +194 -0
- data/ext/image_pack/vendor/mozjpeg/jdatasrc.c +295 -0
- data/ext/image_pack/vendor/mozjpeg/jdcoefct.c +881 -0
- data/ext/image_pack/vendor/mozjpeg/jdcoefct.h +83 -0
- data/ext/image_pack/vendor/mozjpeg/jdcol565.c +384 -0
- data/ext/image_pack/vendor/mozjpeg/jdcolext.c +141 -0
- data/ext/image_pack/vendor/mozjpeg/jdcolor.c +881 -0
- data/ext/image_pack/vendor/mozjpeg/jdct.h +208 -0
- data/ext/image_pack/vendor/mozjpeg/jddctmgr.c +367 -0
- data/ext/image_pack/vendor/mozjpeg/jdhuff.c +834 -0
- data/ext/image_pack/vendor/mozjpeg/jdhuff.h +247 -0
- data/ext/image_pack/vendor/mozjpeg/jdicc.c +167 -0
- data/ext/image_pack/vendor/mozjpeg/jdinput.c +408 -0
- data/ext/image_pack/vendor/mozjpeg/jdmainct.c +460 -0
- data/ext/image_pack/vendor/mozjpeg/jdmainct.h +71 -0
- data/ext/image_pack/vendor/mozjpeg/jdmarker.c +1374 -0
- data/ext/image_pack/vendor/mozjpeg/jdmaster.c +727 -0
- data/ext/image_pack/vendor/mozjpeg/jdmaster.h +33 -0
- data/ext/image_pack/vendor/mozjpeg/jdmerge.c +587 -0
- data/ext/image_pack/vendor/mozjpeg/jdmerge.h +47 -0
- data/ext/image_pack/vendor/mozjpeg/jdmrg565.c +354 -0
- data/ext/image_pack/vendor/mozjpeg/jdmrgext.c +184 -0
- data/ext/image_pack/vendor/mozjpeg/jdphuff.c +679 -0
- data/ext/image_pack/vendor/mozjpeg/jdpostct.c +294 -0
- data/ext/image_pack/vendor/mozjpeg/jdsample.c +524 -0
- data/ext/image_pack/vendor/mozjpeg/jdsample.h +50 -0
- data/ext/image_pack/vendor/mozjpeg/jdtrans.c +156 -0
- data/ext/image_pack/vendor/mozjpeg/jerror.c +251 -0
- data/ext/image_pack/vendor/mozjpeg/jerror.h +335 -0
- data/ext/image_pack/vendor/mozjpeg/jfdctflt.c +169 -0
- data/ext/image_pack/vendor/mozjpeg/jfdctfst.c +227 -0
- data/ext/image_pack/vendor/mozjpeg/jfdctint.c +288 -0
- data/ext/image_pack/vendor/mozjpeg/jidctflt.c +240 -0
- data/ext/image_pack/vendor/mozjpeg/jidctfst.c +371 -0
- data/ext/image_pack/vendor/mozjpeg/jidctint.c +2627 -0
- data/ext/image_pack/vendor/mozjpeg/jidctred.c +409 -0
- data/ext/image_pack/vendor/mozjpeg/jinclude.h +147 -0
- data/ext/image_pack/vendor/mozjpeg/jmemmgr.c +1180 -0
- data/ext/image_pack/vendor/mozjpeg/jmemnobs.c +110 -0
- data/ext/image_pack/vendor/mozjpeg/jmemsys.h +178 -0
- data/ext/image_pack/vendor/mozjpeg/jmorecfg.h +382 -0
- data/ext/image_pack/vendor/mozjpeg/jpeg_nbits_table.h +4098 -0
- data/ext/image_pack/vendor/mozjpeg/jpegcomp.h +32 -0
- data/ext/image_pack/vendor/mozjpeg/jpegint.h +453 -0
- data/ext/image_pack/vendor/mozjpeg/jpeglib.h +1211 -0
- data/ext/image_pack/vendor/mozjpeg/jpegtran.c +827 -0
- data/ext/image_pack/vendor/mozjpeg/jpegyuv.c +172 -0
- data/ext/image_pack/vendor/mozjpeg/jquant1.c +856 -0
- data/ext/image_pack/vendor/mozjpeg/jquant2.c +1286 -0
- data/ext/image_pack/vendor/mozjpeg/jsimd.h +123 -0
- data/ext/image_pack/vendor/mozjpeg/jsimd_none.c +431 -0
- data/ext/image_pack/vendor/mozjpeg/jsimddct.h +70 -0
- data/ext/image_pack/vendor/mozjpeg/jstdhuff.c +144 -0
- data/ext/image_pack/vendor/mozjpeg/jutils.c +133 -0
- data/ext/image_pack/vendor/mozjpeg/jversion.h.in +56 -0
- data/ext/image_pack/vendor/mozjpeg/libjpeg.map.in +11 -0
- data/ext/image_pack/vendor/mozjpeg/libjpeg.txt +3150 -0
- data/ext/image_pack/vendor/mozjpeg/rdbmp.c +690 -0
- data/ext/image_pack/vendor/mozjpeg/rdcolmap.c +253 -0
- data/ext/image_pack/vendor/mozjpeg/rdgif.c +720 -0
- data/ext/image_pack/vendor/mozjpeg/rdjpeg.c +160 -0
- data/ext/image_pack/vendor/mozjpeg/rdjpgcom.c +494 -0
- data/ext/image_pack/vendor/mozjpeg/rdpng.c +194 -0
- data/ext/image_pack/vendor/mozjpeg/rdppm.c +781 -0
- data/ext/image_pack/vendor/mozjpeg/rdswitch.c +642 -0
- data/ext/image_pack/vendor/mozjpeg/rdtarga.c +508 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch32/jccolext-neon.c +148 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch32/jchuff-neon.c +334 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch32/jsimd.c +976 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch32/jsimd_neon.S +1200 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch64/jccolext-neon.c +316 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch64/jchuff-neon.c +411 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch64/jsimd.c +1053 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/aarch64/jsimd_neon.S +2254 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/align.h +28 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jccolor-neon.c +160 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jcgray-neon.c +120 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jcgryext-neon.c +106 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jchuff.h +131 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jcphuff-neon.c +623 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jcsample-neon.c +192 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jdcolext-neon.c +374 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jdcolor-neon.c +141 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jdmerge-neon.c +144 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jdmrgext-neon.c +723 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jdsample-neon.c +569 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jfdctfst-neon.c +214 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jfdctint-neon.c +376 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jidctfst-neon.c +472 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jidctint-neon.c +801 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jidctred-neon.c +486 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/jquanti-neon.c +193 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/neon-compat.h +26 -0
- data/ext/image_pack/vendor/mozjpeg/simd/arm/neon-compat.h.in +37 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jccolext-avx2.asm +578 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jccolext-mmx.asm +476 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jccolext-sse2.asm +503 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jccolor-avx2.asm +121 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jccolor-mmx.asm +121 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jccolor-sse2.asm +120 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcgray-avx2.asm +113 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcgray-mmx.asm +113 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcgray-sse2.asm +112 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcgryext-avx2.asm +457 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcgryext-mmx.asm +355 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcgryext-sse2.asm +382 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jchuff-sse2.asm +761 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcphuff-sse2.asm +662 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcsample-avx2.asm +388 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcsample-mmx.asm +324 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jcsample-sse2.asm +351 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdcolext-avx2.asm +515 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdcolext-mmx.asm +404 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdcolext-sse2.asm +458 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdcolor-avx2.asm +118 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdcolor-mmx.asm +117 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdcolor-sse2.asm +117 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdmerge-avx2.asm +136 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdmerge-mmx.asm +123 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdmerge-sse2.asm +135 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdmrgext-avx2.asm +575 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdmrgext-mmx.asm +460 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdmrgext-sse2.asm +517 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdsample-avx2.asm +760 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdsample-mmx.asm +731 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jdsample-sse2.asm +724 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jfdctflt-3dn.asm +318 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jfdctflt-sse.asm +369 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jfdctfst-mmx.asm +395 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jfdctfst-sse2.asm +403 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jfdctint-avx2.asm +331 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jfdctint-mmx.asm +620 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jfdctint-sse2.asm +633 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctflt-3dn.asm +451 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctflt-sse.asm +571 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctflt-sse2.asm +497 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctfst-mmx.asm +499 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctfst-sse2.asm +501 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctint-avx2.asm +453 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctint-mmx.asm +851 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctint-sse2.asm +858 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctred-mmx.asm +704 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jidctred-sse2.asm +592 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jquant-3dn.asm +230 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jquant-mmx.asm +276 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jquant-sse.asm +208 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jquantf-sse2.asm +168 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jquanti-avx2.asm +188 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jquanti-sse2.asm +201 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jsimd.c +1312 -0
- data/ext/image_pack/vendor/mozjpeg/simd/i386/jsimdcpu.asm +135 -0
- data/ext/image_pack/vendor/mozjpeg/simd/jsimd.h +1258 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips/jsimd.c +1143 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips/jsimd_dspr2.S +4543 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips/jsimd_dspr2_asm.h +292 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jccolext-mmi.c +455 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jccolor-mmi.c +148 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jcgray-mmi.c +132 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jcgryext-mmi.c +374 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jcsample-mmi.c +98 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jcsample.h +28 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jdcolext-mmi.c +415 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jdcolor-mmi.c +139 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jdmerge-mmi.c +149 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jdmrgext-mmi.c +615 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jdsample-mmi.c +304 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jfdctfst-mmi.c +255 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jfdctint-mmi.c +398 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jidctfst-mmi.c +395 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jidctint-mmi.c +571 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jquanti-mmi.c +124 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jsimd.c +866 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/jsimd_mmi.h +69 -0
- data/ext/image_pack/vendor/mozjpeg/simd/mips64/loongson-mmintrin.h +1334 -0
- data/ext/image_pack/vendor/mozjpeg/simd/nasm/jcolsamp.inc +135 -0
- data/ext/image_pack/vendor/mozjpeg/simd/nasm/jdct.inc +31 -0
- data/ext/image_pack/vendor/mozjpeg/simd/nasm/jsimdcfg.inc +93 -0
- data/ext/image_pack/vendor/mozjpeg/simd/nasm/jsimdcfg.inc.h +133 -0
- data/ext/image_pack/vendor/mozjpeg/simd/nasm/jsimdext.inc +520 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jccolext-altivec.c +269 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jccolor-altivec.c +116 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jcgray-altivec.c +111 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jcgryext-altivec.c +228 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jcsample-altivec.c +159 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jcsample.h +28 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jdcolext-altivec.c +276 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jdcolor-altivec.c +106 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jdmerge-altivec.c +130 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jdmrgext-altivec.c +329 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jdsample-altivec.c +400 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jfdctfst-altivec.c +154 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jfdctint-altivec.c +258 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jidctfst-altivec.c +255 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jidctint-altivec.c +357 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jquanti-altivec.c +250 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jsimd.c +884 -0
- data/ext/image_pack/vendor/mozjpeg/simd/powerpc/jsimd_altivec.h +98 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jccolext-avx2.asm +559 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jccolext-sse2.asm +484 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jccolor-avx2.asm +121 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jccolor-sse2.asm +120 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jcgray-avx2.asm +113 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jcgray-sse2.asm +112 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jcgryext-avx2.asm +438 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jcgryext-sse2.asm +363 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jchuff-sse2.asm +583 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jcphuff-sse2.asm +639 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jcsample-avx2.asm +367 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jcsample-sse2.asm +330 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdcolext-avx2.asm +496 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdcolext-sse2.asm +439 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdcolor-avx2.asm +118 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdcolor-sse2.asm +117 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdmerge-avx2.asm +136 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdmerge-sse2.asm +135 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdmrgext-avx2.asm +596 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdmrgext-sse2.asm +538 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdsample-avx2.asm +696 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jdsample-sse2.asm +665 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jfdctflt-sse.asm +355 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jfdctfst-sse2.asm +389 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jfdctint-avx2.asm +320 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jfdctint-sse2.asm +619 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jidctflt-sse2.asm +482 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jidctfst-sse2.asm +491 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jidctint-avx2.asm +418 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jidctint-sse2.asm +847 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jidctred-sse2.asm +574 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jquantf-sse2.asm +155 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jquanti-avx2.asm +163 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jquanti-sse2.asm +188 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jsimd.c +1110 -0
- data/ext/image_pack/vendor/mozjpeg/simd/x86_64/jsimdcpu.asm +86 -0
- data/ext/image_pack/vendor/mozjpeg/strtest.c +170 -0
- data/ext/image_pack/vendor/mozjpeg/structure.txt +900 -0
- data/ext/image_pack/vendor/mozjpeg/tjbench.c +1044 -0
- data/ext/image_pack/vendor/mozjpeg/tjbenchtest.in +256 -0
- data/ext/image_pack/vendor/mozjpeg/tjbenchtest.java.in +215 -0
- data/ext/image_pack/vendor/mozjpeg/tjexample.c +406 -0
- data/ext/image_pack/vendor/mozjpeg/tjexampletest.in +149 -0
- data/ext/image_pack/vendor/mozjpeg/tjexampletest.java.in +151 -0
- data/ext/image_pack/vendor/mozjpeg/tjunittest.c +961 -0
- data/ext/image_pack/vendor/mozjpeg/tjutil.c +70 -0
- data/ext/image_pack/vendor/mozjpeg/tjutil.h +53 -0
- data/ext/image_pack/vendor/mozjpeg/transupp.c +2373 -0
- data/ext/image_pack/vendor/mozjpeg/transupp.h +243 -0
- data/ext/image_pack/vendor/mozjpeg/turbojpeg-jni.c +1259 -0
- data/ext/image_pack/vendor/mozjpeg/turbojpeg.c +2320 -0
- data/ext/image_pack/vendor/mozjpeg/turbojpeg.h +1784 -0
- data/ext/image_pack/vendor/mozjpeg/usage.txt +679 -0
- data/ext/image_pack/vendor/mozjpeg/wizard.txt +220 -0
- data/ext/image_pack/vendor/mozjpeg/wrbmp.c +552 -0
- data/ext/image_pack/vendor/mozjpeg/wrgif.c +580 -0
- data/ext/image_pack/vendor/mozjpeg/wrjpgcom.c +577 -0
- data/ext/image_pack/vendor/mozjpeg/wrppm.c +366 -0
- data/ext/image_pack/vendor/mozjpeg/wrtarga.c +258 -0
- data/ext/image_pack/vendor/mozjpeg/yuvjpeg.c +268 -0
- data/lib/image_pack/backend.rb +8 -0
- data/lib/image_pack/configuration.rb +23 -0
- data/lib/image_pack/errors.rb +13 -0
- data/lib/image_pack/version.rb +5 -0
- data/lib/image_pack.rb +208 -0
- metadata +433 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* jcmaster.h
|
|
3
|
+
*
|
|
4
|
+
* This file was part of the Independent JPEG Group's software:
|
|
5
|
+
* Copyright (C) 1991-1997, Thomas G. Lane.
|
|
6
|
+
* mozjpeg Modifications:
|
|
7
|
+
* Copyright (C) 2014, Mozilla Corporation.
|
|
8
|
+
* For conditions of distribution and use, see the accompanying README file.
|
|
9
|
+
*
|
|
10
|
+
* This file contains the master control structures for the JPEG compressor.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/* Private state */
|
|
15
|
+
|
|
16
|
+
typedef enum {
|
|
17
|
+
main_pass, /* input data, also do first output step */
|
|
18
|
+
huff_opt_pass, /* Huffman code optimization pass */
|
|
19
|
+
output_pass, /* data output pass */
|
|
20
|
+
trellis_pass /* trellis quantization pass */
|
|
21
|
+
} c_pass_type;
|
|
22
|
+
|
|
23
|
+
typedef struct {
|
|
24
|
+
struct jpeg_comp_master pub; /* public fields */
|
|
25
|
+
|
|
26
|
+
c_pass_type pass_type; /* the type of the current pass */
|
|
27
|
+
|
|
28
|
+
int pass_number; /* # of passes completed */
|
|
29
|
+
int total_passes; /* total # of passes needed */
|
|
30
|
+
|
|
31
|
+
int scan_number; /* current index in scan_info[] */
|
|
32
|
+
|
|
33
|
+
/* fields for scan optimisation */
|
|
34
|
+
int pass_number_scan_opt_base; /* pass number where scan optimization begins */
|
|
35
|
+
unsigned char * scan_buffer[64]; /* buffer for a given scan */
|
|
36
|
+
unsigned long scan_size[64]; /* size for a given scan */
|
|
37
|
+
int actual_Al[64]; /* actual value of Al used for a scan */
|
|
38
|
+
unsigned long best_cost; /* bit count for best frequency split */
|
|
39
|
+
int best_freq_split_idx_luma; /* index for best frequency split (luma) */
|
|
40
|
+
int best_freq_split_idx_chroma; /* index for best frequency split (chroma) */
|
|
41
|
+
int best_Al_luma; /* best value for Al found in scan search (luma) */
|
|
42
|
+
int best_Al_chroma; /* best value for Al found in scan search (luma) */
|
|
43
|
+
boolean interleave_chroma_dc; /* indicate whether to interleave chroma DC scans */
|
|
44
|
+
struct jpeg_destination_mgr * saved_dest; /* saved value of cinfo->dest */
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* This is here so we can add libjpeg-turbo version/build information to the
|
|
48
|
+
* global string table without introducing a new global symbol. Adding this
|
|
49
|
+
* information to the global string table allows one to examine a binary
|
|
50
|
+
* object and determine which version of libjpeg-turbo it was built from or
|
|
51
|
+
* linked against.
|
|
52
|
+
*/
|
|
53
|
+
const char *jpeg_version;
|
|
54
|
+
} my_comp_master;
|
|
55
|
+
|
|
56
|
+
typedef my_comp_master * my_master_ptr;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* jcomapi.c
|
|
3
|
+
*
|
|
4
|
+
* This file was part of the Independent JPEG Group's software:
|
|
5
|
+
* Copyright (C) 1994-1997, Thomas G. Lane.
|
|
6
|
+
* It was modified by The libjpeg-turbo Project to include only code relevant
|
|
7
|
+
* to libjpeg-turbo.
|
|
8
|
+
* For conditions of distribution and use, see the accompanying README.ijg
|
|
9
|
+
* file.
|
|
10
|
+
*
|
|
11
|
+
* This file contains application interface routines that are used for both
|
|
12
|
+
* compression and decompression.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
#define JPEG_INTERNALS
|
|
16
|
+
#include "jinclude.h"
|
|
17
|
+
#include "jpeglib.h"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
* Abort processing of a JPEG compression or decompression operation,
|
|
22
|
+
* but don't destroy the object itself.
|
|
23
|
+
*
|
|
24
|
+
* For this, we merely clean up all the nonpermanent memory pools.
|
|
25
|
+
* Note that temp files (virtual arrays) are not allowed to belong to
|
|
26
|
+
* the permanent pool, so we will be able to close all temp files here.
|
|
27
|
+
* Closing a data source or destination, if necessary, is the application's
|
|
28
|
+
* responsibility.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
GLOBAL(void)
|
|
32
|
+
jpeg_abort(j_common_ptr cinfo)
|
|
33
|
+
{
|
|
34
|
+
int pool;
|
|
35
|
+
|
|
36
|
+
/* Do nothing if called on a not-initialized or destroyed JPEG object. */
|
|
37
|
+
if (cinfo->mem == NULL)
|
|
38
|
+
return;
|
|
39
|
+
|
|
40
|
+
/* Releasing pools in reverse order might help avoid fragmentation
|
|
41
|
+
* with some (brain-damaged) malloc libraries.
|
|
42
|
+
*/
|
|
43
|
+
for (pool = JPOOL_NUMPOOLS - 1; pool > JPOOL_PERMANENT; pool--) {
|
|
44
|
+
(*cinfo->mem->free_pool) (cinfo, pool);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* Reset overall state for possible reuse of object */
|
|
48
|
+
if (cinfo->is_decompressor) {
|
|
49
|
+
cinfo->global_state = DSTATE_START;
|
|
50
|
+
/* Try to keep application from accessing now-deleted marker list.
|
|
51
|
+
* A bit kludgy to do it here, but this is the most central place.
|
|
52
|
+
*/
|
|
53
|
+
((j_decompress_ptr)cinfo)->marker_list = NULL;
|
|
54
|
+
} else {
|
|
55
|
+
cinfo->global_state = CSTATE_START;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
/*
|
|
61
|
+
* Destruction of a JPEG object.
|
|
62
|
+
*
|
|
63
|
+
* Everything gets deallocated except the master jpeg_compress_struct itself
|
|
64
|
+
* and the error manager struct. Both of these are supplied by the application
|
|
65
|
+
* and must be freed, if necessary, by the application. (Often they are on
|
|
66
|
+
* the stack and so don't need to be freed anyway.)
|
|
67
|
+
* Closing a data source or destination, if necessary, is the application's
|
|
68
|
+
* responsibility.
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
GLOBAL(void)
|
|
72
|
+
jpeg_destroy(j_common_ptr cinfo)
|
|
73
|
+
{
|
|
74
|
+
/* We need only tell the memory manager to release everything. */
|
|
75
|
+
/* NB: mem pointer is NULL if memory mgr failed to initialize. */
|
|
76
|
+
if (cinfo->mem != NULL)
|
|
77
|
+
(*cinfo->mem->self_destruct) (cinfo);
|
|
78
|
+
cinfo->mem = NULL; /* be safe if jpeg_destroy is called twice */
|
|
79
|
+
cinfo->global_state = 0; /* mark it destroyed */
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
/*
|
|
84
|
+
* Convenience routines for allocating quantization and Huffman tables.
|
|
85
|
+
* (Would jutils.c be a more reasonable place to put these?)
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
GLOBAL(JQUANT_TBL *)
|
|
89
|
+
jpeg_alloc_quant_table(j_common_ptr cinfo)
|
|
90
|
+
{
|
|
91
|
+
JQUANT_TBL *tbl;
|
|
92
|
+
|
|
93
|
+
tbl = (JQUANT_TBL *)
|
|
94
|
+
(*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, sizeof(JQUANT_TBL));
|
|
95
|
+
tbl->sent_table = FALSE; /* make sure this is false in any new table */
|
|
96
|
+
return tbl;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
GLOBAL(JHUFF_TBL *)
|
|
101
|
+
jpeg_alloc_huff_table(j_common_ptr cinfo)
|
|
102
|
+
{
|
|
103
|
+
JHUFF_TBL *tbl;
|
|
104
|
+
|
|
105
|
+
tbl = (JHUFF_TBL *)
|
|
106
|
+
(*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, sizeof(JHUFF_TBL));
|
|
107
|
+
tbl->sent_table = FALSE; /* make sure this is false in any new table */
|
|
108
|
+
return tbl;
|
|
109
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/* Version ID for the JPEG library.
|
|
2
|
+
* Might be useful for tests like "#if JPEG_LIB_VERSION >= 60".
|
|
3
|
+
*/
|
|
4
|
+
#define JPEG_LIB_VERSION @JPEG_LIB_VERSION@
|
|
5
|
+
|
|
6
|
+
/* libjpeg-turbo version */
|
|
7
|
+
#define LIBJPEG_TURBO_VERSION @VERSION@
|
|
8
|
+
|
|
9
|
+
/* libjpeg-turbo version in integer form */
|
|
10
|
+
#define LIBJPEG_TURBO_VERSION_NUMBER @LIBJPEG_TURBO_VERSION_NUMBER@
|
|
11
|
+
|
|
12
|
+
/* Support arithmetic encoding */
|
|
13
|
+
#cmakedefine C_ARITH_CODING_SUPPORTED 1
|
|
14
|
+
|
|
15
|
+
/* Support arithmetic decoding */
|
|
16
|
+
#cmakedefine D_ARITH_CODING_SUPPORTED 1
|
|
17
|
+
|
|
18
|
+
/* Support in-memory source/destination managers */
|
|
19
|
+
#cmakedefine MEM_SRCDST_SUPPORTED 1
|
|
20
|
+
|
|
21
|
+
/* Use accelerated SIMD routines. */
|
|
22
|
+
#cmakedefine WITH_SIMD 1
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* Define BITS_IN_JSAMPLE as either
|
|
26
|
+
* 8 for 8-bit sample values (the usual setting)
|
|
27
|
+
* 12 for 12-bit sample values
|
|
28
|
+
* Only 8 and 12 are legal data precisions for lossy JPEG according to the
|
|
29
|
+
* JPEG standard, and the IJG code does not support anything else!
|
|
30
|
+
* We do not support run-time selection of data precision, sorry.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
#define BITS_IN_JSAMPLE @BITS_IN_JSAMPLE@ /* use 8 or 12 */
|
|
34
|
+
|
|
35
|
+
/* Define if your (broken) compiler shifts signed values as if they were
|
|
36
|
+
unsigned. */
|
|
37
|
+
#cmakedefine RIGHT_SHIFT_IS_UNSIGNED 1
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* jconfig.txt
|
|
3
|
+
*
|
|
4
|
+
* This file was part of the Independent JPEG Group's software:
|
|
5
|
+
* Copyright (C) 1991-1994, Thomas G. Lane.
|
|
6
|
+
* It was modified by The libjpeg-turbo Project to include only code relevant
|
|
7
|
+
* to libjpeg-turbo.
|
|
8
|
+
* For conditions of distribution and use, see the accompanying README.ijg
|
|
9
|
+
* file.
|
|
10
|
+
*
|
|
11
|
+
* This file documents the configuration options that are required to
|
|
12
|
+
* customize the JPEG software for a particular system.
|
|
13
|
+
*
|
|
14
|
+
* The actual configuration options for a particular installation are stored
|
|
15
|
+
* in jconfig.h. On many machines, jconfig.h can be generated automatically
|
|
16
|
+
* or copied from one of the "canned" jconfig files that we supply. But if
|
|
17
|
+
* you need to generate a jconfig.h file by hand, this file tells you how.
|
|
18
|
+
*
|
|
19
|
+
* DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING.
|
|
20
|
+
* EDIT A COPY NAMED JCONFIG.H.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* These symbols indicate the properties of your machine or compiler.
|
|
26
|
+
* #define the symbol if yes, #undef it if no.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/* Define "boolean" as unsigned char, not int, on Windows systems.
|
|
30
|
+
*/
|
|
31
|
+
#ifdef _WIN32
|
|
32
|
+
#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
|
|
33
|
+
typedef unsigned char boolean;
|
|
34
|
+
#endif
|
|
35
|
+
#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* The following options affect code selection within the JPEG library,
|
|
41
|
+
* but they don't need to be visible to applications using the library.
|
|
42
|
+
* To minimize application namespace pollution, the symbols won't be
|
|
43
|
+
* defined unless JPEG_INTERNALS has been defined.
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
#ifdef JPEG_INTERNALS
|
|
47
|
+
|
|
48
|
+
/* Define this if your compiler implements ">>" on signed values as a logical
|
|
49
|
+
* (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift,
|
|
50
|
+
* which is the normal and rational definition.
|
|
51
|
+
*/
|
|
52
|
+
#undef RIGHT_SHIFT_IS_UNSIGNED
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
#endif /* JPEG_INTERNALS */
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
/*
|
|
59
|
+
* The remaining options do not affect the JPEG library proper,
|
|
60
|
+
* but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c).
|
|
61
|
+
* Other applications can ignore these.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
#ifdef JPEG_CJPEG_DJPEG
|
|
65
|
+
|
|
66
|
+
/* These defines indicate which image (non-JPEG) file formats are allowed. */
|
|
67
|
+
|
|
68
|
+
#define PNG_SUPPORTED /* PNG image file format */
|
|
69
|
+
#define BMP_SUPPORTED /* BMP image file format */
|
|
70
|
+
#define GIF_SUPPORTED /* GIF image file format */
|
|
71
|
+
#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
|
|
72
|
+
#define TARGA_SUPPORTED /* Targa image file format */
|
|
73
|
+
|
|
74
|
+
/* Define this if you want to name both input and output files on the command
|
|
75
|
+
* line, rather than using stdout and optionally stdin. You MUST do this if
|
|
76
|
+
* your system can't cope with binary I/O to stdin/stdout. See comments at
|
|
77
|
+
* head of cjpeg.c or djpeg.c.
|
|
78
|
+
*/
|
|
79
|
+
#undef TWO_FILE_COMMANDLINE
|
|
80
|
+
|
|
81
|
+
/* By default, we open image files with fopen(..., "rb") or fopen(..., "wb").
|
|
82
|
+
* This is necessary on systems that distinguish text files from binary files,
|
|
83
|
+
* and is harmless on most systems that don't. If you have one of the rare
|
|
84
|
+
* systems that complains about the "b" spec, define this symbol.
|
|
85
|
+
*/
|
|
86
|
+
#undef DONT_USE_B_MODE
|
|
87
|
+
|
|
88
|
+
/* Define this if you want percent-done progress reports from cjpeg/djpeg.
|
|
89
|
+
*/
|
|
90
|
+
#undef PROGRESS_REPORT
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
#endif /* JPEG_CJPEG_DJPEG */
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* libjpeg-turbo build number */
|
|
2
|
+
#define BUILD "@BUILD@"
|
|
3
|
+
|
|
4
|
+
/* Compiler's inline keyword */
|
|
5
|
+
#undef inline
|
|
6
|
+
|
|
7
|
+
/* How to obtain function inlining. */
|
|
8
|
+
#define INLINE @INLINE@
|
|
9
|
+
|
|
10
|
+
/* How to obtain thread-local storage */
|
|
11
|
+
#define THREAD_LOCAL @THREAD_LOCAL@
|
|
12
|
+
|
|
13
|
+
/* Define to the full name of this package. */
|
|
14
|
+
#define PACKAGE_NAME "@CMAKE_PROJECT_NAME@"
|
|
15
|
+
|
|
16
|
+
/* Version number of package */
|
|
17
|
+
#define VERSION "@VERSION@"
|
|
18
|
+
|
|
19
|
+
/* The size of `size_t', as computed by sizeof. */
|
|
20
|
+
#define SIZEOF_SIZE_T @SIZE_T@
|
|
21
|
+
|
|
22
|
+
/* Define if your compiler has __builtin_ctzl() and sizeof(unsigned long) == sizeof(size_t). */
|
|
23
|
+
#cmakedefine HAVE_BUILTIN_CTZL
|
|
24
|
+
|
|
25
|
+
/* Define to 1 if you have the <intrin.h> header file. */
|
|
26
|
+
#cmakedefine HAVE_INTRIN_H
|
|
27
|
+
|
|
28
|
+
#if defined(_MSC_VER) && defined(HAVE_INTRIN_H)
|
|
29
|
+
#if (SIZEOF_SIZE_T == 8)
|
|
30
|
+
#define HAVE_BITSCANFORWARD64
|
|
31
|
+
#elif (SIZEOF_SIZE_T == 4)
|
|
32
|
+
#define HAVE_BITSCANFORWARD
|
|
33
|
+
#endif
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
#if defined(__has_attribute)
|
|
37
|
+
#if __has_attribute(fallthrough)
|
|
38
|
+
#define FALLTHROUGH __attribute__((fallthrough));
|
|
39
|
+
#else
|
|
40
|
+
#define FALLTHROUGH
|
|
41
|
+
#endif
|
|
42
|
+
#else
|
|
43
|
+
#define FALLTHROUGH
|
|
44
|
+
#endif
|