FFV1: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
Line 38: Line 38:


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


==== Header ====
==== Header ====


==== Slice ====
===== 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 ==
== Frame Encoding ==

Revision as of 05:32, 19 October 2012

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