[opus] Testing ARMv8 Ne10 and intrinsics branch

Thomas Daede tdaede at mozilla.com
Thu Apr 2 17:01:32 PDT 2015

Okay, I got it working now. Also had to set LD_LIBRARY_PATH due to the
shared libraries not being in standard locations. Speed:

Float w/ ne10 and intrinsics: 18.814s
Fast float w/ ne10 and intrinsics: 18.243s
Fixed w/ ne10 and intrinsics: 15.843s

Seems about right, and more importantly all tests pass in all of the
configurations I tried.

I really would like to see upstream Ne10 include a pkg-config file
though, then you could easily test for the release version with your

Tim will do a review and then we can land these.

On 04/02/2015 03:21 PM, Viswanath Puttagunta wrote:
> Hello Thomas,
> I use the following configure command to link against Ne10
> Eg:
> configure --host=arm-linux-gnueabihf --enable-intrinsics
> --with-NE10-libraries=${BUILD_NE10_LIB}
> --with-NE10-includes=${BUILD_NE10_INC}"
> So, in my normal testing, I explicitly specify where the NE10 header
> files are installed and where the NE10 libraries are installed.
> Looking back at configure.ac (AC_DEFUN([OPUS_PATH_NE10],) , if you
> want to go the prefix route, following should work
> Eg: /usr/local/             (--with-NE10=/usr/local)
>                       lib/
>                              libNE10.so
>                        include/
>                           Ne10.h...
> so, something like this should work
> configure --host=arm-linux-gnueabihf --enable-intrinsics --with-NE10=/usr/local
> But, I see the problem with the pre-compiled binaries at
> http://people.linaro.org/~viswanath.puttagunta/opus/NE10_root/
> simple --with-NE10=/usr/local will not work since I put the include
> files in /usr/local/include/Ne10/ instead of just /usr/local/include/
> You either must copy the /usr/local/include/Ne10/* into /usr/local/include/
> and use --with-NE10=/usr/local
> So explicitly specify location of library and includes using
> --with-NE10-libraries=/usr/local/lib
> --with-NE10-includes=/usr/local/include/Ne10
> Regards,
> Vish (Viswanath Puttagunta)
> Cell: 972-342-0205
> Technical Program Manager
> Member Services, Linaro
> On 2 April 2015 at 17:05, Thomas Daede <tdaede at mozilla.com> wrote:
>> Using GCC 4.9.2, decoding the opus test vector set 10 times. All tests
>> pass. I will do longer tests later with a larger test set, but it looks
>> good so far.
>> I am having a lot of trouble with the Ne10 detection. Using the
>> precompiled Ne10 binaries at
>> http://people.linaro.org/~viswanath.puttagunta/opus/NE10_root/
>> Both NE10 and Ne10 capitalizations seem to be in use. Also, where should
>> the NE10 headers be installed? In $PREFIX/include or
>> $PREFIX/include/Ne10/? The configure.ac tests seems to assume the
>> former, but your precompiled root disagrees.
>> Opus master (36e0445)
>> Float: 20.312s
>> Fast float: 20.542s
>> Fixed: 17.402s
>> Opus rfcv1_final_xcorr_fixed_armv8 (eb95379)
>> Fixed w/ intrinsics, no ne10: 16.384s

More information about the opus mailing list