w.pomp
c462915a61
- repo link fix
Rust CI / features (zstd) (push) Successful in 38s
Fuzz / Fuzz (decode_comprehensive) (push) Failing after 40s
Fuzz / Fuzz (decode_image) (push) Failing after 38s
Fuzz / Fuzz regression (push) Successful in 31s
Rust CI / build (1.88.0) (push) Failing after 51s
Rust CI / build (beta) (push) Canceled after 0s
Rust CI / build (nightly) (push) Canceled after 0s
Rust CI / build (stable) (push) Canceled after 0s
Rust CI / test-platforms (ubuntu-latest) (push) Successful in 34s
Rust CI / features () (push) Successful in 31s
Rust CI / features (default) (push) Successful in 39s
Rust CI / features (default,zstd) (push) Successful in 37s
Rust CI / features (deflate) (push) Successful in 39s
Rust CI / features (jpeg) (push) Successful in 37s
Rust CI / features (lzw) (push) Successful in 39s
Rust CI / other_archs (i686-unknown-linux-gnu) (push) Failing after 9s
Rust CI / other_archs (powerpc-unknown-linux-gnu) (push) Failing after 8s
Rust CI / msrv (push) Successful in 54s
Rust CI / rustfmt (push) Successful in 25s
Rust CI / clippy (push) Successful in 36s
Rust CI / test-platforms (macos-26-intel) (push) Canceled after 0s
Rust CI / test-platforms (macos-latest) (push) Canceled after 0s
Rust CI / test-platforms (ubuntu-24.04-arm) (push) Canceled after 0s
Rust CI / test-platforms (windows-11-arm) (push) Canceled after 0s
Rust CI / test-platforms (windows-latest) (push) Canceled after 0s
2026-10-27 19:13:30 +01:00
w.pomp
caf8908fbf
- repo link fix
2026-10-27 19:12:59 +01:00
w.pomp
08492b5e16
- repo link fix
2026-10-27 19:10:14 +01:00
w.pomp
563b2b11d7
- bump dependencies
Fuzz / Fuzz (decode_comprehensive) (push) Failing after 40s
Fuzz / Fuzz (decode_image) (push) Failing after 38s
Fuzz / Fuzz regression (push) Successful in 31s
Rust CI / build (1.88.0) (push) Failing after 51s
Rust CI / build (beta) (push) Canceled after 0s
Rust CI / build (nightly) (push) Canceled after 0s
Rust CI / build (stable) (push) Canceled after 0s
Rust CI / test-platforms (ubuntu-latest) (push) Successful in 41s
Rust CI / features () (push) Successful in 30s
Rust CI / features (default) (push) Successful in 38s
Rust CI / features (default,zstd) (push) Successful in 37s
Rust CI / features (deflate) (push) Successful in 38s
Rust CI / features (jpeg) (push) Successful in 38s
Rust CI / features (zstd) (push) Successful in 38s
Rust CI / other_archs (i686-unknown-linux-gnu) (push) Failing after 16s
Rust CI / features (lzw) (push) Successful in 37s
Rust CI / other_archs (powerpc-unknown-linux-gnu) (push) Failing after 8s
Rust CI / msrv (push) Successful in 59s
Rust CI / rustfmt (push) Successful in 26s
Rust CI / clippy (push) Successful in 34s
Rust CI / test-platforms (macos-26-intel) (push) Canceled after 0s
Rust CI / test-platforms (macos-latest) (push) Canceled after 0s
Rust CI / test-platforms (ubuntu-24.04-arm) (push) Canceled after 0s
Rust CI / test-platforms (windows-11-arm) (push) Canceled after 0s
Rust CI / test-platforms (windows-latest) (push) Canceled after 0s
2026-10-27 14:43:16 +01:00
Wim Pomp
96d37bb087
- use a fork of the tiff crate to open RGBPalette tiffs
Fuzz / Fuzz (decode_comprehensive) (push) Failing after 27s
Fuzz / Fuzz (decode_image) (push) Failing after 36s
Fuzz / Fuzz regression (push) Successful in 29s
Rust CI / build (beta) (push) Successful in 40s
Rust CI / build (nightly) (push) Successful in 39s
Rust CI / features (default,zstd) (push) Successful in 35s
Rust CI / features (jpeg) (push) Successful in 35s
Rust CI / features (lzw) (push) Successful in 36s
Rust CI / features (zstd) (push) Successful in 36s
Rust CI / other_archs (i686-unknown-linux-gnu) (push) Failing after 19s
Rust CI / msrv (push) Successful in 56s
Rust CI / build (1.88.0) (push) Successful in 47s
Rust CI / build (stable) (push) Successful in 39s
Rust CI / test-platforms (ubuntu-latest) (push) Successful in 32s
Rust CI / features () (push) Successful in 31s
Rust CI / features (default) (push) Successful in 35s
Rust CI / features (deflate) (push) Successful in 37s
Rust CI / other_archs (powerpc-unknown-linux-gnu) (push) Failing after 17s
Rust CI / rustfmt (push) Successful in 25s
Rust CI / clippy (push) Successful in 33s
Rust CI / test-platforms (macos-26-intel) (push) Canceled after 0s
Rust CI / test-platforms (macos-latest) (push) Canceled after 0s
Rust CI / test-platforms (ubuntu-24.04-arm) (push) Canceled after 0s
Rust CI / test-platforms (windows-11-arm) (push) Canceled after 0s
Rust CI / test-platforms (windows-latest) (push) Canceled after 0s
2026-10-03 19:35:01 +02:00
Paolo Barbolini
a5b9a57e09
Upgrade zstd to 0.14
...
Bumps the optional `zstd` dependency from `0.13` to `0.14` (pulls in
`zstd-safe` 8.0.0 / `zstd-sys` 2.1.0).
We only use `zstd::Decoder::new` for streaming decode, which is unchanged
in 0.14.0, so this is a pure version bump with no code changes.
Also worth noting: `zstd-safe` 8.0.0 fixes a dangling dictionary pointer
reachable from safe code, and `zstd-sys` 2.1.0 no longer needs `libclang`
by default. The crate stack moved from MIT to BSD-3-Clause (still
permissive, compatible with our MIT).
2026-09-06 16:59:40 +02:00
Sergey "Shnatsel" Davidoff
f3f9ff1244
Merge pull request #398 from Shnatsel/safe-rust-zstd-2
...
Add safe Rust zstd decoding backend
2026-07-20 00:33:05 +01:00
Sergey "Shnatsel" Davidoff
11133cb1e3
upgrade zrip to 0.8.x series
2026-07-06 15:15:04 +01:00
Sergey "Shnatsel" Davidoff
c0043c1a84
Use zrip-decode crate instead of ruzstd
2026-06-27 12:47:51 +01:00
A. Molzer
0fdf1e0502
Upgrade weezl to 0.2
2026-05-16 00:40:00 +02:00
Lilith River
dc94cd4436
bench: add comprehensive decode benchmarks
...
Add decode benchmark covering 16 TIFF configurations with both a real
photo corpus (if available) and synthetic in-memory images:
Strip: uncompressed, PackBits, LZW, LZW+hpred, deflate+hpred, RGB16
deflate+hpred, gray8 LZW, gray8 deflate+hpred, RGB f32 deflate+fpred,
gray f32 deflate+fpred, palette8 LZW, bilevel fax4.
Tiled: RGB8 LZW/deflate/JPEG 256, gray f32 deflate+fpred 512.
Synthetic benchmarks isolate predictor and compression overhead with
controlled 2048x2048 images. A callgrind profiling example is included
for instruction-level analysis.
2026-04-05 22:00:22 -06:00
Lilith River
2d6d92e81d
refactor: simplify hash computation and remove unused benchmark
...
Address PR review feedback:
- Remove benches/decode.rs which referenced non-existent gen_bench_tiff.c
- Simplify compute_tiff_hash: replace 66-line match block with
as_buffer().as_bytes() + ByteOrder::convert for LE normalization
- Use TIFF Type repr(u16) as hash discriminant instead of ad-hoc u8
- Rename all 74 seq test images to match updated hashes
2026-03-10 14:43:07 -06:00
Lilith River
fcdb86ca7f
bench: add decode benchmark for extended bit depths
...
Measures decode throughput for 1024x1024 gray images at various bit
depths (3-24 bit). Requires pre-generated images in /tmp/bench-tiff/
(see stderr instructions for generation).
2026-03-10 08:02:46 -06:00
Sergey "Shnatsel" Davidoff
19caae4f53
Rename safe-rust-zstd to zstd-safe-rust
2026-03-06 09:36:09 +00:00
Sergey "Shnatsel" Davidoff
d9d4f0a905
Add safe Rust Zstd decoding option
2026-03-05 13:10:07 +00:00
Sergey "Shnatsel" Davidoff and Claude
eceaa1f14d
Add encoding benchmark for RGB32Float with float predictor and DEFLATE
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-02-27 00:27:40 +00:00
A. Molzer
abf3cc617d
Bump MSRV to 1.88
2026-02-14 18:04:07 +01:00
A. Molzer
701fcc46b8
Add libtiffpic test suite
...
Two tests are disabled, both related to tiles, since they do not follow
the fully released spec themselves but incidentally decode with libtiff
anyways. The two images (`cramps-tile.tif`, `quad-tile.tif`) are tiled
layout which libtiff detects by the presence of TileWidth/TileHeight
tags. We would detect that by chunks encoded via TileOffsets and
TileByteLengths tags. However the images encoded their chunk data into
the StripOffsets tag; additionally they contain a RowsPerStrip value
anyways.
Tests disabled as this is to be resolved in a separate issue (#338 ) with
a decision on treatment of this situation (strictness setting or copying
libtiff, also error late for mismatched lengths).
2026-02-14 06:55:29 +01:00
A. Molzer
03979faef8
Metadata for 0.11.3 release
2026-02-07 08:38:03 +01:00
Jonathan Behrens and A. Molzer
a0191ed1a7
Support decoding WebP compressed TIFFs ( #336 )
...
Co-authored-by: A. Molzer <5550310+197g@users.noreply.github.com >
2026-01-29 10:53:00 -08:00
A. Molzer
418ea182c3
Release notes for 0.11.2
2026-01-25 00:33:33 +01:00
Aurelia Molzer
be04326264
Remove benchmark images from distribution
2026-01-13 10:06:59 +01:00
A. Molzer
5f329840c8
Metadata for release 0.11.1
2026-01-12 00:43:29 +01:00
A. Molzer
27bfcf5562
Bump MSRV to 1.85
...
This gives us the diagnostic items. As a side effect we will have
`expect` for lints from 1.81 to apply in later PRs. It's time I think.
2026-01-06 17:27:51 +01:00
A. Molzer
fe305ec24a
Bump version to 0.11
2026-01-05 22:49:00 +01:00
Jacob Adam W.
4adba46b9f
Update zune-jpeg to 0.5 ( #304 )
2025-10-25 13:53:04 -07:00
Aurelia Molzer
4acdfea783
Add metadata and changelog for 0.10.3
2025-09-01 02:30:40 +02:00
Aurelia Molzer
64286c2110
Merge pull request #294 from image-rs/fax-default-feature
...
Make fax a default feature
2025-09-01 00:15:14 +00:00
Aurelia Molzer
bc71086a96
Verify WhiteIsZero invert, add Gray(1) color type
...
This was found through the fax4 decoding that is always bilevel.
No longer silently ignore an unknown color type when a photometric
interpretation requires an inversion. DICOM requires that WhiteIsZero
and BlackIsZero are only used for samples-per-pixel=1 but we do not
strictly enforce that early. Previously for the result Multiband color
we just ignored the tag which is also not right.
2025-09-01 00:25:48 +02:00
Sergey "Shnatsel" Davidoff
481a2ab54a
Make fax a default feature
...
Fax was commonly requested, so let's make it Just Work when tiff crate is used through `image` where it's difficult to fiddle with tiff crate features.
2025-08-31 15:28:09 +01:00
Aurelia Molzer
9f1de91880
Make an explicit 'fax' feature
2025-08-31 01:32:32 +02:00
Aurelia Molzer
b5afb8cca4
Drop bitvec dependency
2025-08-31 01:25:58 +02:00
Stephen Judkins
80ce77190e
Refactor Group4 reader into stream module
2025-08-31 01:25:43 +02:00
Stephen Judkins
c75aa98ce2
bit-addressable output (doesn't work yet)
2025-08-31 01:25:42 +02:00
Stephen Judkins
666f871d30
CCITT group 4 (Fax4) decoding support
2025-08-30 23:20:41 +02:00
Aurelia Molzer
756ea3e813
Add metadata for 0.10.2
2025-08-26 11:24:04 +02:00
Aurelia Molzer
cbcf6b97d4
Bump version number 0.10.1
2025-08-25 23:21:34 +02:00
A. Molzer
59d32a66a7
Add test coverage for to byte decoding
2025-07-14 18:23:30 +02:00
Vladimir Kuznetsov
816fb85304
Use libtiff compatible weezl configuration ( #276 )
2025-06-29 10:24:28 -07:00
Jonathan Behrens
46086e2bcf
Release 0.10.0 ( #271 )
2025-06-20 20:15:42 -07:00
Jonathan Behrens
83e6d64751
Create feature flags for more compression algorithms ( #270 )
2025-06-15 15:50:14 -07:00
Jonathan Behrens
dc2c67469b
Switch to zune-jpeg ( #268 )
...
]
2025-06-14 21:13:16 -07:00
Jonathan Behrens
b5d8ee5f86
Switch to quick_error and cleaner error messages ( #269 )
2025-06-09 19:10:12 -07:00
Wei Ji
36f7b3b4aa
Bump MSRV from 1.61.0 to 1.70.0
...
Found using `cargo msrv find`, the `1.70.0` version is determined by `half=2.4.1` having an MSRV of 1.70.0.
2025-03-16 21:31:12 +00:00
Micah Chambers
3bfb43e83e
Add FP16 support ( #257 )
2025-02-04 19:12:01 -08:00
Stefan Schake
a19cf37587
Support ZSTD compression method for reading ( #256 )
2024-12-20 12:50:34 -08:00
Jonathan Behrens
b0ba4a6788
Release 0.9.1 ( #220 )
2024-01-13 12:01:04 -08:00
Jonathan Behrens
a67f50568c
Update edition and CI script, and add Cargo.lock.msrv ( #212 )
...
* Add Cargo.lock.msrv, update edition, and CI script
* Also run clippy and verify msrv
* Fix string mismatch
* Have clippy only check for serious errors
2023-08-20 13:44:35 -07:00
Andreas Molzer
fcfcecb2df
Add changelog and metadata for 0.8.2
2023-02-06 23:37:12 +01:00
Andreas Molzer
4dea7c4c81
Changelog and metadata for 0.8.1
2022-12-10 08:25:57 +01:00