I keep hearing this battery life thing but how much battery life does H264 hardware acceleration really save? I dare to wager that the majority of the power is used by the screen, not the CPU.
According to this blog post http://blog.webmproject.org/2011/12/picking-right-driver.htm... the difference between WebM in software vs WebM in hardware is around 36%. There's also a nice graph that shows that on high brightness, the difference is smaller.
The battery savings can vary greatly depending on many hardware issues. The Nexus One, for instance, had some serious limitations.
I wrote some Android video software comparing performance of hardware and software decoders for H.264 and AAC. The Nexus One's H.264 hardware decoder used 2x more battery than a software decoder (for much less than 2x frame rate improvement). Further testing suggested that the power usage of moving video data to and from the hardware decoder outweighed any savings from overloading the CPU.
And the Nexus One's AAC hardware decoder was slower than a software decoder.
Hmm... on most desktop platforms, the decode happens in the GPU, and the flow is:
storage/network -> CPU -> GPU -> Screen
It sounds like on the Nexus One, there's some copy back into the CPU before it gets to the screen. In the version of the OS is Android doing graphics compositing in it's CPU?