Hardware-Accelerated Ogg Theora For Firefox Mobile
An anonymous reader writes "Matthew Gregan is working on bringing David Schleef's DSP accelerated port of Theora to Firefox Mobile. He writes on his blog: 'The C64x+ DSP is often found in systems built upon TI's OMAP3 SoC, such as the Palm Pre, Motorola Droid, and Nokia N900. Last year, Mozilla funded a port, named Leonora, of Xiph's Theora video codec to the TI C64x+ DSP. David Schleef conducted the port impressively quickly and published his results. The intention of this project was to provide a high-quality set of royalty-free media codecs for a common mobile computing platform. The initial focus is Firefox Mobile on the N900, so I am working on integrating David's work into Firefox. To experiment with other facilities Firefox could use to accelerate video playback, and test integration, I've been hacking on a branch of a stand-alone Ogg Theora and Vorbis player originally written by Chris Double called plogg.'"
Your mind is wrong.
Lets look at graphics cards. A DSP is the same "thing" as a GPU is, in that it's a special purpose processing unit (ie, Graphics Processing Unit, Digital Signal Processor...). Rendering with a GPU is a hell of a lot faster than with a general CPU. Likewise, processing digital signals is a hell of a lot faster in a DSP than with a general CPU.
So, to reiterate: you are wrong.
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
They made their point quite clearly.
They can't embed the codec and remain truly Free software.
Second, while they could link to platform-provided codecs, it's a support nightmare.
Third, it would legitimize patented crap.
That's currently the situation with plugins. They're pieces of object code, so you're dependent on the plugin developer to provide you with a version for your OS/architecture. For example, Flash (something that HTML 5 and the video tag could replace) is (AFAIK) only available on three mainstream platforms - Win/x86, OSX/x86, and Linux/x86. There's a beta version for x86-64 and special versions (Lite?) for embedded devices, but that's pretty much it. As for the Quicktime plugin, there's no Linux or *BSD support at all (mainly because there's no QT on those platforms), although there's plugins that use VLC or totem, etc instead.
Now, lets look at Firefox. The Debian iceweasel package (Firefox without the branding) is listed as being available for 14 architectures (not counting the unofficial 68k port that languishes at 2.0). That includes x86-64 for your latest AMD64/Intel64 machines, armel for your portable ARM devices, powerpc for your old G3/G4/G5 PowerMacs, and a bunch of other architectures too. None of those are supported by Adobe or the many other companies that have, over the years, tried to lock us into their proprietary software with binary-only plugins. So I'm siding with Mozilla for some very practical reasons. Theora's not the best out there, but I'd prefer the web to be open to all.
Heh... Damnshock, have you ever worked with a TI SoC?
The codec was implemented against the C64x+ on a Linux based target on OMAP3.
Each phone isn't magically different in that respect. In fact, TI provides a platform SDK to use the DSP and everybody using Linux as their base OS is using the same SDK and pathways to get the data in/out of the engine and merely specifying their own get/on get/off points, which are actually submitted to the DSP via the API TI provides to each and every customer of their hardware.
What does this mean?
It means that the DSP work done now is available, largely ready for use on:
Motorola Droid ...and anything else using an OMAP3 SoC and Linux.
Palm Pre
Palm Pixi
Nokia N900
BeagleBoard and derivatives...
Gumstix Overo Water & Fire
Open Pandora Handheld
iPhone GS...
Seriously. Done once, able to be used elsewhere as long as you provide consistent interface rules. You might need to adjust the place you get and put the data for the operation, but the algorithm and the vast bulk of the DSP code doesn't change from device to device.
More to the point, you're going to find that with a bit of tweakage, the work can probably be implemented on OMAP2 platforms such as the Nokia N800/N810 as there's more than enough headroom on the C64x+ to lead me to believe that there's a possibility of doing it on a C55x class DSP- not that someone would go to that trouble unless there was a business case for it.
Now, this doesn't mean everybody gets "hardware" Theora yet- you still need to implement for at least Blackfin and Snapdragon as well for the bulk of the mobile device space. The main big deal here is that it has now been shown that it CAN be done and done fairly easily.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas