QUOTE(detokaal @ Jun 4 2004, 03:58 PM)
"Engineer Hugo Fiennes took a break from his day job as a hardware and firmware designer at Rio Audio (maker of the iPod competitor Karma player, among other things) to give us some more info on the OGG-on-iPod."
iPod & OggBTW, I sent Gizmodo a mild rebuttal to Hugo's article:
QUOTE
[re:
+http://www.gizmodo.com/archives/ogg-on-ipod-why-the-ipod-may-not-have-the-horsepower-for-ogg-015607
+.php]
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