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.'"
VP3. One bigger.
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...
I still don't understand his comment, because if we do what he suggest, and look towards Google:
http://mobile.slashdot.org/story/10/04/10/1147254/Google-Funds-Ogg-Theora-For-Mobile?art_pos=8
Seems Google's view opposes his.
Change is certain; progress is not obligatory.
FYI: NEON is ARM and AltiVec is PPC. They're the other processor equivalents to SSE.
Learning HOW to think is more important than learning WHAT to think.
DSP is hardware acceleration for signal processing (this is the name). A video frame is a 2D signal. So yes, this is hardware acceleration.
Mozilla can use AVC/H.264. They just need to do it via the OS, like I think IE and Safari will do, and Opera already does. H.264 is already directly supported on Windows 7 and Mac OSX. Linux users need to do their tricks, like with MP3.
They only way they can do as you suggest is by severely compromising Firefox. This has been answered exhaustively many times. See Mike Shaver's blog post about it. To quote:
People have raised questions about using existing support for H.264 (or other formats) that may already be installed on the user’s computer. There are issues there related to principle (fragmentation of format under the guise of standardized HTML), to effectiveness (about 60% of our users are on Windows XP, which provides no H.264 codec), to security (exposure of arbitrary codecs to hostile content), and to user experience (mapping the full and growing capabilities of to the system APIs provided); I’ll post next week about those in more detail, if others don’t beat me to it.
Security is not to be underestimated. It's worth noting that IE9 will not support all media formats supported on the host operating system, purely to limit the attack vector surface area available. See this comment by Microsoft's Frank Olivier on the IE blog. He's talking about image formats but the same applies to video formats:
We've not heard many requests for additional image types - to limit the attack surface in a web browser, it is a good idea to not expose more decoders.
See also Chris Blizzard's blog post about the decision to only support open video in Firefox. And most importantly of all, don't worry about. Open video is the way forward for video on the web. Theora is here now, VP8 may be joining it next month, and Dirac may join both in the future.
Looking at the datasheets for a few TI C64 DSPs, we are looking at supply voltages under 2v and current draws measured in microamps (yes, micro, smaller than milli).
The power draw for these special-purpose devices is teeeny tiny compared to the other hardware.
http://www.ti.com/lit/gpn/tms320c6424 (PDF) - Page 127 lists electrical characteristics in the normal operating temperature range.
More models listed here:
http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=dsp§ionId=2&tabId=217&familyId=477
Supply current is definitely not microamps, with PLL, I/O, and core consumption during encoding you're looking at closer to 1A.
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.
Please check your facts on the licensing dates, they changed in February.
http://www.mpegla.com/main/Pages/Media.aspx
(direct PDF of the press release is here: http://www.mpegla.com/Lists/MPEG%20LA%20News%20List/Attachments/226/n-10-02-02.pdf )
I've been documenting the software patents situation for Theora here:
Adding information about On2's v8 codec would be very welcome.
Expert in software patents or patent law? Contribute to the ESP wiki!
VP8 is RUMORED to be made open source sometime in the near future.
We do not know for sure.
Theora isn't very good, but that doesn't mean that it is utter crap.
At youtube video quality it uses somewhere around 10% more bandwidth than h.264. It gets less efficient with HD content.
This IS using the same DSPs!
Does no one read TFA?
The code uses the c64x DSP used by the entire OMAP platform, so it will also not be just Nokia and its N900 that will benefit from this.
OK yea. I should stop half-thinking. heh.
No worries, to put it in current-independent terms:
My beagleboard running a custom DVI output app will use 2-3 Watts compared to ~180 watts for my i7 machine at idle!
Not bad for a nice little board.
That is not correct.
http://www.mpegla.com/Lists/MPEG%20LA%20News%20List/Attachments/226/n-10-02-02.pdf
(DENVER, CO, US – 2 February 2010) – MPEG LA announced today that its AVC Patent Portfolio License will continue not to charge royalties for Internet Video that is free to end users (known as Internet Broadcast AVC Video) during the next License term from January 1, 2011 to December 31, 2015. Products and services other than Internet Broadcast AVC Video continue to be royalty-bearing, and royalties to apply during the next term will be announced before the end of 2010.
Morpheus, God of Dreams.
One of the blobs on the OMAP chip's block diagram is the IVA (Image, Video, Audio) coprocessor. This includes a DSP (the C64x), a DMA engine, and a couple of other features. All of the video CODECs that are hardware accelerated on the OMAP (H.264, RealVideo, and WMV) use the IVA part, and now Theora does too.
The C64x is found in most of TI's ARM SoCs, being omitted from only the very cheapest. This means that the implementation of Theora there could relatively easily be deployed on any handheld computer or telephone containing a TI OMAP chip, which is a lot of them.
Unlike some of the earlier DSPs included in this sort of chip, recent OMAPs (maybe older ones; not sure) have an MMU attached to the DSP, so the kernel can restrict the memory that a program using the DSP can use.
I am TheRaven on Soylent News
Excuse me... Video in HTML5 is supposed to get rid of that plugin thinking in the first place .
It's not that you can do that- HELL, you can do that NOW.
The real problem is that while it's implemented and "legitimized", each and every use requires a payment and a sign off against a license you may/may not agree with. Even to provide the content on the Internet will eventually require royalty payments with it. You won't be able to legally implement ANYTHING with video without their permission- and they can withhold it- just witness what's happening with Nokia and Apple right at the moment.
If you've not caught all of that, perhaps you need to pay closer attention.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
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
You could probably do that, but Chrome is not open source.
You say that as if people care about "open source".
They don't. At all.
All normal people see (and say) is "the Cool New Video Site is broken in firefox, which obviously must be firefox's fault. So I'll just use Chrome/IE/whatever".
What all the anti-H264 people are missing is that not supporting H264 will drive people away from Firefox. I fail to see how driving people to the non-free browser is a "win for open source".
Ce n'est pas une signature automatique.