Ryan Paul at Ars Technica has some good news for those following and supporting open formats for video. He describes an existing project, TheorArm, started to address the lack of hardware support for Ogg Theora and reduce friction in its adoption for devices. Google has committed funds to supporting the project, a positive sign of their support of open video despite their claims that Theora in particular isn’t up to snuff for use with YouTube–yet.
Robin Watts, the developer behind TheorARM has identified the hurdles the porting efforts faces in the project’s documentation, linked to in the article. The desktop version of the codec relies on support in hardware for floating point arithmetic. This is a safe assumption with non-embeded CPUs but due to power and space constraints embedded chips often don’t include this class of instructions. Watts is porting an integer only, or fixed point, version of Theora, called Tremor, to native ARM code. He is also undertaking some broader optimization, rewriting sections of the codec in ARM’s native instruction set. If he’s successful, the port could lead to seeing Theora pop up supported in many more ARM based devices out of the box.
A non-technical issue that Paul also explains in the article is the original license Watts selected. The original license for TheorARM, GPL, is not compatible with the BSD license on Ogg Theora itself. The developers at Xiph could not pull any of Watts’ improvements into their codebase. At the same time that Google proivided this funding, Watts has changed the license to be compatible. It is unclear from Paul’s aricle or Watts announcement on the Google Open Source Blog whether this change was a condition of the funding. Regardless, it means that Theora on the web will be able to benefit from any applicable improvements from Watts’ work as well as the embedded space.
I agree with Paul’s closing question–why now when Google has acquired On2 which includes both embedded and non-embedded codecs in its portfolio? I can only presume that there are some internal issues, most likely some patent licensing, preventing a speedy opening of some or all of On2’s codecs. Supporting TheorARM may be a hedge or a bridging strategy.