While the binary wall has yet to fall with ARM SoC vendors in terms of providing open-source drivers -- namely when it comes to the graphics / multimedia blocks -- there's many active community projects for reverse-engineering these ARM blocks to provide open-source support. Here's another project that's being done for cracking the video decoder on a popular Chinese ARM SoC.
Many of the open-source ARM graphics initiatives (either officially supported by the vendor or the community) are documented in this Phoronix article
while yesterday I exclusively detailed another project that's cracking Broadcom's VideoCore with an open-source driver
. Another less heard of initiative is reverse-engineering and writing an open-source library to support the video decoder on the Allwinner A10.
The Allwinner A10 is the popular SoC out of China that's a 1.2GHz ARM Cortex-A8 with Mali-400 graphics processor. It's nothing special from a hardware perspective compared to modern ARM SoCs, but what makes it attractive is the price-point, which is just a few dollars (circa $7 per SoC). Due to the low price point, the Allwinner A10 has become popular for low-end tablets, namely those out of the Asian vendors.
The Allwinner SoC is capable of HD video decoding with all major formats like H.264 MVC, VC-1, MPEG-2, and MPEG-4. There's also H.264 encoding support.
Allwinner implements the video decoding support for Linux within a closed libcedarxalloc.a
library, but that's being reverse-engineered and re-implemented as open-source. This library is used for managing memory allocated to the "cedarx" video decoder on the A10, which is a step towards reverse-engineering the entire decoder chip.
The project re-implementing this library as open-source is called open_cdxalloc and is being hosted on GitHub
. The project began in mid-June per the original announcement
. Unfortunately though there hasn't been many commits to this open-source library as of late.