[speex-dev] Introduction...

Rick Kane rkane at delcomsys.com
Wed Feb 19 13:09:43 PST 2003

> > 4. I think the codec is portable to more fixed point embedded devices
> > if you stick to C rather than C++ code.  If you follow the TI XDAIS
> > standard you'll wind up creating an object-oriented codec but you can
> > do it all in C (Relocatable, re-entrant code, state structure, etc.).
> >  Who knows you might want to run it on an embedded DSP that doesn't
> > support C++ someday.
> I doubt I will. Others might :-)

Point taken. Generically, if it is open source, I expect people might want
to use more than just TI DSPs.  We use TI DSPs alot and tried to say we'd
never put it anywhere else.  But, we found you can never say never.

> OK. Noted.
> I've also been told by a TI applications BOD that although the 55x is a
> fixed point device, it does contain some internal features which speed
> up running floating point code. This was done to meet certain
> requirements in the Mobile market and they suspect that there may be
> enough computing power to running a floating point codec on the 55x.

I'd like to know more about that.  For a long time DSPs in general and
certainly TI fixed point DSPs like the 5x, 54x, 55x, etc. have had "EXP" and
"NORM" instructions which could loosely be thought of as helping implement
floating point - is this what he meant? Beware of Marketing guys.  They
quote memory in bits instead of bytes and words.  They probably also told
you the C67x was 8 * Clock rate MIPS.  On 55x you still require a good
number of cycles to implement an IEEE floating point multiply.  Download the
free evaluation tools for the 55x from TI and look at their floating point
multiply in the supplied library to get an idea (file = rts.src) .  I guess
if you are only intending to run 1-2 channels per 55x you might do it in
floating point.  High density, no.

> An issue to consider is why we want a fixed-point port. I suspect we/you
> do. But I'd currently hate to have to justify that suspicion rigourously.

I want a fixed point port because an embedded, say battery powered device,
that runs this codec will need a huge battery if it is a floating point
device.  Cheap VoIP phones, for instance, might want to use a 54x, 21xx,
ZSP, 3DSP, ARM, MIPS, StrongARM... you get the idea.

--- >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 'speex-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 Speex-dev mailing list