Theora: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(→‎Status: update for 1.0)
m (moved Theora on wheels to Theora over redirect: Reverted move by User:Willy on wheels)
 
(12 intermediate revisions by 9 users not shown)
Line 1: Line 1:
'''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.
'''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 ==
Line 5: Line 5:
Features available in the Theora format (and a comparison to VP3 and MPEG-4 ASP):
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
* block-based motion compensation
* 8x8 Type-II Discrete Cosine Transform
* free-form variable bit rates (VBR)
* free-form variable bit rates (VBR)
* adaptive in-loop deblocking applied to the edges of the coded blocks (not existing in MPEG-4 ASP)
* adaptive in-loop deblocking applied to the edges of the coded blocks (not existing in MPEG-4 ASP)
Line 22: Line 22:
* HalfPixel Motion Search Precision (MPEG-4 ASP/AVC supports HalfPixel or QuarterPixel)
* 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
* 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 ==
== Status ==
* 1.0 is the latest stable release (2008-11-03).  
* '''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, including Theora 1.1 in future) will be playable by any compliant Theora 1.x decoder.
* 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 implements all planned features of the [http://theora.org/doc/Theora.pdf Theora Format Specification]: every file created by any compliant 1.x Theora encoder will be playable by the decoder in 1.0 Alpha 8 (and, of course, later decoders).
* The decoder in 1.0 Alpha 8 implemented all features of the [http://theora.org/doc/Theora.pdf 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 ==
== Development ==


* [[OggTheora|Mapping in Ogg]]
* [[OggTheora|Mapping in Ogg]]
* [[TheoraTodo|Todo list for development]]
* [[TheoraTodo|ToDo list for development]]
* [[Cortado/release|Release checklist for the Cortado java applet]]


==  More information ==
==  More information ==

Latest revision as of 14:48, 8 August 2014

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