[opus] [ARM][FFT][NEON] Integrate Ne10 into Opus?

Viswanath Puttagunta viswanath.puttagunta at linaro.org
Thu Dec 11 06:30:06 PST 2014


On 10 December 2014 at 21:26, Phil Wang <phil.wang at arm.com> wrote:
> Hi everyone,
>
>
>
> I am working on Ne10 project. Ne10 provides NEON optimized FFT routines that
> are much faster (compared to those without NEON), on most ARMv7-A and all
> ARMv8-A devices. How about integrate it into Opus?
Sounds good. I've been waiting for these routines to be available in
NE10.. and have been trying to upstream neon optimized
celt_pitch_xcorr (currently in RFCv3) in the mean time.

As discussed earlier, I was planning on doing this NE10 fft
integration into opus myself after you were done with your fft work in
NE10. But please do let me know should you want to do this yourself.
Either way is fine for me.

>
> I am not familiar with configure script, but I find "Optinal Packages" in
> it.  If we provides --with-ne10-fft option, the one extra thing that users
> need to do is to indicate where libne10 is, right? Is there any 3rd package
> already enabled in Opus?
>
> Or can we follow the pattern where celt_pitch_xcorr_arm is optimized? We can
> include a few source files from Ne10, put them under celt/arm directory.

I don't think we should include sources from NE10 project into opus.
That kills the whole point of optimizing routines in Ne10.

Right way as you indicated earlier would be to provide an option like
--with-ne10-fft and appropriately point to headers / library.

I remember doing this sort of thing while working on vorbis which
depended on ogg, so when running configure for vorbis, I had to tell
vorbis's configure script where to find ogg. I did so by doing

../libvorbis-1.3.4/configure
--with-ogg-includes=<location_local_root>/usr/local/include
--with-ogg-libraries=<location_local_root>/usr/local/lib

and <location_local_root> was where I installed the OGG library/headers.

I'm pretty sure we can figure out how to do similar thing for opus as well.

Quick look while running
../opus/configure --help
..
Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)



>
>
>
> P.S. Sorry to send again and again. It turned out I had not registered in to
> list.
>
>
>
> Best Regards,
>
> Phil Wang
>
>
>
>
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
>


More information about the opus mailing list