[opus] AM335x ARM Cortex-A8 performance drop opus 1.1

Jean-Marc Valin jmvalin at jmvalin.ca
Fri Oct 18 14:21:20 PDT 2013


Hi,

Just to clear things up... So 1.1 has some new analysis code that
increases the amount of CPU. When building as floating point (which you
appear to be doing, right?), the new code is enabled at complexity 7 and
up (opusenc defaults to complexity 10 IIRC). This is why you've been
seeing an increase in the CPU time. In version 1.0.x, complexity 5-10
are the exactly the same for music. Running version 1.1 at complexity 5
should be slightly faster than 1.0.x.

When it comes to fixed-point, things are similar except that the
threshold at which the new analysis code is enabled is complexity 10.
This is because the new code uses floating-point instructions, even for
a fixed-point build.

Cheers,

	Jean-Marc

On 10/18/2013 10:11 AM, Sebastian Reimers wrote:
> Hello!,
> 
> i've just compared the 1.0.3 release with the master branch
> on a BeagleBone Black (AM335x 1GHz ARM Cortex-A8 with NEON
> floating-point accelerator) and Arch Linux ARM.
> 
> At the moment I dont no why, but I see that 1.1 is much slower
> in encoding. Are there any default changes, that I missed and could
> explain this? Normaly I suggested a better performance with 1.1 and
> the ARM optimizations.
> 
> Please let me know, if you need more informations.
> 
> opus-tools version 0.1.7
> 
> 
> [root at studio-connect.de audio]# opusenc music_orig.wav music_orig.opus
> Encoding using libopus 1.0.3 (audio)
> -----------------------------------------------------
>    Input: 48kHz 2 channels
>   Output: 2 channels (2 coupled)
>           20ms packets, 96kbit/sec VBR
>  Preskip: 312
> 
> Encoding
> complete                                                                      
> -----------------------------------------------------
>        Encoded: 1 minute and 30.82 seconds
>        Runtime: 1 minute and 8 seconds
>                 (1.336x realtime)
>          Wrote: 1106810 bytes, 4541 packets, 93 pages
>        Bitrate: 96.7055kbit/s (without overhead)
>  Instant rates: 76kbit/s to 165.6kbit/s
>                 (190 to 414 bytes per packet)
>       Overhead: 0.81% (container+metadata)
> 
> 
> [root at studio-connect.de audio]# opusenc music_orig.wav
> music_orig.opus1.1
> Encoding using libopus unknown (audio)
> -----------------------------------------------------
>    Input: 48kHz 2 channels
>   Output: 2 channels (2 coupled)
>           20ms packets, 96kbit/sec VBR
>  Preskip: 312
> 
> Encoding
> complete                                                                      
> -----------------------------------------------------
>        Encoded: 1 minute and 30.82 seconds
>        Runtime: 1 minute and 24 seconds
>                 (1.081x realtime)
>          Wrote: 1263224 bytes, 4541 packets, 93 pages
>        Bitrate: 110.387kbit/s (without overhead)
>  Instant rates: 24.4kbit/s to 197.2kbit/s
>                 (61 to 493 bytes per packet)
>       Overhead: 0.796% (container+metadata)
> 
> Compiler Options:
> 
> -march=armv7-a -mfloat-abi=hard -mfpu=neon -O2 -pipe -fstack-protector
> --param=ssp-buffer-size=4
> 
> same results with:
> 
> -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe
> -fstack-protector --param=ssp-buffer-size=4
> 
> nice regards
> 
> Sebastian Reimers
> 
> ------------------------------------------
> IT-Service Sebastian Reimers
> Am blanken Boom 14
> 32369 Rahden
> Festnetz: 05776-137324
> Fax-Nummer: 05221-17242088
> Skype: miete-admin
> E-Mail: service at it-sreimers.de
> Internet: www.it-sreimers.de
> Internet: www.miete-admin.de
> Steuernummer: 331/5079/2619
> UST-IdNr.: DE239109607
> ------------------------------------------
> 
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
> 



More information about the opus mailing list