[opus] Opus on MIPS performance

Dean Blackketter dean at blackketter.com
Mon Apr 14 16:45:28 PDT 2014

Hi All,

First time poster to this group, please ignore my ignorance…

I’m trying to use Opus 1.1 on a 400MHz MIPS 24k CPU (AR9331, specifically, like in the Arduino Yun). 

I’ve successfully built (I think) opus-1.1 and opus-tools-1.8 and they run, but are dog slow.  

opus-1.1 does have the —enable-fixed-point option set, as this chip only has soft-float.  

My short test file (less than one second) encodes in 0.02 seconds on my Mac but takes 20+ seconds on this device.  

Anything obvious that I’ve missed or haven’t set up properly?

Thanks in advance,


Here it is in action:

root at ahoy6:/tmp# time opusenc /ahoy/sounds/whistle.wav whistle.opus
Skipping chunk of type "LIST", length 46
Encoding using libopus 1.1-fixed (audio)
   Input: 44.1kHz 2 channels
  Output: 2 channels (2 coupled)
          20ms packets, 96kbit/sec VBR
 Preskip: 356

Encoding complete                                                                          
       Encoded: 0.74 seconds
       Runtime: 25 seconds
                (0.0296x realtime)
         Wrote: 10983 bytes, 37 packets, 3 pages
       Bitrate: 108.746kbit/s (without overhead)
 Instant rates: 76.8kbit/s to 182.8kbit/s
                (192 to 457 bytes per packet)
      Overhead: 8.41% (container+metadata)

real	0m 25.06s
user	0m 9.99s
sys	0m 0.07s


root at ahoy6:/tmp# time opusdec whistle.opus - > /dev/null
Decoding to 44100 Hz (2 channels)
Encoded with libopus 1.1-fixed
ENCODER=opusenc from opus-tools 0.1.8
Decoding complete.        
real	0m 26.39s
user	0m 9.22s
sys	0m 0.04s

More information about the opus mailing list