mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-28 12:08:10 -06:00
DNG export gains a "Lossy" compression: the raw data is demosaiced to linear camera RGB (OpcodeList3 and the default crop applied), scaled to the resize long edge when one is set, and stored as 8-bit baseline JPEG tiles at the export quality. The codes follow a 1/2.2 power curve that a LinearizationTable maps back to linear 16-bit values; colour matrices, white balance and the profile look are kept. Available in the export dialog, `app.export` (`dngCompression: "lossy"`) and the MCP export tool. Also fixes a new clippy lint (chunks_exact_to_as_chunks) in pipeline/spots.rs that fails `cargo xtask ci` on Rust 1.99. Sources: Adobe DNG Specification 1.4+ (Compression 34892, LinearizationTable); own design for the code curve. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
36 lines
1.1 KiB
TOML
36 lines
1.1 KiB
TOML
[package]
|
|
name = "lightcraft-raw"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "LightCraft RAW decoding, demosaicing and DNG colour model (L1)"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
lightcraft-tiff = { workspace = true }
|
|
lightcraft-meta = { workspace = true }
|
|
lightcraft-raster = { workspace = true }
|
|
lightcraft-color = { workspace = true }
|
|
lightcraft-geom = { workspace = true }
|
|
serde = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
rayon = { workspace = true }
|
|
miniz_oxide = { workspace = true }
|
|
zune-jpeg = { workspace = true }
|
|
zune-core = { workspace = true }
|
|
jpeg-encoder = { workspace = true }
|
|
jxl-oxide = { workspace = true, optional = true }
|
|
|
|
[features]
|
|
default = ["jxl"]
|
|
## JPEG XL compressed DNGs (DNG 1.7, compression 52546) via jxl-oxide (pure Rust, MIT OR Apache-2.0).
|
|
jxl = ["dep:jxl-oxide"]
|
|
|
|
[dev-dependencies]
|
|
proptest = { workspace = true }
|
|
zune-jpegxl = { workspace = true }
|
|
# Pinned CC0 corpus identities; not a product dependency.
|
|
sha2 = { version = "0.10", default-features = false, features = ["std"] }
|