Theora: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
m (cleanup)
m (moved Theora on wheels to Theora over redirect: Reverted move by User:Willy on wheels)
 
(53 intermediate revisions by 18 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 available in the Theora Format (and a comparison to VP3 and MPEG-4 ASP):
== 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
* 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)
* block sizes down to 8x8 (MPEG-4 ASP supports normally only 16x16)
* 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)
* 384 8x8 custom quantization matrices: intra/inter, luma/chroma and even each quant (more than VP3 and MPEG-4 ASP/AVC)
* adaptive entropy encoding (MPEG-4 ASP does'nt support adaptivity)
* 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)
* 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 color channel
* 8 bits per pixel per color channel
* multiple reference frames (not possible in MPEG-4 ASP)
* multiple reference frames (not possible in MPEG-4 ASP)
* pixel aspect ratio (eg for anamorphic signalling/playback)
* 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)
* 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)
* 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)
* 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)
* 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/decoder.


== Status ==
== Status ==
 
* '''1.1.1''' is the latest stable release (2009-10-01).  
Alpha 5 is the latest release. The bitstream format is frozen. Every file created with the alpha 3 encoder (and, of course, later encoders) will be playable with future decoders. Beta 1 will be the next release.
* 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 [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).
* It would be nice if somewhere it could be explained if Theora is a format appropriate for editing video - such formats would not do frame to frame compression and the file size and processor load would be smaller.  On the other hand a distribution format would want to pack in a lot of compression which would mean using frame to for compression.


== Development ==
== Development ==


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


==  More information ==
==  More information ==
{{Template:Theora}}


* [[TheoraHardware]]: List of hardware-players supporting Ogg Theora
It's possible to convert VP3 video to Theora. See [[vp3toTheora]].
* [[TheoraSoftwarePlayers]]: List of media players that can play Ogg Theora
* [[TheoraDecoders]]: List of decoders
* [[TheoraEncoders]]: List of encoders


== External links ==
== External links ==
Line 45: Line 45:
* [[Wikipedia: Theora]]
* [[Wikipedia: Theora]]
* [http://www.vp3.com VP3 homepage]: The homepage of the codec Theora is based on
* [http://www.vp3.com VP3 homepage]: The homepage of the codec Theora is based on
* [http://www.on2.com On2 Technologies]: The creators of VP3
* [http://www.on2.com On2 Technologies]: The authors of VP3
* [http://forum.doom9.org/showthread.php?s=&threadid=77314 Ogg Theora Information on Doom9 Forum]
* [http://www.parrishtech.com/content/view/16/1/ HOWTO: Rip DVD to Theora using Linux]
* [http://www.doom9.org/index.html?/codecs-quali-105-1.htm Codec shoot-out 2005] Comparison of many video codecs, including Theora
 
[[Category:Theora]]

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