High performance Theora codec for Firefox on OMAP3 previewed
On his blog, Matthew Gregan reports that there has been some success in shifting the major part of the processing load caused by decoding Theora videos into the DSP (Digital Signal Processor) core of Texas Instruments' OMAP 3 processor. This family of processors is used in the Motorola Droid, Nokia N900 and Palm Pre smartphones as well as the Beagle Board. Gregan is employed by Mozilla and is currently working on improving video and audio support in Firefox. It is not currently known when the development work previewed will be incorporated into a future release of Mozilla's mobile browser.
Using Nokia's N900 Linux smartphone for the tests, Gregan was able to play full-screen videos at 800x480 pixels and a rate of more than 30 frames per second. The colour-space conversion and painting was offloaded to the OMAP 3's graphics core, and video decoding to the DSP, which left the CPU core as good as idle. The remaining processor load only amounted to 20%, with the PulseAudio driver for sound output alone causing a load of 10% to 15%.
Off loading video decoding to the DSP and other processing to the GPU allows a longer battery life when playing full-screen videos without dropped frames. Until now, the CPU core had been used to decode the entire video itself and at 30 frames per second, this results in an almost full CPU load and consequently a short battery life. The Entropy Wave software which Gregan based his work on is available to download and runs on the Beagle Board.