Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Breaking changes:
Other changes:

- add optional `f16` features to the TIFF and GeoTIFF readers/writers, enabling `half::f16` rasters encoded as `SampleFormat=Float` with 16 bits per sample
- add a property-based writer→reader roundtrip suite covering sample types, compressions, predictors, planar layouts, strips/tiles, and both byte orders; a big-endian GDAL parity test for writer output; and synthetic sparse-block and video-range-YCbCr fuzz seeds
- restructure the GDAL ghost-area block reader into explicit wrapped/direct phases with a candidate-outcome test matrix, and move SubIFD tag-offset math into `tiff_writer::encoder::find_tag_value_offset`
- add `deflate_level(0..=9)` to `ImageBuilder` and `GeoTiffBuilder` for controlling Deflate output size/speed, plus `compress_with_level` in `tiff-writer::compress`; `BlockEncodingOptions` gains a `deflate_level` field
- speed up decode and write paths: switch the Deflate backend to the pure-Rust `zlib-rs` (~20-40% faster on predictor-compressed rasters), stream overview resampling by source row spans (~6x faster streaming COG average overviews), copy raster regions by row slice instead of per-element indexing (~4.5x faster plain multiband writes), resolve per-block decode metadata once per read, encode writer tag values once, and reuse the floating-point predictor scratch buffer across rows
Expand Down
83 changes: 83 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added fuzz/corpus/geotiff_open/synthetic-sparse-strips.tif
Binary file not shown.
Binary file not shown.
Binary file added fuzz/corpus/tiff_open/synthetic-sparse-strips.tif
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions integration-tests/tiff-integration/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ f16 = ["dep:half", "tiff-core/f16", "tiff-reader/f16", "tiff-writer/f16"]

[dev-dependencies]
criterion = "0.5"
proptest = "1"
tempfile = "3"
serde_json = "1"

Expand Down
Loading
Loading