Theora

From XiphWiki
Jump to navigation Jump to search

Theora is a 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):

  • 8x8 Type-II Discrete Cosine Transform
  • block-based motion compensation
  • 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 quantization 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

Status

  • 1.1.1 is the latest stable release (2009-10-01).
  • The bitstream format was frozen in 1.0 Alpha 3 on 2004-08-04: 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 implemented all 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