Hi Timothy, It requires some extra effort if twiddles and input/output have different bit width. Since Opus uses int32 for twiddles, we are going to do the same thing. Thanks, 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/opus/attachments/20141229/3e904d1e/attachment.htm
Jean-Marc Valin
2014-Dec-29 19:30 UTC
[opus] [Opus][RFC][FFT][Fixed-Point][NEON] NEON-Optimize
On 28/12/14 11:04 PM, Phil Wang wrote:> It requires some extra effort if twiddles and input/output have > different bit width. Since Opus uses int32 for twiddles, we are going > to do the same thing.Actually, the existing Opus code has 16-bit twiddles, mostly because it makes it possible to use smulwb on ARMv5E. That being said, I agree that for Neon it makes sense to use 32-bit twiddles since there's no 16x32 multiplier. Cheers, Jean-Marc> > > Thanks, > > 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 >
Hi Jean-Marc, I have implemented fixed-point FFT with 32-bit twiddles. Now I want to evaluate the accuracy, what method does Opus use? I use function implemented inside Ne10 to calculate SNR. Any comment? | size | SNR (dB) | | 16 | 82.558587 | | 32 | 83.530298 | | 60 | 80.292433 | | 64 | 82.752950 | | 120 | 79.625077 | | 128 | 83.091260 | | 240 | 79.555263 | | 256 | 82.470671 | | 480 | 79.741435 | | 512 | 82.675800 | | 900 | 79.098034 | | 960 | 79.737709 | If Opus are using other method to evaluate the accuracy, can you kindly show me the path? Best Regards, Phil Wang> -----Original Message----- > From: Jean-Marc Valin [mailto:jmvalin at jmvalin.ca] > Sent: Tuesday, December 30, 2014 3:30 AM > To: Phil Wang; opus at xiph.org; Timothy B. Terriberry (tterribe at xiph.org) > Cc: Zhongwei Yao; Yang Zhang; Zhou (Joe) Yu; Steve Bannister > Subject: Re: [opus] [Opus][RFC][FFT][Fixed-Point][NEON] NEON-Optimize > > On 28/12/14 11:04 PM, Phil Wang wrote: > > It requires some extra effort if twiddles and input/output have > > different bit width. Since Opus uses int32 for twiddles, we are going > > to do the same thing. > > Actually, the existing Opus code has 16-bit twiddles, mostly because itmakes> it possible to use smulwb on ARMv5E. That being said, I agree that forNeon it> makes sense to use 32-bit twiddles since there's no 16x32 multiplier. > > Cheers, > > Jean-Marc > > > > > > > Thanks, > > > > 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 > >