[package]
edition = "2024"
rust-version = "1.85"
name = "codec-eval"
version = "0.3.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Image codec comparison and evaluation library"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/imazen/codec-eval"
resolver = "2"
[features]
chart = []
corpus = ["dep:codec-corpus"]
default = [
"icc",
"jpeg-decode",
"corpus",
]
icc = ["moxcms"]
interpolation = []
jpeg-decode = ["jpeg-decoder"]
[lib]
name = "codec_eval"
path = "src/lib.rs"
[dependencies.butteraugli]
version = "0.4"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.codec-corpus]
version = "1.0"
optional = true
[dependencies.csv]
version = "1.3"
[dependencies.dssim-core]
version = "3.4"
[dependencies.fast-ssim2]
version = "0.6.5"
features = ["imgref"]
[dependencies.imgref]
version = "1.10"
[dependencies.jpeg-decoder]
version = "0.3"
optional = true
[dependencies.moxcms]
version = "0.7"
features = ["options"]
optional = true
[dependencies.rayon]
version = "1.10"
[dependencies.rgb]
version = "0.8"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2"
[dev-dependencies.tempfile]
version = "3"
[lints.clippy]
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
cloned_instead_of_copied = "allow"
collapsible_if = "allow"
doc_markdown = "allow"
float_cmp = "allow"
if_not_else = "allow"
items_after_statements = "allow"
manual_midpoint = "allow"
map_unwrap_or = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
needless_raw_string_hashes = "allow"
option_if_let_else = "allow"
redundant_closure_for_method_calls = "allow"
ref_option = "allow"
stable_sort_primitive = "allow"
struct_excessive_bools = "allow"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
uninlined_format_args = "allow"
unnecessary_map_or = "allow"
unreadable_literal = "allow"
unused_self = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
deprecated = "allow"
unsafe_code = "warn"