[opus] OPUS in embedded platform

Jean-Marc Valin jmvalin at jmvalin.ca
Mon May 13 14:15:06 PDT 2013


On 05/13/2013 08:57 AM, van Bijleveld Christian (ST-CO/ENG1.3) wrote:
> I am interested in porting OPUS to an embedded platform. The idea is
> that the encoder and decoder will run on different processors. In order
> to choose the proper platform, I need an estimate of the resources which
> are needed for OPUS.

It's very hard to provide estimates because the complexity varies by a
large amount depending on the fearures used and on the value of the
complexity setting being selected.

> I read the following in the OPUS wiki:
>  
> “The Opus code base is written in C89 and should run on the vast
> majority of recent (and not so recent) CPUs. A few of the platforms on
> which Opus has been tested and *is known to run include x86, x86-64,
> ARM, Itanium, Blackfin, and SPARC*.”
> Are there, or is it known, figures regarding the resources needed for
> OPUS to run on an embedded platform such as DSP or microprocessor? If
> exact figures are not available, but if anyone can give an indication
> about which type of platform is required at least, I would appreciate
> very much. I can image that the amount of resources for the encoder and
> the decoder may be different.

The only hard requirement on the platform is that the chip must at least
be able to natively compute 16-bit multiplications with 32-bit
accumulation. That rules out most low-power micro-controllers.

> Another question: does OPUS need the support  of an Operating System or
> Real Time Kernel (ie; threads,…)?

The Opus code is very generic C89 code. It does not require anything
that isn't part of C89 and in fact, it makes it relatively easy to
remove the dependency on libc (mostly just a matter of changing the
malloc()/free() wrappers).

Cheers,

	Jean-Marc

> Met vriendelijke groeten | Best Regards,
> *Christian van Bijleveld
> 
> *Bosch Security Systems BV
> Bosch Communications Systems, BL Public Address and Conference Systems
> (ST-CO/ENG1.3)
> P.O. Box 80 002
> 5600 JB  Eindhoven
> The Netherlands
> _www.bosch__security.com_ <http://www.boschsecurity.com>
> T. +31 (0)40 257 7076
> F. +31 (0)40 257 7091
> _christian.vanbijleveld at nl.bosch.com_
> <mailto:christian.vanbijleveld at nl.bosch.com>
>  
>  
>  
> 
> 
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
> 



More information about the opus mailing list