Not logged in
Log in now
Create an account
Subscribe to LWN
An "enum" for Python 3
An unexpected perf feature
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
PostgreSQL 9.3 beta: Federated databases and more
Can anyone expand on Apple's citation of "lack of hardware support". Is it impossible to port the Theora decoder to some architecture that Apple uses?
Lack of hardware support
Posted Jul 6, 2009 22:01 UTC (Mon) by joedrew (guest, #828)
Posted Jul 6, 2009 22:53 UTC (Mon) by timschmidt (guest, #38269)
Posted Jul 6, 2009 22:56 UTC (Mon) by leoc (subscriber, #39773)
Posted Jul 6, 2009 23:14 UTC (Mon) by moxfyre (subscriber, #13847)
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 :-)
Posted Jul 7, 2009 0:27 UTC (Tue) by pphaneuf (guest, #23480)
Posted Jul 7, 2009 0:39 UTC (Tue) by joedrew (guest, #828)
Wrong - the iPod has hardware for decoding AAC, MP3 and H.264. They *also* have a general-purpose ARM core.
Posted Jul 7, 2009 4:58 UTC (Tue) by gmaxwell (subscriber, #30048)
Okay, so perhaps it would have lower battery life on that device. And? The proposal is a baseline. If the user and the content provider prefer something else, they are free to use something else.
Posted Jul 7, 2009 11:16 UTC (Tue) by robert_s (subscriber, #42402)
This 'hardware' will actually be a relatively general purpose DSP which is almost certainly reprogrammable to decode theora.
Posted Jul 7, 2009 17:57 UTC (Tue) by joedrew (guest, #828)
Nope - it's a specialized block of functionality added to Apple's Samsung-fabbed ASIC, the chip that also includes the ARM core.
Some iPods, the iPod video in particular, did include a DSP, but all recent ones are specialized hardware.
software support right here
Posted Jul 7, 2009 1:26 UTC (Tue) by xoddam (subscriber, #2322)
Thankyou; your work is very much appreciated.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds