3 releases (breaking)

0.5.0-rc0 Apr 7, 2024
0.4.0 Nov 16, 2023
0.2.0 Apr 30, 2023

#45 in #image-encoding

Download history 29/week @ 2024-07-19 192/week @ 2024-07-26 193/week @ 2024-08-02 143/week @ 2024-08-09 37/week @ 2024-08-16 30/week @ 2024-08-23 65/week @ 2024-08-30 14/week @ 2024-09-06 15/week @ 2024-09-13 40/week @ 2024-09-20 65/week @ 2024-09-27 22/week @ 2024-10-04 1/week @ 2024-10-11 1/week @ 2024-10-18 202/week @ 2024-10-25 249/week @ 2024-11-01

453 downloads per month
Used in zune-image

MIT OR Apache-2.0 OR Zlib

115KB
1.5K SLoC

Zune-farbfeld

Farbfeld decoding and encoding support

Usage

Add zune-farbfeld to your Cargo.toml

zune-farbfeld = "[LATEST]"

You can then use FarbfeldDecoder to decode images and FarbfeldEncoder to encode images

Endianness

Where endianness matters, the library either takes or uses native endian


lib.rs:

farbfeld is a lossless image format which is easy to parse, pipe and compress. It has the following format:

╔════════╤═════════════════════════════════════════════════════════╗
║ Bytes  │ Description                                             ║
╠════════╪═════════════════════════════════════════════════════════╣
║ 8      │ "farbfeld" magic value                                  ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4      │ 32-Bit BE unsigned integer (width)                      ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4      │ 32-Bit BE unsigned integer (height)                     ║
╟────────┼─────────────────────────────────────────────────────────╢
║ [2222] │ 4x16-Bit BE unsigned integers [RGBA] / pixel, row-major ║
╚════════╧═════════════════════════════════════════════════════════╝
The RGB-data should be sRGB for best interoperability and not alpha-premultiplied.

Dependencies