Theora

From XiphWiki
Revision as of 01:57, 1 April 2008 by Fp (talk | contribs) (→‎Status)
Jump to navigation Jump to search

Theora is our video codec, based on the VP3 codec donated by On2 Technologies. We've refined and extended it, giving it the same future scope for encoder improvement Vorbis has. See http://theora.org/ for more information.

Features

Features available in the Theora format (and a comparison to VP3 and MPEG-4 ASP):

  • block-based motion compensation
  • 8x8 Type-II Discrete Cosine Transform
  • free-form variable bit rates (VBR)
  • adaptive in-loop deblocking applied to the edges of the coded blocks (not existing in MPEG-4 ASP)
  • block sizes down to 8x8 (MPEG-4 ASP supports 8x8 only with 4MV)
  • 384 8x8 custom quantization matrices: intra/inter, luma/chroma and even each quant (more than VP3 and MPEG-4 ASP/AVC)
  • flexible entropy encoding (Theora supports 80 VLC tables selectable per-frame, MPEG-4 ASP has just one)
  • 4:2:0, 4:2:2, and 4:4:4 chroma subsampling formats (VP3 and MPEG-4 ASP only support 4:2:0)
  • 8 bits per pixel per color channel
  • multiple reference frames (not possible in MPEG-4 ASP)
  • pixel aspect ratio (eg for anamorphic signalling/playback)
  • non-multiple of 16 picture sizes (as possible in ASP, but not in VP3)
  • non-linear scaling of quants values (as done in MPEG-4 AVC)
  • adaptive quantisation down to the block level (as possible in MPEG-4 ASP/AVC, but not in VP3)
  • intra frames (I-Frames in MPEG), inter frames (P-Frames), but no B-Frames (as supported in MPEG-4 ASP/AVC)
  • HalfPixel Motion Search Precision (MPEG-4 ASP/AVC supports HalfPixel or QuarterPixel)
  • technologies used already in Vorbis (decoder setup configuration, bitstream headers...) not available in VP3

Note that not all of these features are already implemented in the reference encoder.

Status

  • 1.0 Beta 2 is the latest stable release (2007-Oct-12).
  • The bitstream format was frozen in 1.0 Alpha 3: every file created with this encoder (and, of course, later encoders) will be playable by any compliant Theora decoder.
  • The decoder in 1.0 Alpha 8 implements all planned features of the Theora Format Specification: every file created by any compliant Theora encoder will be playable by the decoder in 1.0 Alpha 8 (and, of course, later decoders).

Development

More information

It's possible to convert VP3 video to Theora. See vp3toTheora.

External links