jxl-encoder-cli 0.2.0

Command-line JPEG XL encoder
[package]
name = "jxl-encoder-cli"
description = "Command-line JPEG XL encoder"
readme = "README.md"
documentation = "https://docs.rs/jxl-encoder-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
rust-version.workspace = true
keywords = ["jpeg-xl", "encoder", "cli"]
categories = ["command-line-utilities", "multimedia::images"]

[[bin]]
name = "cjxl-rs"
path = "src/main.rs"

[features]
default = ["jxl_encoder/std", "jxl_encoder/safe-mode", "butteraugli-loop", "unsafe-performance", "parallel"]
debug-tokens = ["jxl_encoder/debug-tokens"]
debug-ac-strategy = ["jxl_encoder/debug-ac-strategy"]
debug-rect = ["jxl_encoder/debug-rect"]
# Enable iterative rate control for improved distance targeting
rate-control = ["jxl_encoder/rate-control"]
# Enable butteraugli quantization loop for per-block quality refinement
butteraugli-loop = ["jxl_encoder/butteraugli-loop"]
# Enable SSIM2 quantization loop (alternative to butteraugli)
ssim2-loop = ["jxl_encoder/ssim2-loop"]
# Enable zensim quantization loop (alternative to butteraugli)
zensim-loop = ["jxl_encoder/zensim-loop"]
# Enable parallel group encoding with rayon
parallel = ["jxl_encoder/parallel"]
# Use MaybeUninit for hot-path buffers (eliminates memset zero-fill)
unsafe-performance = ["jxl_encoder/unsafe-performance"]

[dependencies]
jxl_encoder = { package = "jxl-encoder", path = "../jxl-encoder", version = "0.2.0", default-features = false }
clap = { version = "4", features = ["derive"] }
png = "0.18"

[lints]
workspace = true