Yesterday, we’d told you about the tiny ARM based computer embedded inside every $50 Lightning Digital AV Adapter. While it was clear that there was some video decoding being done by the ARM SoC, we didn’t really know the specifics and the exact reason why the adapter wasn’t outputting raw HDMI.
Today, an anonymous commenter, possibly an Apple engineer, clarified a lot of information about the adapter over at Panic Software’s blog.
He notes that there’s no AirPlay involved in the entire flow of outputting video, and that the adapter runs a barebones OS, whose only similarity with iOS is the XNU kernel. The OS on the adapter is so barebones that there are no Unix tools, no launchd for process management:
It boots straight into a daemon designed to accept incoming data from the host [iOS] device, decode that data stream, and output it through the A/V connectors. There’s a set of kernel modules that handle the low level data transfer and HDMI output, but that’s about it.
He further goes on to explain why the Lightning adapter can’t stream raw HDMI:
Lightning is simply not capable of streaming a “raw” HDMI signal across the cable. Lightning is a serial bus. There is no clever wire multiplexing involved. Contrary to the opinions presented in this thread, we didn’t do this to screw the customer. We did this to specifically shift the complexity of the “adapter” bit into the adapter itself, leaving the host hardware free of any concerns in regards to what was hanging off the other end of the Lightning cable.
[…]Lightning doesn’t have anything to do with HDMI at all. Again, it’s just a high speed serial interface. Airplay uses a bunch of hardware h264 encoding technology that we’ve already got access to, so what happens here is that we use the same hardware to encode an output stream on the fly and fire it down the Lightning cable straight into the ARM SoC the guys at Panic discovered. Airplay itself (the network protocol) is NOT involved in this process. The encoded data is transferred as packetized data across the Lightning bus, where it is decoded by the ARM SoC and pushed out over HDMI.
By shifting the complexity involved in the puzzle onto the adapter end, Lightning becomes really flexible and future proof, in that the system could output to any device as long as there’s a compatible adapter at the other end. Support for that adapter can then simply be added to iOS device via a software update, not requiring any hardware changes.
The downside to all this flexibility is that the output video is of a degraded quality and in some cases even laggy. There’s also no native 1080p support. The commenter adds:
Certain people are aware that the quality could be better and others are working on it. For the time being, the quality was deemed to be suitably acceptable. Given the dynamic nature of the system (and the fact that the firmware is stored in RAM rather then ROM), updates **will** be made available as a part of future iOS updates. When this will happen I can’t say for anonymous reasons, but these concerns haven’t gone unnoticed.
While it’s good to know that future updates will make the output video quality better, the lack of raw HDMI is still disappointing.
Via: Panic