iPod May Not Have The Horsepower For Ogg [updated]
An anonymous reader writes "Gizmodo has an interview with a Rio engineer who speculates that current iPods may not have enough CPU power and/or memory to decode Ogg. He concludes that the Minis might be able to do it, and the next generation iPods will certainly be able to. Of course, just because Apple can doesn't mean it will." Update: 06/06 04:44 GMT by T : csm writes with this rebuttal: "According to Monty from Xiph.org (author of the Tremor codec and OGG itself), it should very well be possible to run Ogg on older generation iPods."
Not to be a smartass, but Ogg is just the name of the larger project. The actual audio compression format is called "Vorbis."
Vorbis is a better codec at sticking more audio data in less space due to the years of research between itself and MPEG-1. But decoding that data doesn't come for free, and so Vorbis decoding is more memory and CPU intensive than mp3 is. But thanks to the integer decoder, that difference mainly shows up in high bitrate Vorbis files.
Ita erat quando hic adveni.
AAC and MP3 do not have DRM either.. the DRM layer was added for the iTunes music STORE, which is a recent addition.... people bought ipods LONG before the iTMS existed.....
Why do people insist on thinking that ipods and itunes are all just about the store? The majority of ipod owners DONT use the store.
Speaking as a member of the ipodlinux project, there is a lot of room for optimization. 80% of realtime refers to running a decoder and linux on only 1 of the two cores ( the other is only running a dma-engine) currently. One of the next big tasks is to put both cores to work (for technical reasons, smp is most likely impossible).
As well, the story is wrong about storing their code in flash. Only the bootloader is stored in flash, which bootstraps the os from the harddrive into sdram, so flash or not, its a non-issue.
--David Carne
okay, i will refute the guy's arguments. i am an embedded systems developer, and often deal with swapping code in from dram/flash to sram for quick execution just such as this. the guy's arguments are, well...
first, the cache is not broken. this is a common design limitation of embedded processors. running code or accessing data from external ram can be VERY slow (1 cycle delay is pretty good). however, his argument is bullshit. the support code for the codec is usually run from dram (like the "open a file, parse a bitstream part"). the core decoder loop, on the other hand, is loaded into sram for fast execution (code and data). if the ogg vorbis decoder can be squeezed into whatever apple has left of the 96kb depends mostly on the efficiency of apple's memory allocation. but i have no doubt that they could do it (they may need to optimize some tables out by computing them at runtime, and other such tricks).
having said that... adding a complex codec into such a system such as the ipod firmware is a major pain in the ass. they may want to enable vorbis support, but it is a large amount of work, and probably hard for apple engineers to justify. if someone could find a good excuse for apple marketing to justify it, i'm sure engineering could figure it out.