In a move that will boost support for open video on the mobile Web, Google has provided funding to TheorARM—a project that produces an ARM-optimized implementation of the Ogg Theora video codec. Google's support for the project could be a signal that the search giant is significantly warming up to open video.

Although HTML5 delivers open standards for Web video playback, browser vendors have not been able to reach a consensus on the codec. Some parties favor Ogg Theora, a royalty-free codec that can be freely redistributed because it is thought to be unencumbered by patents. Others favor H.264, a codec that offers technically superior compression but is burdened with costly licensing fees.

Although Google's Chrome Web browser has support for both codecs, the company has declined to provide Theora-compatible video streams on YouTube, which uses H.264 for its HTML5 video player. During a discussion about codecs that took place last year on W3C's mailing list, a Google representative expressed extreme skepticism about Theora's suitability for the Web and strongly indicated that Google would not consider reencoding YouTube's massive video collection to accommodate users of Theora-only browsers. Google's newfound commitment to TheorARM might be a sign that the company is warming up to the possibility of more broadly supporting the royalty-free codec.

One of the chief criticisms of Theora is the lack of broad support on mobile devices—an area where Web video playback has become increasingly critical. Significant technical challenges make it difficult to get acceptable Theora playback on ARM-based devices. Developer Robin Watts, of Pink Noise Productions, has been working on a solution. In the TheorARM documentation, he described some of the biggest hurdles.

"The standard Theora decoder, as supplied, currently contains no ARM code whatsoever. Furthermore, it relies on various support libraries including libogg and libvorbis to do ogg bitstream handling and vorbis decoding. Unfortunately, libvorbis relies on floating point operation, which makes it a non-starter on the ARM platform," Watts wrote.

For his TheorARM project, Watts undertook a massive optimization effort in order to achieve good Theora performance on ARM. This partly involved rewriting performance-sensitive sections of the decoder in native ARM code. To deal with the floating point dependency in libvorbis, he built his own variant of Tremor, an integer-only Vorbis decoder.

Watts was initially releasing TheorARM under GNU's General Public License (GPL), which precluded his improvements from being adopted by the upstream BSD-licensed Theora implementation. (Watts may have chosen the GPL in order to sell commercial licenses to hardware vendors who wanted to use his decoder in their products under more permissive terms.) Google's funding has made it possible for Watts to relicense TheorARM and distribute it under the BSD license, which means that it can now be merged back into upstream Theora and freely integrated into proprietary applications.

By supporting Watts and funding his project, Google is making a significant contribution to open video. The ARM-optimized Theora decoder implementation supplied by Watts could make it possible for Theora to gain broader support on mobile devices. In a post that was published in Google's open source blog, Watts discusses some of the implications of TheorARM and offers insight into Google's reasons for supporting the project.

"We need a baseline to work from—one standard format that (if all else fails) everything can fall back to. This doesn't need to be the most complex format, or the most advertised format, or even the format with the most companies involved in its creation. All it needs to do is to be available, everywhere," he wrote. "Theora was designed and is maintained with the overriding goal of avoiding patents. No other codec can come even close to claiming to be as patent or royalty free as Theora can, whilst still holding a candle to the alternatives."

Indeed, Theora's lack of patent encumbrances makes it conducive to serving as a universal baseline codec. Google's financial support of TheorARM is obviously significant in the sense that it will enable broader adoption of the codec, but the message in the blog entry may be even more important. By allowing Watts to promote Theora as a universal baseline for Web video in a statement in the official Google open source blog, the company is endorsing the idea of making Theora ubiquitous. This represents a significant reversal from the search giant's previous sentiments.

Although this move will be enthusiastically welcomed by open video advocates, its timing seems somewhat peculiar. Google recently acquired video company On2, the company that developed the original technology behind Theora. On2's more recent codecs, specifically VP8, are said to be fully competitive with H.264. Many people in the industry assumed that Google acquired On2 so that it could open VP8 and make it a royalty-free standard for open video. The fact that Google still hasn't confirmed that theory, and is now more broadly committed to Theora, remains puzzling.