Home

Awesome

image-tiff

Build Status Documentation Further crate info

TIFF decoding and encoding library in pure Rust

Supported

Features

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.

PhotometricInterpretationUINT FormatIEEEFP Format
WhiteIsZeroGray(8|16|32|64)Gray(32|64)
BlackIsZeroGray(8|16|32|64)Gray(32|64)
RGBRGB(8|16|32|64), RGBA(8|16|32|64)RGB(32|64), RGBA(32|64)
RGBPalette
Mask
CMYKCMYK(8|16|32|64)CMYK(32|64)
YCbCr
CIELab

Compressions

DecodingEncoding
None
LZW
Deflate
PackBits
JPEGnot yet

Not yet supported

Formats and interpretations not listed above or with empty entries are unsupported.

Fuzzing

This crate uses 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_image -snone -- -timeout=5.