[opus] [Opus][RFC][FFT][Fixed-Point][NEON] NEON-Optimize Fixed-Point FFT?

Viswanath Puttagunta viswanath.puttagunta at linaro.org
Wed Dec 24 05:22:28 PST 2014

Hi Phil,

**feedback based on my relatively recent experience with opus... so
any one with more experience with opus.. please correct/add as

looking at configure.ac

AC_DEFINE([FIXED_POINT], [1], [Compile as fixed-point (for machines
without a fast enough FPU)])

So, FIXED_POINT is used even if CPU has NEON and FPU, but it's FPU is
is slow...

and looking at fixed point NEON assembly for celt_pitch_xcorr() (
celt_pitch_xcorr_arm.s).. I am assuming such a case does exist..
(Specific ARM CPUs anyone?)

This leads me to believe that there is value in optimizing fft routine
using NEON fixed point instructions for some low end ARMv7 CPUs.

FIXED POINT in opus may not be worth it for ARMv8... I would be
surprised if any one in ARM disagrees with me on this statement.... If
they do.. please let me know.. it will definitely be news to me.

Anycase, fyi.. I am currently only working on integrating ne10 float32
fft into opus... not looking at any fixed point optimizations at the
moment. Will see opus crowd's response to gauge further.


On 24 December 2014 at 00:29, Phil Wang <Phil.Wang at arm.com> wrote:
> Hi,
> I am working on DSP module of Ne10. I see there are fixed-point and
> floating-point FFT inside Opus. Is fixed-point FFT only a fall back for CPU
> without VFP? On ARMv7-A and ARMv8-A, benchmark result shows that fixed-point
> (int32) and floating-point (float32) FFT have similar performance. I guess
> fixed-point version is not often used on these platforms. Is it worth the
> effort to NEON-optimize fixed-point FFT?
> Best Regards,
> Phil Wang
> -- IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
> ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
> Registered in England & Wales, Company No: 2557590
> ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
> Registered in England & Wales, Company No: 2548782
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus

More information about the opus mailing list