[vorbis-dev] Fixed vs. Floating Point primer. was: Implementing Vorbis in hardware

Steve Underwood steveu at coppice.org
Wed Jan 24 06:44:07 PST 2001

"Borgerding, Mark A." wrote:
> > I think that is a really bad idea. With many very cheap MP3 players
> > already in the market, the only thing anyone would be
> > interested in is a
> > competitively low cost Vorbis platform. Put Vorbis on any
> > floating point
> > DSP, and people will say its resource hungry. It would then
> > be very hard
> > to dispell that impression.
> I'm not sure you understood my comment.  I said it would be faster to port
> Vorbis to floating point hardware, but fixed point would be better for
> portables.  The best option depends upon the goal: time-to-market and
> maintainability vs. power and cost efficiency.
> I don't presume to know the market well enough to think there is only one
> correct answer.
I don't think you understood my comment. There is no market for an
embedded MP3/Vorbis player which could bear the cost of any floating
DSP. A port of that kind is quite pointless, and possibly destructive.
> > It can be a Royal PITA programming fixed point DSPs (I've used many),
> Agreed.
> > but they are they only kind of DSP acceptable for consumer
> > products, and
> Depends on the product.  Example: in-dash car audio player.

I don't understand. Car stereos are extremely cost sensitive. A floating
DSP is a definite no-no there.

> > the only ones low enough in power consumption for a portable
> > player.
> Somewhat agreed.  In products that already have high power needs for
> amplifiers, moving parts, etc; the power requirement of a floating point DSP
> might be negligible.

But the current mass portable MP3 market is pocket players. If Vorbis
can't hit that it, can't hit any other embedded market. The MP3
oneplayers run quite a long time on two AAA cells. The platform which
gets the right cost structure for that market is likely to suit those
where power is not an issue, such as car stereos.

> >  The MP3 people already had mature implementations on energy
> > efficient fixed
> > point DSP architectures when the first MP3 players appeared - they had
> > been working on them for ages for the MPEG video player field. That is
> > what Vorbis needs to catch up on now. Monty said many MP3 players are
> > currently using StringARM. That would be the easiest route to port
> > Vorbis to a portable platform, as you can get a workable
> > solution with a
> > few tweaks and a recompile. Since it avoids the need for a separate
> > management/control processor, StrongARM may be the most cost effective
> > platform overall.
> >
> Either I underestimate the amount of floating point math that is done, or
> you underestimate the problems with dynamic range that will be encountered.
> I think it will take more than "a few tweaks and a recompile".

MP3 runs on 16 bits fixed point DSPs (when it runs on a DSP), because
anything else is a waste and too expensive. You can get all the dynamic
range you need, because in the end the sound goes through an amp with
pretty average S/N. Any greater dynamic range is dumpable.

> I admit I am rather ignorant of the ARM. But I do know that it is more of a
> GPP than a DSP.
> Why is it popular for MP3 decoding?  Is it mainly a case of overall
> popularity of the chip and availability of tools?

Simple. The ARM the the biggest selling 32 bit architecture, bar none.
It is licenced by almost anyone who is anyone in silicon. It is
certainly no DSP - its RISC done right. It is tiny, dirt cheap, runs on
flea power, runs fast, and has excellent idle mode leakage. It is
dominating cellphones, and other portable products, so it comes as no
surprise to find it is getting a good slice of the portable audio market
too. Almost any Linux software should recompile for it, so standard
Vorbis is probably just a few tweaks away from running too. Optimisation
might be another issue. Oh, and of course Linux runs on the ARM too.

> Gregory Maxwell said, "There is a specific product based on ARM which vorbis
> has been ported to. "
> What is this product?  Is the source code available?  Is the Piccolo
> coprocessor required?

Vorbis shouldn't require a great deal more processing crunch than MP3.
MP3 runs on low end DSPs, so I doubt an ARM requires an adjunct DSP
core. The biggest cost problem with most consumer DSP applications comes
from algorithms which require too much peak RAM buffering. Adding fast
static RAM is a real cost killer. If Vorbis is OK there, it should be


--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Vorbis-dev mailing list