State of FFV1 specifications







Jérôme Martinez

Specs vs reference encoder

Reference encoder has some known bugs

Reference decoder supports them

Challenging to change now (files already in the wild)

We updated specs with documentation of "exceptions"

We may remove them in the next version of the format


We use everywhere the same name for the same thing (capitalization included)

Formating for being more compatible with RFC style

We corrected some typos (e.g. unsigned in decoder, signed in specs)

More explicit specification

Rewording of some sections

Adding more descriptions

Matroska binding

V_FFV1 CodecID

FFmpeg supports it

FFmpeg does not write it by default (compatibility with older versions)

Missing part

The Pixel() description is missing

Lot is already described in plain English

We need to make an explicit C-like description


FFmpeg encoder/decoder

libav encoder/decoder (fork from FFmpeg)

MediaInfo decoder (different implementation)

FFV1 v4

Request for supporting more pixel formats

And more native metadata (not relying on the container metadata)

Optimization of the algorithm?