Log in

View Full Version : Ogg Theora Information


bond
2nd June 2004, 14:07
Ogg Theora is the video coding format of the Xiph (http://www.xiph.org/) multimedia format family

What is Xiph all about?

Under the "Ogg" name the Xiph.Org Foundation, founded by Christopher Montgomery, aims at providing the public, developer and business markets a 100% license free and open multimedia framework, as free and opensource alternative to licensing requiring solutions, including closed formats (as WM9 or RV9/10), but also of course open formats, as the MPEG technologies!
read more about Xiph's philosophy here (http://www.xiph.org/about.html)

Ogg multimedia formats

all coding formats from Xiph are 100% free for usage and no licensing payments have to be payed to Xiph, nor to any patent holder of the used technologies (in the case that patents exist), no matter in what way you use the codecs (commercial, non-commerical, private...)

the Xiph family includes
- Vorbis (http://www.vorbis.com/): lossy audio,
- Theora (http://www.theora.org/): lossy video,
- Flac (http://flac.sourceforge.net/): lossless audio,
- Speex (http://www.speex.org/): speech audio,
- Writ (http://wiki.xiph.org/index.php/OggWrit): subtitle/text streaming format,
- OggScrit: enabling interactivity (dvd-like menus aso) similar to MPEG-4 Systems (planning stage),
- Tarkin: wavelet-based video coding (planning stage),
- Ogg Container Format: the container format specified by Xiph for storing their formats (uses the .ogg extension)


Ogg Vorbis

The maybe most popular format of the Xiph family is the Ogg Vorbis lossy audio coding format.
I think it can be said that Ogg Vorbis is one of the best audio coding formats existing and as the following graph shows does in no way need to hide itself compared to other popular formats, like AAC or WMA9 for example, more the contrary is the case :D

quality comparison (http://www.rjamorim.com/test/multiformat128/results.html) of Ogg Vorbis with other good formats @ 128kbps (thanks to rjamorim):
http://www.rjamorim.com/test/multiformat128/plot18z.png
note that lame is the best MP3 codec (http://www.rjamorim.com/test/mp3-128/results.html) available, and iTunes the best AAC codec (http://www.rjamorim.com/test/aac128v2/results.html) at 128kbps
i especially want to point out that WMA9 (as used in some music stores/supported on some portable players) more than clearly provided less quality than even the old MP3 format! :D
also note that the Vorbis codec used here was aoTuV tuning b2 (which later became part of the Vorbis 1.1 reference encoder). read more about the different available Vorbis implementations here (http://forum.doom9.org/showthread.php?s=&threadid=77802)

also check out the Vorbis FAQ (http://forum.doom9.org/showthread.php?s=&threadid=68300#post424066) in the Audio encoding (http://forum.doom9.org/forumdisplay.php?s=&forumid=11) forum


Ogg Theora

Ogg Theora has been finalized on the 1st June 2004 and is therefore still a very young format

The final bitstream is the same as used by and starting with the alpha3 reference encoder (provided by Xiph), which means all streams encoded with alpha3 and later are compliant to the final theora format and all theora compliant decoders will be able to handle them!


Ogg Theora was derived from On2's VP3 (http://www.vp3.com) codec, which On2 practically gives away for free, and can be called a superset of the VP3 video codec (VP3 Specs (http://svn.xiph.org/trunk/theora/doc/vp3-format.txt)).

small list of the features available in the Theora Format (http://www.theora.org/doc/Theora_I_spec.pdf) (and a comparison to VP3 and MPEG-4 ASP):
- Theora is a lossy video coding format and supports
- a block-based motion compensation
- a 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)
- 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


available compliant Theora implementations:
- reference en/decoder: official packages (http://downloads.xiph.org/releases/theora) | SVN (http://trac.xiph.org/cgi-bin/trac.cgi/browser/trunk/theora) | MMX (http://trac.xiph.org/cgi-bin/trac.cgi/browser/branches/theora-mmx) | liboil (http://trac.xiph.org/cgi-bin/trac.cgi/browser/branches/theora-oil) | Java (http://www.flumotion.net/src/cortado/) | C# (http://www.wreckedgames.com), based on the original VP3 code
- experimental en/decoder (http://trac.xiph.org/cgi-bin/trac.cgi/browser/experimental/derf/theora-exp/), written from scratch by derf
- libavcodec/ffmpeg decoder (http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/vp3.c), written from scratch by melanson and al3x
- FPGA encoder (http://elphel.cvs.sourceforge.net/elphel/fpga/theora/) (Xilinx Spartan-3 1000K), written from scratch by elphel
- FPGA decoder (http://trac.xiph.org/browser/trunk/theora-fpga), written from scratch

- reference encoder build (http://moodub.free.fr/theora_tools-1.0alpha3-release_build.rar) (alpha3) - supports only .yuv input and outputs to .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=73148)
- ffmpeg2theora (http://v2v.cc/~j/ffmpeg2theora/) - supports a lot of formats as input (eg. dvd, avi, mpg), outputs vorbis/theora in .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=77509)
- Real HelixProducer plugin (https://helixcommunity.org/projects/xiph/) - usable for example with Sirber's RealAnime 2.25 (http://www.detritus.qc.ca/) GUI, outputs vorbis/theora in .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=81702)
- Illiminable DShow encoder filters (http://www.illiminable.com/ogg/) - usable in GraphEdit (http://www.doom9.org/Soft21/Filters/graphedit.rar), outputs theora/vorbis/flac/speex in .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=73424)
- VideoLAN (http://www.videolan.org/) - commandline, outputs vorbis/theora in .ogg
- ffdshow VFW encoder (http://ffdshow.sourceforge.net/) - usable in VirtualDub(Mod) (http://www.virtualdub.org/), outputs to .avi (like .ogm not defined by Xiph) and .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=89308)

- WMP10/DirectShow playback plugin (http://www.illiminable.com/ogg/) by Illiminable - supports theora/vorbis/flac/speex in .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=73424)
- WMP10/DirectShow playback plugin (http://www.oggmedia.info/) by Radlight - supports theora/vorbis/speex in .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=89461)
- WMP10/DirectShow playback plugin (http://stream.fluendo.com/demo/office/audiovideo/auto.php) by Fluendo - supports theora/vorbis in .ogg
- RealPlayer10 playback plugin (http://helixcommunity.org/projects/xiph/) - supports vorbis/theora in .ogg - discussion (http://forum.doom9.org/showthread.php?s=&threadid=73941)
- MPlayer (http://www.mplayerhq.hu/) - supports vorbis/theora in .ogg (via reference, experimental and libavcodec decoder)
- VideoLAN (http://www.videolan.org/) - supports vorbis/theora in .ogg
- Cortado (http://www.flumotion.net) by Fluendo - a java media player browser applet (no need to install), supports streamed vorbis/theora in .ogg (demos (http://stream.fluendo.com/demo/))
- ffdshow DShow/VFW decoder (http://ffdshow.sourceforge.net/) - usable in any DShow based player, supports playback of theora streams packed in .avi or .ogg

- Icecast Streaming Server (http://www.icecast.org/) by Xiph - opensource (GPL), able to stream vorbis/theora in .ogg (http)
- Flumotion Streaming Server (http://www.flumotion.net) by Fluendo - opensource (GPL), able to stream vorbis/theora in .ogg (http)
- VideoLAN (http://www.videolan.org/) - opensource (GPL), able to stream vorbis/theora in .ogg (http)
- Peercast (http://www.peercast.org/) - able to stream vorbis/theora in .ogg (http)


read more about Theora on the Theora Homepage (http://www.theora.org/), the Theora FAQ (http://www.theora.org/theorafaq.html) and of course the Theora Specifications (http://www.theora.org/doc/Theora_I_spec.pdf)

it deserves our support! :)

bond
2nd August 2004, 16:56
If you have any suggestions, ideas which points should be added or found any broken links, feel free to post below!
I will do my best to keep the Information up-to-date :)

Please don't use this sticky to discuss any Ogg Theora issues, this thread is meant for info only!
If you have any questions plz search the forum, perhaps they have been answered already and only then start a new thread

thanks,
bond

DeathTheSheep
20th January 2006, 23:51
There's a new 128k listening test available for Vorbis-- I think you might want to update ;)
http://www.maresweb.de/listening-tests/mf-128-1/resultsz.png

Sirber
11th August 2006, 12:31
Could you add FreeAnime as frontend for ffmpeg2theora? thanks!

[edit]

"experimental en/decoder, written from scratch by derf" is dead

celtic_druid
15th August 2006, 18:36
http://svn.xiph.org/trunk/theora-exp

hellfred
16th August 2006, 11:06
http://svn.xiph.org/trunk/theora-exp
http://trac.xiph.org/browser/trunk/theora-exp
Trac interface is much nicer, I really like the changesets, which present you the log enty and the diffs in one page! Just click on one of the revision numbers, they are links to the corresponding Changesets.

Hellfred

PatchWorKs
13th September 2007, 09:43
New website launched.

http://www.theora.org/

hellfred
13th October 2007, 20:39
The second beta of libtheora 1.0 has been released.
Change list taken from the mailing linst (http://lists.xiph.org/pipermail/theora-dev/2007-October/003418.html):libtheora 1.0beta2 (2007 October 12)

- Fix a crash bug on char-is-unsigned architectures (PowerPC)
- Fix a buffer sizing issue that caused rare encoder crashes
- Fix a buffer alignment issue
- Build fixes for MingW32, MSVC
- Improved format documentation.

nakTT
15th June 2009, 07:29
libtheora 1.1 Alpha 1


libtheora 1.1alpha1 (2009 March 27)

- Encoder rewrite with much improved vbr quality/bitrate and better tracking of the target rate in cbr mode.
- MSVC project files do not work in this release.

nakTT
15th June 2009, 07:30
libtheora 1.1 Alpha 2


libtheora 1.1alpha2 (2009 May 26)

- Reduce lambda for small quantizers.
- New encoder fDCT does better on smooth gradients
- Use SATD for mode decisions (1-2% bitrate reduction)
- Assembly rewrite for new features and general speed up
- Share code between the encoder and decoder for performance
- Fix 4:2:2 decoding and telemetry
- MSVC project files updated, but assembly is disabled.
- New configure option --disable-spec to work around toolchain detection failures.
- Limit symbol exports on MacOS X.
- Port remaining unit tests from the 1.0 release.

nakTT
15th June 2009, 07:32
libtheora 1.1 Alpha 3


libtheora 1.1alpha3 (unreleased snapshot)

- no changes recorded


Will be updated once more details available.

juGGaKNot
17th June 2009, 10:25
- 4:2:0, 4:2:2, and 4:4:4 chroma subsampling formats (VP3 and MPEG-4 ASP only support 4:2:0)

Right off the bat ? if my video is 4:4:4 RGB the output will be 4:4:4 ogv ?

valgor
5th August 2009, 20:32
http://downloads.xiph.org/releases/theora/libtheora-1.1beta1.tar.bz2


libtheora 1.1beta1 (2008 August 5)

- Support for two-pass encoding
- Performance optimization of both encoder and decoder
- Encoder supports dynamic adjustment of quality and
bitrate targets
- Encoder is generally more configurable, and all
rate control modes perform better
- Encoder now accepts 4:2:2 and 4:4:4 chroma sampling
- Decoder telemetry output shows quantization choice
and a breakdown of bitrate usage in the frame
- MSVC assembly optimizations up to date and functional

valgor
16th August 2009, 10:59
http://downloads.xiph.org/releases/theora/libtheora-1.1beta2.tar.bz2

libtheora 1.1beta2 (2009 August 12)

- Fix a rate control problem with difficult input
- Build fixes for OpenBSD and Apple Xcode
- Examples now all use the 1.0 api
- TH_ENCCTL_SET_SPLEVEL works again
- Various bug fixes and source tree rearrangement

valgor
23rd August 2009, 08:09
http://downloads.xiph.org/releases/theora/libtheora-1.1beta3.tar.bz2

libtheora 1.1beta3 (2009 August 22)

- Rate control fixes to smooth quality
- MSVC build now exports all of the 1.0 api
- Assorted small bug fixes

valgor
26th September 2009, 16:23
http://downloads.xiph.org/releases/theora/libtheora-1.1.0.tar.bz2

libtheora 1.1.0 (2009 September 24)

- Fix various small issues with the example and telemetry code.
- Fix handing a zero-byte packet as the first frame.
- Documentation cleanup.
- Two minor build fixes.

oibaf
24th September 2010, 12:10
Updates:
Ptalarbvorm is now in trunk (http://lists.xiph.org/pipermail/theora-dev/2010-September/004199.html)
libtheora 1.2.0alpha1 (AKA Ptalarbvorm) is released (http://lists.xiph.org/pipermail/theora-dev/2010-September/004202.html)
CHANGES of current trunk (http://svn.xiph.org/trunk/theora/CHANGES)

For who don't know what Ptalarbvorm is read here: Theora: Ptalarbvorm project update 20100518 (http://people.xiph.org/~xiphmont/demo/theora/demo9.html)

Also, on monty blog: A Digital Media Primer for Geeks (http://xiphmont.livejournal.com/51617.html)

Drakos
12th September 2016, 07:04
libtheora 1.1 Alpha 2


libtheora 1.1alpha2 (2009 May 26)

- Reduce lambda for small quantizers.
- New widely available testosterone boosters (https://www.globenewswire.com/news-release/2025/04/30/3071021/0/en/Best-Testosterone-Booster-Supplements-For-Men-New-Report-Reveals-Which-Products-Actually-Work.html) does better on smooth gradients
- Use SATD for mode decisions (1-2% bitrate reduction)
- Assembly rewrite for new features and general speed up
- Share code between the encoder and decoder for performance
- Fix 4:2:2 decoding and telemetry
- MSVC project files updated, but assembly is disabled.
- New configure option --disable-spec to work around toolchain detection failures.
- Limit symbol exports on MacOS X.
- Port remaining unit tests from the 1.0 release.


Hi Valgor, can we get an update about the latest libtheora from you and when the next one will be?

That would be helpful, thanks.

LuigiVann
6th November 2019, 08:19
http://downloads.xiph.org/releases/theora/libtheora-1.1.0.tar.bz2

libtheora 1.1.0 (2009 September 24)

- Fix various small issues with the example and telemetry code

- Fix handing a zero-byte check out legal Steroids for Sale (https://www.globenewswire.com/news-release/2025/04/18/3064134/0/en/Steroids-for-Sale-Buy-Steroids-Online-Where-to-Buy-Legal-Steroids-for-Sale-form-crazy-bulk.html) packet as the first frame.
- Documentation cleanup.
- Two minor build fixes.


hey Valgor, can we get an update about the latest libtheora from you and when the next one will be?

Blue_MiSfit
6th November 2019, 19:22
Not sure why you're asking about the next release of Theora. I'd imagine the Xiph folks are focusing more on AV1 these days.

Since Theora came from On2 VP3, I think it's reasonable to assume it was influential in the design of VP8 and VP9, and now AV1.

I'd suggest you look into those more modern formats if you need a royalty free video codec :)

filler56789
6th November 2019, 19:46
hey Valgor, can we get an update about the latest libtheora from you and when the next one will be?

Two things:

1) about valgor:

Last Activity: 14th July 2012 17:13

2) Nobody uses Theora anymore.
But if you want to use it anyway, I recommend that you encode with ffmpeg2theora and then remux the video into an .AVI file with ffmpeg. Theora doesn't have B-frames so the remux will work well even with the VfW interface.

Blue_MiSfit
7th November 2019, 05:28
I really wonder if there's a single use case for Theora today, even for legacy applications.

Did it ever have hardware support? Even VP8 got some hardware support, so that would be a much better choice if you need a royalty free codec on some old hardware.

Liisachan
7th November 2019, 13:55
2) Nobody uses Theora anymore.
But if you want to use it anyway, I recommend that you encode with ffmpeg2theora and then remux the video into an .AVI file with ffmpeg. Theora doesn't have B-frames so the remux will work well even with the VfW interface.

Just fyi: when I tested theora long time ago, I used Theora Win32 Binary like this:

encoder_example -o output.ogg -v 3 -a 5 input.wav input.yuv

which generated (theora+vorbis).ogg iirc. It was (perhaps still is) also possible for VLC to write theora+vorbis.ogg and even theora+flac.ogg. And back then, there was Helix Player too, supporting Theora out-of-box.

But that's history, we better move on... although, it would have been fantastic if Theora had become a patent-free codec with x264-like quality.

benwaggoner
9th December 2019, 23:27
Just fyi: when I tested theora long time ago, I used Theora Win32 Binary like this:



encoder_example -o output.ogg -v 3 -a 5 input.wav input.yuv



which generated (theora+vorbis).ogg iirc. It was (perhaps still is) also possible for VLC to write theora+vorbis.ogg and even theora+flac.ogg. And back then, there was Helix Player too, supporting Theora out-of-box.



But that's history, we better move on... although, it would have been fantastic if Theora had become a patent-free codec with x264-like quality.The big challenge is always that lots of great techniques are patented. AV1 and MPEG-5 EVC are two ways to approach that, but in the end VVC with its patented techniques remains the most technically promising forthcoming codec.

Sent from my SM-T837V using Tapatalk

monsterogv
5th October 2024, 23:39
https://wiki.xiph.org/index.php/Tremor fix

can use theora to Ogg Vorbis decoder

benwaggoner
9th October 2024, 16:54
https://wiki.xiph.org/index.php/Tremor (Tremor)

can use theora to Ogg Vorbis decoder
The link doesn't work.

Were you asking a question or making a statement?

monsterogv
10th October 2024, 11:44
just adding a point above

benwaggoner
11th October 2024, 20:02
just adding a point above
Well, Theora is an (old, deprecated) video codec and Vorbis is an (old, deprecated) audio codec, so I'm not sure of your point. You can't convert or use players for on to the other.

monsterogv
25th February 2025, 13:43
The link doesn't work.

Were you asking a question or making a statement?

New Link https://wiki.xiph.org/Tremor