Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

iPod May Not Have The Horsepower For Ogg [updated] 399

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."
This discussion has been archived. No new comments can be posted.

iPod May Not Have The Horsepower For Ogg [updated]

Comments Filter:
  • Vorbis (Score:2, Informative)

    by Anonymous Coward on Saturday June 05, 2004 @06:08PM (#9346450)
    It's Vorbis. Not Ogg. Damnit.
  • The name is wrong (Score:5, Informative)

    by iriefrank ( 41550 ) * on Saturday June 05, 2004 @06:08PM (#9346451) Homepage
    Not to be a smartass, but Ogg is just the name of the larger project. The actual audio compression format is called "Vorbis." [angrycoffee.com]
  • Re:No call for...... (Score:5, Informative)

    by tuffy ( 10202 ) on Saturday June 05, 2004 @06:19PM (#9346513) Homepage Journal
    Does OOG have much more memory requirements than other formats ? If so, why ?

    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.

  • by LostCluster ( 625375 ) * on Saturday June 05, 2004 @06:27PM (#9346556)
    There's no reason why they couldn't put the FairPlay wrapper around Ogg Vorbis files the same way they do around Advanced Audio Codec files now.

    However, MPEG formats have always been mindful of keeping the decoding processing load low, even if that sometimes comes at the expense of encoding time or quality. The idea is that they want to keep the playback devices as cheap as possible.

    Apparently OGG sounds better, but its processor load is putting it out of reach of dumber consumer devices.

  • Re:Apple will not (Score:5, Informative)

    by mindstrm ( 20013 ) on Saturday June 05, 2004 @06:31PM (#9346581)
    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.
  • Re:Huh? (Score:3, Informative)

    by jeffehobbs ( 419930 ) on Saturday June 05, 2004 @06:36PM (#9346601) Homepage

    How exactly can the iPod encode mp3 in realtime? The audio it captures via the various 3rd party add-ons is low bitrate .wav files, not .mp3s. All of the various compression and encoding is done by iTunes, then the already encoded files are shuttled to the iPod.

    ~jeff
  • Re:The name is wrong (Score:5, Informative)

    by Jugalator ( 259273 ) on Saturday June 05, 2004 @06:38PM (#9346608) Journal
    So why don't we speak of "Avi movies" instead of DivX movies? They're rarely named MyMovie.divx, but instead MyMovie.avi.

    In this case, AVI is an encapsulation format... just like Ogg!
  • Re:Huh? (Score:5, Informative)

    by Theaetetus ( 590071 ) <theaetetus,slashdot&gmail,com> on Saturday June 05, 2004 @06:38PM (#9346610) Homepage Journal
    Yeah, this guy seems full of shit, the iPod can ENCODE MP3 in realtime if it has to, it's got a nice beefy ARM CPU

    I believe you're referring to the Belkin Voice Recorder when you refer to 'encoding MP3s in realtime'. Not so - the voice recorder stores audio as a mono 16-bit WAV with an 8 kHz sampling rate. Is not encoding MP3s in realtime.

    -T

  • by mcgroarty ( 633843 ) <brian DOT mcgroarty AT gmail DOT com> on Saturday June 05, 2004 @06:38PM (#9346612) Homepage
    The iPod doesn't rely on its CPU to do the decoding for its mpeg formats. The bulk of that is done by a special coprocessor. Whether this is to cut power use or because the slower clock and coprocessor are cheaper than a faster general purpose CPU, I don't know.

    Memory isn't a problem. The full of the iPod's memory is directly addressable, and there are even projects (including iPod Linux) which do Ogg (vorbis, really) decoding, however only at low bitrates. The CPU speed is the strangling factor here. If someone wants to do some hard work, they might be able to raise the bitrate a bit, but owing to people generally relying on VBR encodes, it's going to be difficult to fully enable people's libraries, even when they think they have mostly low-bitrate tunes.

  • Re:Huh? (Score:5, Informative)

    by in7ane ( 678796 ) on Saturday June 05, 2004 @06:39PM (#9346617)
    Did anybody (rio guy, poster?) at least bother to google [google.com] this? iPods CAN play ogg: (ok under Linux) and not far out of alpha [sourceforge.net] it seems.

    So if somebody managed to get ogg to decode after loading up linux on an iPod, which is not exactly well documented hardware, Apple would not be?
  • Comment removed (Score:3, Informative)

    by account_deleted ( 4530225 ) on Saturday June 05, 2004 @06:44PM (#9346648)
    Comment removed based on user account deletion
  • by Anonymous Coward on Saturday June 05, 2004 @06:52PM (#9346687)
    Apparently it would require more memory and a faster CPU on the iPod. I mean, that's what the article was about.
  • by xiphmont ( 80732 ) on Saturday June 05, 2004 @07:07PM (#9346760) Homepage
    I sent a mild rebuttal to Gizmodo about Hugo's article back when Gizmodo first ran it. As it hasn't appeared on Gizmodo, here's the text:

    Hi there; it's interesting to see one's software being talked about by others as if it fell from the sky :-)

    First off, the original iPod does indeed have the horsepower for Ogg; the original Tremor codec written in C used approximately 40MHz of a Cirrus Maverick (720TDMI), an ARM7 chip somewhat more underpowered than the chip in the iPod. What the Maverick often has that many other DSPs don't have is access to alot of memory. This was indeed a stumbling block for a while.

    Since then, we've made three mostly seperate branches of the Tremor codec line (used in the Rio), each tailored to specific CPU and memory structural differences found in different DSP architectures. Hugo Fiennes didn't mention which he was using... or if he was aware there are multiple different branches today (although I expect he is aware, it's worth mentioning).

    From the story:

    "The 5002 has a "broken" cache (1 wait state per access for program or data, meaning you effectively have half the effective clock rate when running code from external memory). This means that running code that doesn't fit in the internal 96kbyte SRAM of the player is very inefficient, both in terms of CPU cycles and power."

    He didn't say if he meant code, data or both, but modern Tremor can fit both comfortably into this space. This is still substantially faster than the ARM7 DRAM-based access Tremor was originally designed for (using SRAM as a random-replacement cache with 7-14 wait-states on a cache miss).

    Also, he says it uses more power but also says they didn't optimize much and so, they're mostly using the stock ANSI C Tremor decoder, written by a single engineer (me) in a month as a 'starting point' to help other engineers write a Vorbis decoder for their own platforms. The mp3 playback is likely handcoded assembly written by a professional team focused on only that task. This is in fact astounding! It's also a testement to the power of good modern compilers. I smile every time GCC soundly beats me at optimizing.

    I agree that the newer iPods are more likely to decode Ogg and Vorbis with ease. I do, however, strongly believe the original iPods can also do so with room and cycles to spare.

    Monty
    TD, Xiph.Org

  • Did you RTFA? (Score:2, Informative)

    by genixia ( 220387 ) on Saturday June 05, 2004 @07:14PM (#9346787)
    If you had you would have seen that the discussion was a technical one explaining why the current iPods can't play Ogg Vorbis and speculated that the next generation iPod probably would have the horsepower to do so.

    It was hardly a "My Karma is better than your iPod" article.

    Face it - It took a Rio engineer to answer the question that most of Slashdot have been asking for years. It's not like Apple have been forthcoming with it.

  • by JohnTheFisherman ( 225485 ) on Saturday June 05, 2004 @07:15PM (#9346789)
    You'll see that this is a substandard ogg vorbis playback with only fixed point arithmetic. I guess it technically can play OV files, just not correctly decoded with full floating point quality.
  • by Entropius ( 188861 ) on Saturday June 05, 2004 @07:16PM (#9346799)
    Most codecs are designed to simply give the best audio per kilobyte, and recent tests point to (a retuning of) Ogg Vorbis as near the top of the heap. It's certainly achieved what it set out to do: a Free audio codec with fairly wide acceptance that sounds better than mp3/wma under most circumstances.

    Vorbis, of course, takes much more CPU muscle to decode than mp3. The difference may be between 0.1% and 1% of my Athlon XP[1], but obviously on an iPod it matters.

    Maybe it's time for some group to look at weak-CPU audio codecs? You've got to balance audio-quality-per-bitrate with expense (and power consumption!) of CPU required to decode in realtime.

    There's got to be something out there that sounds better than mp3 but can still be decoded with a cheap processor using an amount of power that's not really significant compared to the amplification/transmission circuitry required to get the signal out of the device.

    Ideally this could be done on the decode side: write a codec that produces Vorbis-quality results when decoded by a fast CPU, but that could be decoded by a slow processor to produce a good-enough signal. This would solve the current dilemma: do I encode in vorbis to save disk space/get better quality, or mp3 to play stuff on portables?

    [1]What a stupid name for a processor.
  • by Anonymous Coward on Saturday June 05, 2004 @07:19PM (#9346815)
    AAC is NOT. Repeat, NOT, NOT, NOT, NOoooooooT open. It's patented, and requires a liscense for EVERY player and encoder.

    You've gotta pay to play. Just the same with MP3, just the same with WMA (though I'd guess that MS is more than willing to make a deal, in order to gain market share.)

  • well you know, (Score:2, Informative)

    by aaron p. matthews ( 96130 ) on Saturday June 05, 2004 @07:51PM (#9347122) Homepage Journal
    this guy seems OK with just calling it Ogg [slashdot.org]

    ah, but what does that guy know?
  • by mike260 ( 224212 ) on Saturday June 05, 2004 @07:54PM (#9347161)
    'mdct.c' from tremor (an integer vorbis decoder) compiles to...[tappity-tap]...6808 bytes of code on MIPS.
  • by VertigoAce ( 257771 ) on Saturday June 05, 2004 @08:47PM (#9347498)
    This is the trouble with getting ogg vorbis playback on any player that was optimized for wma/mp3 playback. I have a Rio SP250 mp3/wma player hacked to run iRiver firmware. iRiver has been working on ogg vorbis playback for all of its players and it seems they were just barely able to make it work. There older players have somewhat limited bitrates that they are capable of playing (up to about 160 kbps). Given that a lot of these players have special hardware for decoding mp3, it wouldn't surprise me that a lot of the older players are incapable of playing ogg vorbis files.
  • by oscast ( 653817 ) on Saturday June 05, 2004 @09:18PM (#9347682) Homepage
    You have it backwards
  • by damiam ( 409504 ) on Saturday June 05, 2004 @09:26PM (#9347735)
    That was the original purpose of the MP1 and MP2 formats (MPEG Layers 1 and 2, respectively). They pretty much disappeared after most computers became fast enough to decode MP3 easily. I don't think there's really enough demand for modern low-complexity codecs. After all, LAME-encoded MP3 still sounds better than many "modern" formats, and it's fairly easy to decode. Apple seems to have done a decent job implementing AAC in hardware, and Monty thinks [slashdot.org] that Vorbis on iPod is quite doable. Since hardware is only getting cheaper and more power-efficient, the effort to develop such a codec probably wouldn't be worth it.
  • Re:Huh? (Score:5, Informative)

    by busonerd ( 534486 ) on Saturday June 05, 2004 @09:40PM (#9347826)
    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
  • no, it CAN. (Score:4, Informative)

    by gotr00t ( 563828 ) on Saturday June 05, 2004 @09:57PM (#9347906) Journal
    Both the iPod's processors are embedded within a single IC, produced by PortalPlayer. This unit _is capable_ of encoding MP3 audio in realtime, but its just that Apple did not implement this into their software.

    Even though Apple themselves may not support Vorbis audio, ever, the community will implement it if it is possible. Go check out iPodLinux [sourceforge.net]. It has much promise in delivering the things that the Apple stock firmware fails at so miserably.

  • by xanderwilson ( 662093 ) on Saturday June 05, 2004 @10:11PM (#9347992) Homepage
    Or even more directly...

    http://www.apple.com/feedback/ipod.html [apple.com]

    Personally, I'm more interested in letting iTunes support Ogg Vorbis. I'd rather have all my audio files in one place, and I like the iTunes interface more than any other.

    Alex.

  • by David Jao ( 2759 ) * <djao@dominia.org> on Saturday June 05, 2004 @10:28PM (#9348050) Homepage
    for a portable player with limited battery life... why in the world would anyone choose to get 75% performance with a negligable increase in sound quality (from headphones)?

    The sentence in the article about ogg's battery life is very misleading. Yes, it is true that "you get about 25% less battery life" on ogg vs. mp3. However this comparison is done at the same bitrate -- that is to say, 128 kbps ogg will only have 75% the battery life of 128 kbps mp3.

    But, what the quote doesn't take into account is that nobody uses oggs and mp3s at the same bitrate. I for one find that ogg can match mp3 in sound quality at about 60% of the bitrate. When you use a smaller bitrate, battery life goes up, because your hard drive activity is less. My firsthand experience is that you can get 15 hrs of continuous ogg playback on the karma, if you use a lower bitrate like 64 or 72 kbps. Also, you will note that even if we hypothetically penalized this real-world measurement of 15 hours by a theoretical 25%, it would still be better battery life than an iPod.

    As to your dismissal of headphone sound quality, there are a great [headphone.com] many [headphone.com] headphones [headphone.com] that are good enough to tell the difference. Even without good headphones, 72 kbps mp3 is so bad that anyone who is running out of disk space on their portable can easily justify the switch to vorbis.

  • by pchan- ( 118053 ) on Sunday June 06, 2004 @01:00AM (#9348571) Journal
    So unless you're just another ignorant Apple fanboy, refute the guy's arguments.

    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...

    The 5002 has a "broken" cache (1 wait state per access for program or data, meaning you effectively have half the effective clock rate when running code from external memory). This means that running code that doesn't fit in the internal 96kbyte SRAM of the player is very inefficient, both in terms of CPU cycles and power. MP3 and AAC just about squeeze into the internal memory (one at a time, obviously!), but anything that didn't would result in a big power hit - my guess is 30-40%+. This would be a bad user experience, considering the already short gen3 battery life.


    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.
  • by KozmoStevnNaut ( 630146 ) on Sunday June 06, 2004 @04:49AM (#9349086)
    I don't think Ogg Vorbis needs an FP unit any more. There was a story here on /. on how someone got the decoder working in integer mode.
  • Sure. (Score:3, Informative)

    by MarcQuadra ( 129430 ) * on Sunday June 06, 2004 @04:52AM (#9349093)
    I'm not just a Maccie troll, I've been reading about the iPod CPU because I'd like to hack with it a bit.

    I can't see any reason why the dual ARM7 CPUs Apple fitted the beast with wouldn't be able to play vorbis files. If something has the CPU beefiness to encode MP3s (which the iPod CPU can, there's just no software for the feature) I'm confident that it's good enough to decode vorbis files.

    I've played and encoded MP3s on my Quadra 660AV, which ran at a whopping 25MHz (encoding was slow); I'm pretty sure a dualie-ARM made a decade later can handle the vorbis codec, especially when the vendor of the chip Apple uses designed the chip to be a highly extensible media platform.
  • by MarcQuadra ( 129430 ) * on Sunday June 06, 2004 @05:01AM (#9349118)
    I just found that the 'tremor' vorbis player for integer-only CPUs (like the ARM used in the iPods) is playing-back media at 80% of realtime on uCLinux iPods, and that's a non-assembler, non-optimized player running on a general-purpose Linux kernel. If you think that a currently neglected OSS player could net a 25% performance boost from being reimplemented in assembler, being tailored for the ARM CPU, and/or running on Apples proprietary iPod OS, raise you hand! ::raises hand enthusiastically::
  • Re:Critical mass (Score:1, Informative)

    by Anonymous Coward on Sunday June 06, 2004 @08:33AM (#9349649)
    hm, a lot of the files i've looked at use DivX and vorbis. if you're using a ogg container, you might as well use the superior audio codec..

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...