[workspace] members = [ "testing", "resizer", ] [package] name = "fast_image_resize" version = "5.0.0" authors = ["Kirill Kuzminykh "] edition = "2021" license = "MIT OR Apache-2.0" description = "Library for fast image resizing with using of SIMD instructions" readme = "README.md" keywords = ["image", "resize"] repository = "https://github.com/cykooz/fast_image_resize" documentation = "https://docs.rs/crate/fast_image_resize" exclude = ["/data"] [dependencies] cfg-if = "1.0" num-traits = "0.2.19" thiserror = "1.0" document-features = "0.2.10" # Optional dependencies image = { version = "0.25.2", optional = true, default-features = false } bytemuck = { version = "1.16", optional = true } rayon = { version = "1.10", optional = true } [features] ## Enable this feature to implement traits [IntoImageView](crate::IntoImageView) and ## [IntoImageViewMut](crate::IntoImageViewMut) for the ## [DynamicImage](https://docs.rs/image/latest/image/enum.DynamicImage.html) ## type from the `image` crate. image = ["dep:image", "dep:bytemuck"] ## This feature enables image processing in `rayon` thread pool. rayon = ["dep:rayon", "resize/rayon", "image/rayon", "testing/rayon"] for_testing = ["image"] only_u8x4 = ["testing/only_u8x4"] # This can be used to experiment with the crate's code. [dev-dependencies] fast_image_resize = { path = ".", features = ["for_testing"] } resize = { version = "0.8.7", default-features = false, features = ["std"] } rgb = "0.8.50" png = "0.17.14" serde = { version = "1.0", features = ["serde_derive"] } serde_json = "1.0" walkdir = "2.5" itertools = "0.13.0" criterion = { version = "0.5.1", default-features = false, features = ["cargo_bench_support"] } tera = "1.20" testing = { path = "testing" } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] nix = { version = "0.29.0", default-features = false, features = ["sched"] } [target.'cfg(all(not(target_arch = "wasm32"), not(target_os = "windows")))'.dev-dependencies] libvips = "1.7" [[bench]] name = "bench_resize" harness = false [[bench]] name = "bench_alpha" harness = false [[bench]] name = "bench_compare_rgb" harness = false [[bench]] name = "bench_compare_rgb16" harness = false [[bench]] name = "bench_compare_rgb32f" harness = false [[bench]] name = "bench_compare_rgba" harness = false [[bench]] name = "bench_compare_rgba16" harness = false [[bench]] name = "bench_compare_rgba32f" harness = false [[bench]] name = "bench_compare_l" harness = false [[bench]] name = "bench_compare_la" harness = false [[bench]] name = "bench_compare_l16" harness = false [[bench]] name = "bench_compare_la16" harness = false [[bench]] name = "bench_compare_l32f" harness = false [[bench]] name = "bench_compare_la32f" harness = false [[bench]] name = "bench_color_mapper" harness = false [profile.test] opt-level = 3 incremental = true # debug builds for deps [profile.dev.package.'*'] opt-level = 3 debug = false # Strip debug symbols as they are useless with O3 anyway. strip = "debuginfo" # debug builds for procmacros [profile.dev.build-override] opt-level = 2 # reasonable optimization codegen-units = 256 # max threading # When possible - this is generally scary as some procmacros # will fail without any feedback. #debug = false # release build for procmacros - same config as debug build for procmacros [profile.release.build-override] opt-level = 2 codegen-units = 256 debug = false # when possible [profile.release] opt-level = 3 incremental = true #lto = true #codegen-units = 1 strip = true #[profile.release.package.fast_image_resize] #codegen-units = 1 [profile.release.package.image] codegen-units = 1 [profile.release.package.resize] codegen-units = 1 [package.metadata.release] pre-release-replacements = [ { file = "CHANGELOG.md", search = "Unreleased", replace = "{{version}}" }, { file = "CHANGELOG.md", search = "ReleaseDate", replace = "{{date}}" } ] # Header of next release in CHANGELOG.md: # ## [Unreleased] - ReleaseDate