Codecs

From Theora Playback Library
Jump to: navigation, search

This library was originally made to support only the Theora codec, but as time passed, there was a need for more codec support to take advantage of hardware decoding support on Mobile devices.

Despite supporting multiple codecs, we've decided to leave the "Theora" in the library name for historical purposes :)

Theora

This is the default supported codec and the library has been optimized very well to support it. Theora is an open source codec, one of the first to be open sourced. The main reason why this library was made is because libtheora is very difficult to use directly. Today libtheoraplayer uses various CPU multimedia extensions to improve Theora decoding and YUV colorspace transformation and it's very likely one of the fastest theora playback solutions out there.

But Theora has it's limits. It's an outdated codec and it's development has ceased years ago. It's derived from On2 Technologies' VP3 codec which is comparable to MPEG2 in quality. What this means is that Theora produces larger files than modern codecs and is slower to decode. But despite of that it works really well on modern hardware and all the numerous projects that use this library on the Showcase page confirm that :)

MP4 via AVFoundation

There is an extension that's available to compile on iOS and MacOS that uses apple's AVFoundation framework to display videos (mainly MP4 and MOV formats). What's good about it is that on these platforms, te system uses specialized video decoding hardware to decode videos as opposed to CPU decoding that Theora uses. This is especially useful on iOS as CPU power is limited on those device, at least when it comes to the earlier pre-iPhone5 iOS devices.

In development

FFmpeg

There is a ffmpeg backend in the source code but is currently still in development. We wouldn't encourage it's use because of possible patent issues, so be sure to familiarise yourself with codec licensing if you plan to use it.

WebM

WebM support is the next big plan for libtheoraplayer 2.0, it's the spiritual successor to Theora, based on On2 Technologies' VP8 codec, also open source and free. It promises smaller files, better image quality and faster decoding. Stay tuned ;)