FFV1

From MultimediaWiki
Revision as of 05:32, 19 October 2012 by Lu zero (talk | contribs) (→‎Frame)
Jump to navigation Jump to search

The FFV1 video codec is a simple and efficient lossless intra-frame only codec.

Bitstream structure

Global Header

Version 1 does not have a global header, from version 2 the following field compose the global header.

  • version
  • minor version
  • coder type
  • state transition table
  • colorspace type
  • bits per sample
  • chroma_planes
  • horizontal subsampling
  • vertical subsampling
  • alpha plane presence
  • number of horizontal slices
  • number of vertical slices
  • quantization tables
  • error correction
  • cyclic redundancy check

Frame

Each frame is composed by a small header and the frame data in slices

Header

Version 1

Version 0 and 1 use only the per frame header defined as following.

Version 2

Version 2 and later store only the initial 1bit Range Coded keyframe flag.

Slice

Frame Encoding

Prediction

Quantization

Colorspace

Value encoding modes

Range coding

Huffman coding