Fuzz / Fuzz (decode_comprehensive) (push) Successful in 2m31s
Fuzz / Fuzz (decode_image) (push) Failing after 37s
Fuzz / Fuzz regression (push) Successful in 35s
Rust CI / build (1.88.0) (push) Successful in 52s
Rust CI / build (beta) (push) Successful in 47s
Rust CI / build (nightly) (push) Successful in 48s
Rust CI / test-platforms (ubuntu-latest) (push) Successful in 41s
Rust CI / features (default) (push) Failing after 35s
Rust CI / features (default,zstd) (push) Canceled after 0s
Rust CI / features (deflate) (push) Canceled after 0s
Rust CI / features (jpeg) (push) Canceled after 0s
Rust CI / features (lzw) (push) Canceled after 0s
Rust CI / features (zstd) (push) Canceled after 0s
Rust CI / build (stable) (push) Successful in 47s
Rust CI / features () (push) Successful in 29s
Rust CI / other_archs (i686-unknown-linux-gnu) (push) Failing after 16s
Rust CI / other_archs (powerpc-unknown-linux-gnu) (push) Failing after 9s
Rust CI / msrv (push) Successful in 55s
Rust CI / rustfmt (push) Successful in 24s
Rust CI / clippy (push) Failing after 32s
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
61 lines
3.0 KiB
Markdown
61 lines
3.0 KiB
Markdown
# image-tiff
|
|
[](https://github.com/image-rs/image-tiff/actions)
|
|
[](https://docs.rs/tiff)
|
|
[](https://crates.io/crates/tiff)
|
|
|
|
TIFF decoding and encoding library in pure Rust
|
|
|
|
Forked from https://github.com/image-rs/image-tiff. Changes: read images containing RGBPalette frames, ignoring colormaps.
|
|
|
|
## Supported
|
|
|
|
### Features
|
|
- Baseline spec (other than formats and tags listed below as not supported)
|
|
- Multipage
|
|
- BigTIFF
|
|
- Incremental decoding
|
|
|
|
### Formats
|
|
This table lists photometric interpretations and sample formats which are supported for encoding and decoding. The entries are `ColorType` variants for which sample bit depths are supported. Only samples where all bit depths are equal are currently supported. For example, `RGB(8)` means that the bit depth [8, 8, 8] is supported and will be interpreted as an 8 bit per channel RGB color type.
|
|
|
|
| `PhotometricInterpretation` | UINT Format | IEEEFP Format |
|
|
| --------------------------- | --------------------------------------- | ------------------------- |
|
|
| `WhiteIsZero` | Gray(8\|16\|32\|64) | Gray(32\|64) |
|
|
| `BlackIsZero` | Gray(8\|16\|32\|64) | Gray(32\|64) |
|
|
| `RGB` | RGB(8\|16\|32\|64), RGBA(8\|16\|32\|64) | RGB(32\|64), RGBA(32\|64) |
|
|
| `RGBPalette` | | |
|
|
| `Mask` | | |
|
|
| `CMYK` | CMYK(8\|16\|32\|64) | CMYK(32\|64) |
|
|
| `CMYKA` | CMYKA(8) | |
|
|
| `YCbCr` | | |
|
|
| `CIELab` | | |
|
|
|
|
### Compressions
|
|
|
|
| | Decoding | Encoding |
|
|
| -------- | -------- | -------- |
|
|
| None | ✓ | ✓ |
|
|
| LZW | ✓ | ✓ |
|
|
| Deflate | ✓ | ✓ |
|
|
| PackBits | ✓ | ✓ |
|
|
| Fax4 | ✓ | not yet |
|
|
| JPEG | ✓ | not yet |
|
|
| ZSTD | ✓ | not yet |
|
|
|
|
|
|
## Not yet supported
|
|
|
|
Formats and interpretations not listed above or with empty entries are unsupported.
|
|
|
|
- Baseline tags
|
|
- `ExtraSamples`
|
|
- Extension tags
|
|
|
|
## Fuzzing
|
|
|
|
This crate uses [cargo-fuzz](https://github.com/rust-fuzz/cargo-fuzz) in order to test the image parser.
|
|
|
|
After installing it with `cargo install cargo-fuzz` on a nightly rustc, the
|
|
fuzzing harness can be run with recommended settings using
|
|
`cargo fuzz run decode_comprehensive -snone -- -dict=fuzz/tiff.dict -timeout=5`.
|