#avif #heif #av1 #bmff #mux

avif-serialize

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

9 releases

0.7.2 Jun 14, 2021
0.7.1 Jun 2, 2021
0.7.0 May 9, 2021
0.6.5 Jan 12, 2021
0.6.4 Aug 29, 2020

#2 in #av1

Download history 318/week @ 2021-04-04 352/week @ 2021-04-11 277/week @ 2021-04-18 475/week @ 2021-04-25 437/week @ 2021-05-02 206/week @ 2021-05-09 392/week @ 2021-05-16 299/week @ 2021-05-23 391/week @ 2021-05-30 504/week @ 2021-06-06 715/week @ 2021-06-13 207/week @ 2021-06-20 267/week @ 2021-06-27 558/week @ 2021-07-04 264/week @ 2021-07-11 259/week @ 2021-07-18

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

BSD-3-Clause

32KB
816 lines

AVIF image serializer (muxer)

Minimal writer for AVIF header structure. This is a tiny 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 81a.

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

Requirements

  • Rust 1.45

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)

Dependencies

~66KB