[opus] Opus decoding performance on ARM devices
Dan Nilsson
Dan.Nilsson at king.com
Thu Sep 4 05:00:56 PDT 2014
Hi everyone,
I have lately been evaluating the performance of various audio decoders,
particularly for ARM devices (Cortex A8 / A9). The context is audio
playback in a game engine, and thus decoding performance is of particular
interest.
Looking at Opus versus Vorbis on a Cortex A9 smartphone, the numbers look
approximately like this:
Vorbis (tremolo decoder)
9.3 Mb PCM/s
Opus (libopus 1.1)
4.8 Mb PCM/s
The Opus audio is encoded approximately 120 kbps (and the vorbis file has
higher bitrate). On ARM devices this far I get Opus decoded at about half
the rate (and on x86 they are about on par).
Should I be able to squeeze more performance out of it? Or do those
numbers look about what should be expected? What I really want to know is
if Opus could potentially run faster than Vorbis for equivalent audio.
I also must mention I am cross compiling with a different build system. I
have attempted different sets of compilation defines. Latest run included
the following:
OPUS_ARM_ASM
OPUS_ARM_MAY_HAVE_NEON
OPUS_ARM_MAY_HAVE_MEDIA
OPUS_ARM_INLINE_EDSP
OPUS_ARM_INLINE_NEON
OPUS_ARM_INLINE_ASM
FIXED_POINT
OPUS_BUILD
HAVE_LRINT
HAVE_LRINTF
Thanks!
Dan
More information about the opus
mailing list