January 1st, 2012: Source code released to the world!
TheoraPlay is a simple library to make decoding of Ogg Theora
A tiny example to pull data out of an .ogv file is
about 50 lines of C code,
and a complete SDL-based media player is
about 300 lines of code.
TheoraPlay is optimized for multicore CPUs, and is designed
to be programmer-friendly. You will need libogg, libvorbis,
and libtheora, of course, but then you just drop a .c file
and two headers into your project and you're ready to hook
up video decoding, without worrying about Ogg pages,
Vorbis blocks, or Theora decoder state.
Places TheoraPlay can be found in use:
- Decoding video to YV12, IYUV, RGB, RGBA formats.
- Decoding audio to float32 PCM format.
- Decoding on background thread, for multicore/SMP support.
- Decoding from a file, or abstract i/o callbacks.
- Linux support.
- Mac OS X support.
- Windows support.
- Support x86 and PowerPC processors (and probably others).
- Supports 32 and 64 bit builds.
- May compile and run elsewhere with little to no modification.
Success stories and patches are
What doesn't work:
- No custom allocator support yet.
- Various things scattered in FIXMEs.
- Contributions of other ports are, of course,
- TheoraPlay is licensed under
the zlib license. Please note that Ogg Theora itself is under a
BSD-style license; TheoraPlay itself has less restrictions than Ogg
Page maintained by
Ryan C. Gordon.