speexdsp icon indicating copy to clipboard operation
speexdsp copied to clipboard

Apple's Accelerate framework support

Open romanbsd opened this issue 6 years ago • 7 comments

I ported all of the CPU intensive parts of the echo cancellation and preprocess to use the Apple's Accelerate framework. If it's of any interest, I can prepare and submit a PR.

romanbsd avatar Apr 11 '19 09:04 romanbsd

@romanbsd Can you share these code with me?

yycking avatar Aug 04 '23 03:08 yycking

Sorry, missed this comment. I think most (if not all) of it is here: https://github.com/romanbsd/libspeexdsp If something is missing, ping me in a week from now, since I'm abroad, and the files are on another computer.

romanbsd avatar Aug 24 '23 13:08 romanbsd

@romanbsd do you have any benchmarks?

tmatth avatar Aug 24 '23 13:08 tmatth

No, don't have it handy, was too long ago. But it was at least 4x faster as far as I remember. Also I recall that there were places where I tried rewriting in order to use accelerated functions, and it wasn't worth it, so if you see places that are possible candidates - chances are that I already tried

romanbsd avatar Aug 24 '23 16:08 romanbsd

No, don't have it handy, was too long ago. But it was at least 4x faster as far as I remember. Also I recall that there were places where I tried rewriting in order to use accelerated functions, and it wasn't worth it, so if you see places that are possible candidates - chances are that I already tried

Thanks I'll try and take a look, sorry this got missed (this github project is just a mirror of https://gitlab.xiph.org/xiph/speexdsp so PRs sent here can get overlooked).

tmatth avatar Aug 24 '23 19:08 tmatth

Note that this is production quality code. It runs in production on iOS app for some years now. I also ported parts of Accelerate framework to Android (repo vdsp in my account)

romanbsd avatar Aug 25 '23 07:08 romanbsd

P.S. The changes are in the mdf.c and filterbank.c

romanbsd avatar Apr 15 '24 07:04 romanbsd