Scott Davilla, accomplished Apple TV hacker and lead developer of XBMC for Mac OS X, told TUAW that enabling XBMC to run on iOS hinged on the discovery of a hardware decode API called VideoToolBox by GStreamer developer Ole André Vadla Ravnås.
"It's the API Apple 'should' have exposed instead of VDADecoder," Davilla explained. Also known as the Video Decode Acceleration Framework, it has been an official developer API since Mac OS X 10.6.3. However, "VDADecoder is just a thin wrapper around the VideoToolBox API," Davilla said.
"This API is going to blow wide open the video decode and encode ability on ATV2, iOS and OS X apps," Davilla told TUAW. "It is a private framework API and the usual warnings about using private frameworks apply. However, given that the API has been stable back to 10.5, it's not going to be changed very much by Apple."
The discovery of the private API suggests Apple has been using it for some time on both Mac OS X and iOS to power hardware-based decoding. The VDADecoder framework is limited to working with H.264 decode hardware on certain NVIDIA GPUs, while it appears that the underlying VideoToolBox can work with a wider variety of hardware, including Apple's A4 mobile processor.
The current iOS implementation of XBMC is available from a Cydia-compatible server for iPhones, iPads, and iPod touches, and via an apt-get package for the second-gen Apple TV. It's worth noting, though, that the current user interface is still not optimized for touchscreens, something Davilla said is a top priority now that the main codebase has been ported and is functional.
As noted above, you shouldn't expect an Apple-blessed version to appear via the App Store in the near future. One reason is the use of the private VideoToolBox APIs would get XBMC rejected instantly, so the code would have to be refactored to try and work around whatever limitations exist in VDADecoder. There is also no App Store for Apple TV apps yet—and there may never be an official one. Finally, Davilla suggests that most of the users who would want to install XBMC on an Apple TV or iOS device would likely be jailbroken anyway.
"We are not sure it's worth the effort" to develop XBMC for the App Store, Davilla said.