Index: head/graphics/dssim/Makefile =================================================================== --- head/graphics/dssim/Makefile (revision 564738) +++ head/graphics/dssim/Makefile (revision 564739) @@ -1,74 +1,77 @@ # $FreeBSD$ PORTNAME= dssim -DISTVERSION= 2.11.5 +DISTVERSION= 3.0.0 CATEGORIES= graphics MASTER_SITES= CRATESIO # XXX Teach USES=cargo to have proper default DISTFILES= ${CARGO_DIST_SUBDIR}/${DISTNAME}${EXTRACT_SUFX} MAINTAINER= jbeich@FreeBSD.org COMMENT= Image similarity comparison simulating human perception LICENSE= AGPLv3+ LICENSE_FILE= ${WRKSRC}/LICENSE USES= cargo PLIST_FILES= bin/${PORTNAME} CARGO_CRATES= adler-0.2.3 \ + ahash-0.4.7 \ arrayvec-0.5.2 \ autocfg-1.0.1 \ bytemuck-1.4.1 \ cc-1.0.66 \ cfg-if-1.0.0 \ const_fn-0.4.5 \ crc32fast-1.2.1 \ crossbeam-channel-0.5.0 \ crossbeam-deque-0.8.0 \ crossbeam-epoch-0.9.1 \ crossbeam-utils-0.8.1 \ - dssim-core-2.11.5 \ + dssim-core-3.0.0 \ dunce-1.0.1 \ either-1.6.1 \ + fallible_collections-0.4.0 \ flate2-1.0.19 \ foreign-types-0.5.0 \ foreign-types-macros-0.2.1 \ foreign-types-shared-0.3.0 \ getopts-0.2.21 \ + hashbrown-0.9.1 \ hermit-abi-0.1.17 \ imgref-1.7.1 \ itertools-0.10.0 \ jobserver-0.1.21 \ lazy_static-1.4.0 \ lcms2-5.4.0 \ lcms2-sys-3.1.5 \ - libc-0.2.82 \ + libc-0.2.84 \ load_image-2.12.1 \ - lodepng-3.2.2 \ + lodepng-3.4.3 \ memoffset-0.6.1 \ miniz_oxide-0.4.3 \ mozjpeg-0.8.21 \ mozjpeg-sys-0.10.11 \ nasm-rs-0.2.0 \ num-0.3.1 \ num-bigint-0.3.1 \ num-complex-0.3.1 \ num-integer-0.1.44 \ num-iter-0.1.42 \ num-rational-0.3.2 \ num-traits-0.2.14 \ num_cpus-1.13.0 \ pkg-config-0.3.19 \ proc-macro2-1.0.24 \ quote-1.0.8 \ rayon-1.5.0 \ rayon-core-1.9.0 \ rexif-0.5.1 \ rgb-0.8.25 \ scopeguard-1.1.0 \ syn-1.0.58 \ unicode-width-0.1.8 \ unicode-xid-0.2.1 .include Index: head/graphics/dssim/distinfo =================================================================== --- head/graphics/dssim/distinfo (revision 564738) +++ head/graphics/dssim/distinfo (revision 564739) @@ -1,111 +1,117 @@ -TIMESTAMP = 1610479703 -SHA256 (rust/crates/dssim-2.11.5.tar.gz) = f1dda112e33d6a395df84d07a52d9835a2fe077076cfe694b5abbf764f57bba3 -SIZE (rust/crates/dssim-2.11.5.tar.gz) = 20727 +TIMESTAMP = 1612730839 +SHA256 (rust/crates/dssim-3.0.0.tar.gz) = 72b01e2bbd4c06aadd7a03743d0ba4db4ef20ab9f1637fe8336b3e41ec935ada +SIZE (rust/crates/dssim-3.0.0.tar.gz) = 21042 SHA256 (rust/crates/adler-0.2.3.tar.gz) = ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e SIZE (rust/crates/adler-0.2.3.tar.gz) = 12168 +SHA256 (rust/crates/ahash-0.4.7.tar.gz) = 739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e +SIZE (rust/crates/ahash-0.4.7.tar.gz) = 51474 SHA256 (rust/crates/arrayvec-0.5.2.tar.gz) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b SIZE (rust/crates/arrayvec-0.5.2.tar.gz) = 27838 SHA256 (rust/crates/autocfg-1.0.1.tar.gz) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a SIZE (rust/crates/autocfg-1.0.1.tar.gz) = 12908 SHA256 (rust/crates/bytemuck-1.4.1.tar.gz) = 41aa2ec95ca3b5c54cf73c91acf06d24f4495d5f1b1c12506ae3483d646177ac SIZE (rust/crates/bytemuck-1.4.1.tar.gz) = 23450 SHA256 (rust/crates/cc-1.0.66.tar.gz) = 4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48 SIZE (rust/crates/cc-1.0.66.tar.gz) = 53454 SHA256 (rust/crates/cfg-if-1.0.0.tar.gz) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd SIZE (rust/crates/cfg-if-1.0.0.tar.gz) = 7934 SHA256 (rust/crates/const_fn-0.4.5.tar.gz) = 28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6 SIZE (rust/crates/const_fn-0.4.5.tar.gz) = 13107 SHA256 (rust/crates/crc32fast-1.2.1.tar.gz) = 81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a SIZE (rust/crates/crc32fast-1.2.1.tar.gz) = 38172 SHA256 (rust/crates/crossbeam-channel-0.5.0.tar.gz) = dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775 SIZE (rust/crates/crossbeam-channel-0.5.0.tar.gz) = 86811 SHA256 (rust/crates/crossbeam-deque-0.8.0.tar.gz) = 94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9 SIZE (rust/crates/crossbeam-deque-0.8.0.tar.gz) = 20756 SHA256 (rust/crates/crossbeam-epoch-0.9.1.tar.gz) = a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d SIZE (rust/crates/crossbeam-epoch-0.9.1.tar.gz) = 39561 SHA256 (rust/crates/crossbeam-utils-0.8.1.tar.gz) = 02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d SIZE (rust/crates/crossbeam-utils-0.8.1.tar.gz) = 35914 -SHA256 (rust/crates/dssim-core-2.11.5.tar.gz) = ba2443cbe633d33d180719a96dd6d75f32b933fb032149a98b6ea3bb8bf1c3bf -SIZE (rust/crates/dssim-core-2.11.5.tar.gz) = 26980 +SHA256 (rust/crates/dssim-core-3.0.0.tar.gz) = 8c69c1fd13d97d2641aa315d23737cb8f3ef977300e1b5328b97c9edef541487 +SIZE (rust/crates/dssim-core-3.0.0.tar.gz) = 26942 SHA256 (rust/crates/dunce-1.0.1.tar.gz) = b2641c4a7c0c4101df53ea572bffdc561c146f6c2eb09e4df02bc4811e3feeb4 SIZE (rust/crates/dunce-1.0.1.tar.gz) = 7988 SHA256 (rust/crates/either-1.6.1.tar.gz) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457 SIZE (rust/crates/either-1.6.1.tar.gz) = 13641 +SHA256 (rust/crates/fallible_collections-0.4.0.tar.gz) = 74bebf0efe2e883c1619c455e3f1764333064694ebd5125d2faddabfb5963186 +SIZE (rust/crates/fallible_collections-0.4.0.tar.gz) = 48200 SHA256 (rust/crates/flate2-1.0.19.tar.gz) = 7411863d55df97a419aa64cb4d2f167103ea9d767e2c54a1868b7ac3f6b47129 SIZE (rust/crates/flate2-1.0.19.tar.gz) = 73768 SHA256 (rust/crates/foreign-types-0.5.0.tar.gz) = d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965 SIZE (rust/crates/foreign-types-0.5.0.tar.gz) = 7824 SHA256 (rust/crates/foreign-types-macros-0.2.1.tar.gz) = 63f713f8b2aa9e24fec85b0e290c56caee12e3b6ae0aeeda238a75b28251afd6 SIZE (rust/crates/foreign-types-macros-0.2.1.tar.gz) = 7673 SHA256 (rust/crates/foreign-types-shared-0.3.0.tar.gz) = 7684cf33bb7f28497939e8c7cf17e3e4e3b8d9a0080ffa4f8ae2f515442ee855 SIZE (rust/crates/foreign-types-shared-0.3.0.tar.gz) = 5894 SHA256 (rust/crates/getopts-0.2.21.tar.gz) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5 SIZE (rust/crates/getopts-0.2.21.tar.gz) = 18457 +SHA256 (rust/crates/hashbrown-0.9.1.tar.gz) = d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04 +SIZE (rust/crates/hashbrown-0.9.1.tar.gz) = 77734 SHA256 (rust/crates/hermit-abi-0.1.17.tar.gz) = 5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8 SIZE (rust/crates/hermit-abi-0.1.17.tar.gz) = 10065 SHA256 (rust/crates/imgref-1.7.1.tar.gz) = 07c89d38187142134cb61fc7a9040ba7f7cbe29fe22bb4b702a4d9a1752fada5 SIZE (rust/crates/imgref-1.7.1.tar.gz) = 60311 SHA256 (rust/crates/itertools-0.10.0.tar.gz) = 37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319 SIZE (rust/crates/itertools-0.10.0.tar.gz) = 109656 SHA256 (rust/crates/jobserver-0.1.21.tar.gz) = 5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2 SIZE (rust/crates/jobserver-0.1.21.tar.gz) = 21228 SHA256 (rust/crates/lazy_static-1.4.0.tar.gz) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 SIZE (rust/crates/lazy_static-1.4.0.tar.gz) = 10443 SHA256 (rust/crates/lcms2-5.4.0.tar.gz) = 1061201a12cfaee632aa3def9cd6ae4b627554025053a37cc530ea8b11d62f1a SIZE (rust/crates/lcms2-5.4.0.tar.gz) = 27483 SHA256 (rust/crates/lcms2-sys-3.1.5.tar.gz) = 8437eb413e1bf7fa279ea5eebef5c12abf46242ff2701d3738d850cab6f7dc47 SIZE (rust/crates/lcms2-sys-3.1.5.tar.gz) = 268975 -SHA256 (rust/crates/libc-0.2.82.tar.gz) = 89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929 -SIZE (rust/crates/libc-0.2.82.tar.gz) = 515967 +SHA256 (rust/crates/libc-0.2.84.tar.gz) = 1cca32fa0182e8c0989459524dc356b8f2b5c10f1b9eb521b7d182c03cf8c5ff +SIZE (rust/crates/libc-0.2.84.tar.gz) = 517732 SHA256 (rust/crates/load_image-2.12.1.tar.gz) = d326645af741a5a6f07d792c8acde0352106ce995c4215ad321e5181ad1e1250 SIZE (rust/crates/load_image-2.12.1.tar.gz) = 418366 -SHA256 (rust/crates/lodepng-3.2.2.tar.gz) = b6eb909184223b89c76d66b80199b7ad4163aebb2519244e6ebac8ba74e67eab -SIZE (rust/crates/lodepng-3.2.2.tar.gz) = 45008 +SHA256 (rust/crates/lodepng-3.4.3.tar.gz) = 11443d177d97dc468ee5cc956769bbdeb4c20707d443c62dfd8b473505365613 +SIZE (rust/crates/lodepng-3.4.3.tar.gz) = 45427 SHA256 (rust/crates/memoffset-0.6.1.tar.gz) = 157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87 SIZE (rust/crates/memoffset-0.6.1.tar.gz) = 7706 SHA256 (rust/crates/miniz_oxide-0.4.3.tar.gz) = 0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d SIZE (rust/crates/miniz_oxide-0.4.3.tar.gz) = 50058 SHA256 (rust/crates/mozjpeg-0.8.21.tar.gz) = 4d85b8169cbe5f4c1efbe5eab4437a313f4e04a2267893c44415838d572e0203 SIZE (rust/crates/mozjpeg-0.8.21.tar.gz) = 13871 SHA256 (rust/crates/mozjpeg-sys-0.10.11.tar.gz) = c74d75bf8736c3f408e05c61c83a96ba753a56b4b9744d7aba6a7f8218bd2321 SIZE (rust/crates/mozjpeg-sys-0.10.11.tar.gz) = 736263 SHA256 (rust/crates/nasm-rs-0.2.0.tar.gz) = a76f43faa0d13f9c89f72e1972446d558f003cfffb80eb16bb444231de1becd1 SIZE (rust/crates/nasm-rs-0.2.0.tar.gz) = 9522 SHA256 (rust/crates/num-0.3.1.tar.gz) = 8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f SIZE (rust/crates/num-0.3.1.tar.gz) = 9414 SHA256 (rust/crates/num-bigint-0.3.1.tar.gz) = 5e9a41747ae4633fce5adffb4d2e81ffc5e89593cb19917f8fb2cc5ff76507bf SIZE (rust/crates/num-bigint-0.3.1.tar.gz) = 83038 SHA256 (rust/crates/num-complex-0.3.1.tar.gz) = 747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5 SIZE (rust/crates/num-complex-0.3.1.tar.gz) = 24541 SHA256 (rust/crates/num-integer-0.1.44.tar.gz) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db SIZE (rust/crates/num-integer-0.1.44.tar.gz) = 22216 SHA256 (rust/crates/num-iter-0.1.42.tar.gz) = b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59 SIZE (rust/crates/num-iter-0.1.42.tar.gz) = 10450 SHA256 (rust/crates/num-rational-0.3.2.tar.gz) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07 SIZE (rust/crates/num-rational-0.3.2.tar.gz) = 26359 SHA256 (rust/crates/num-traits-0.2.14.tar.gz) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290 SIZE (rust/crates/num-traits-0.2.14.tar.gz) = 45476 SHA256 (rust/crates/num_cpus-1.13.0.tar.gz) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3 SIZE (rust/crates/num_cpus-1.13.0.tar.gz) = 14704 SHA256 (rust/crates/pkg-config-0.3.19.tar.gz) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c SIZE (rust/crates/pkg-config-0.3.19.tar.gz) = 15451 SHA256 (rust/crates/proc-macro2-1.0.24.tar.gz) = 1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71 SIZE (rust/crates/proc-macro2-1.0.24.tar.gz) = 37716 SHA256 (rust/crates/quote-1.0.8.tar.gz) = 991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df SIZE (rust/crates/quote-1.0.8.tar.gz) = 24997 SHA256 (rust/crates/rayon-1.5.0.tar.gz) = 8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674 SIZE (rust/crates/rayon-1.5.0.tar.gz) = 158037 SHA256 (rust/crates/rayon-core-1.9.0.tar.gz) = 9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a SIZE (rust/crates/rayon-core-1.9.0.tar.gz) = 63787 SHA256 (rust/crates/rexif-0.5.1.tar.gz) = 95e76538c57642826872a1816c0be2ee971506af29d9c8643d5f7b9cb73bc154 SIZE (rust/crates/rexif-0.5.1.tar.gz) = 23574 SHA256 (rust/crates/rgb-0.8.25.tar.gz) = 287f3c3f8236abb92d8b7e36797f19159df4b58f0a658cc3fb6dd3004b1f3bd3 SIZE (rust/crates/rgb-0.8.25.tar.gz) = 15471 SHA256 (rust/crates/scopeguard-1.1.0.tar.gz) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd SIZE (rust/crates/scopeguard-1.1.0.tar.gz) = 11470 SHA256 (rust/crates/syn-1.0.58.tar.gz) = cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5 SIZE (rust/crates/syn-1.0.58.tar.gz) = 229250 SHA256 (rust/crates/unicode-width-0.1.8.tar.gz) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3 SIZE (rust/crates/unicode-width-0.1.8.tar.gz) = 16732 SHA256 (rust/crates/unicode-xid-0.2.1.tar.gz) = f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564 SIZE (rust/crates/unicode-xid-0.2.1.tar.gz) = 14392 Index: head/graphics/dssim/pkg-descr =================================================================== --- head/graphics/dssim/pkg-descr (revision 564738) +++ head/graphics/dssim/pkg-descr (revision 564739) @@ -1,12 +1,21 @@ This tool computes (dis)similarity between two or more PNG images using an algorithm approximating human vision. Comparison is done in L*a*b* color space (D65 white point, sRGB gamma) using a multi-scale variant of the SSIM algorithm. Features: -- Supports alpha channel -- Supports gamma correction -- No OpenCV or MATLAB needed: uses safe Rust without external dependencies +- Improved algorithm + - Compares at multiple weighed resolutions, and scaling is done in + linear-light RGB. It's sensitive to distortions of various sizes + and blends colors correctly to detect e.g. chroma subsampling errors. + - Uses L*a*b* color space for the SSIM algorithm. It measures + brightness and color much better than metrics from average of + RGB channels. +- Supports alpha channel. +- Supports images with color profiles. +- Takes advantage of multi-core CPUs. +- Can be used as a library in C, Rust, and WASM. +- No OpenCV or MATLAB needed. WWW: https://kornel.ski/dssim