All Projects → image-rs → image-tiff

image-rs / image-tiff

Licence: MIT License
TIFF decoding and encoding library in pure Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to image-tiff

WebARKitLib
The source code of WebARKit
Stars: ✭ 13 (-71.11%)
Mutual labels:  hackoctoberfest
navio
Navio is a program to create and manage linux containers. This project exists only for study purposes, so feel free to contribute :)
Stars: ✭ 14 (-68.89%)
Mutual labels:  hackoctoberfest
CsharpInterviewQuestions
A C# code collection of Interview Questions
Stars: ✭ 62 (+37.78%)
Mutual labels:  hackoctoberfest
Taskwarrior
Taskwarrior - Command line Task Management
Stars: ✭ 2,239 (+4875.56%)
Mutual labels:  hackoctoberfest
geeks-for-geeks-solutions
Solutions of questions on Geeks-for-Geeks.Solution Available in C++.
Stars: ✭ 28 (-37.78%)
Mutual labels:  hackoctoberfest

image-tiff

Build Status Documentation Further crate info

TIFF decoding and encoding library in pure Rust

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)
YCbCr
CIELab

Compressions

Decoding Encoding
None
LZW
Deflate
PackBits

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 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].