#avif #heif #av1 #bmff #mux

avif-serialize

Minimal writer for AVIF header structure (MPEG/HEIF/MIAF/ISO-BMFF)

12 releases

0.7.5 Sep 15, 2021
0.7.4 Sep 8, 2021
0.7.3 Aug 23, 2021
0.7.2 Jun 14, 2021
0.6.4 Aug 29, 2020

#2 in #av1

Download history 225/week @ 2021-06-24 531/week @ 2021-07-01 346/week @ 2021-07-08 249/week @ 2021-07-15 217/week @ 2021-07-22 724/week @ 2021-07-29 337/week @ 2021-08-05 695/week @ 2021-08-12 344/week @ 2021-08-19 286/week @ 2021-08-26 619/week @ 2021-09-02 702/week @ 2021-09-09 252/week @ 2021-09-16 600/week @ 2021-09-23 281/week @ 2021-09-30 451/week @ 2021-10-07

1,802 downloads per month
Used in 3 crates (via ravif)

BSD-3-Clause

32KB
818 lines

AVIF image serializer (muxer)

Minimal writer for AVIF header structure. This is lean, safe-Rust alternative to libavif. It creates the jungle of MPEG/HEIF/MIAF/ISO-BMFF "boxes" as appropriate for AVIF files. Supports alpha channel embedding.

Compatible with decoders in Chrome 85+, libavif v0.8.1, and Firefox 92.

Together with rav1e it allows pure-Rust AVIF image encoding.

Requirements

Usage

  1. Compress pixels using an AV1 encoder, such as rav1e. libaom works too.

  2. Call avif_serialize::serialize_to_vec(av1_data, None, width, height, 8)

See cavif for example usage.


lib.rs:

AVIF image serializer (muxer)

Usage

  1. Compress pixels using an AV1 encoder, such as rav1e. libaom works too.

  2. Call avif_serialize::serialize_to_vec(av1_data, None, width, height, 8)

See cavif for a complete implementation.

Dependencies

~66KB