Lack of hardware support
Posted Jul 6, 2009 23:14 UTC (Mon) by moxfyre
In reply to: Lack of hardware support
Parent article: Ogg codecs dropped from HTML5
There is currently no hardware implementation of a Theora decoder, which means that the CPU has to be used, which drains battery life faster.
Indeed, but that's irrelevant.
Basically no one does hardware decoding of audio or video anymore. The iPod/iPhone? Software decoding on an ARM-core processor. TiVo? Software decoding on x86 I think. Sandisk MP3 players? Software decoding on ARM. Some DVRs? Software decoding on MIPS.
Software decoding is sooooo much more flexible (allowing bugfixes, new codecs, etc.) and faster-to-market that there's no reason to use hardware decoders anymore... now that it only costs a few $ to integrate a 100MHz ARM-core system-on-a-chip into a product.
It's true that hardware acceleration of mathematical operations is still important to efficient software decoding. Which is why all the major processor families offer SIMD instruction sets for fast, parallelizable math operations (e.g. SSE1/2/3/4 for x86, NEON for ARM, AltiVec for PPC, MDMX for MIPS).
The Theora encoders/decoders aren't (yet) totally optimized for all hardware, but that's cause it's a volunteer-run project with very little financial support. I personally patched Theora to use SIMD instruction sets on the x86_64 architecture, and it was about a day's work with no previous experience on the project. So Theora implementations can get a lot more efficient--quickly--if the adoption is there. The power of open source :-)
to post comments)