xiph / speexdsp

Speex audio processing library - THIS IS A MIRROR, DEVELOPMENT HAPPENS AT https://gitlab.xiph.org/xiph/speexdsp
https://speex.org
Other
469 stars 190 forks source link

Apple's Accelerate framework support #25

Open romanbsd opened 5 years ago

romanbsd commented 5 years ago

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.

yycking commented 1 year ago

@romanbsd Can you share these code with me?

romanbsd commented 1 year ago

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.

tmatth commented 1 year ago

@romanbsd do you have any benchmarks?

romanbsd commented 1 year ago

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

tmatth commented 1 year ago

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).

romanbsd commented 1 year ago

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 commented 4 months ago

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