Improve SRC performance #37
Conversation
performance especially on embedded platforms. Has no effect on the likelihood of finding a fingerprint match.
|
Thanks, using integers for the resampling is why I actually included a copy of the old resampling code from FFmpeg in the repo, so having avresample/swresample using floating point was definitely not intentional. However, this should be also done for libavresample, not just libswresample, to make sure these are consistent. It's probably better to use the full I'm also not sure about the planar format. We want non-planar format out of it in the end. Can you try if it's not even after with |
|
I'll do the rename and make the change in libavresample. |
|
Hey there, any chances of this ever being merged? |
|
Yes, but there are still some changes to be made. And it needs to be properly tested with both ffmpeg and libav. |
|
@agentsim ping ? |
|
@Seluj78 The project I'm working on moved to beefier hardware where this fix is not important, so I have not had the time to finish it up. |
|
@agentsim sure thing, I was just wondering :) |
Reduce the precision of internal SRC computations to improve resampler performance (by about 20-25%) especially on embedded platforms.
Has no effect on the likelihood of finding a fingerprint match.
Some benchmarks for 120s of audio running on a 1gHz ARM7 CPU:
44.1kHz (before): 2.4s
44.1kHz (after): 2s
176.4kHz (before): 7s
176.4kHz (after): 5.6s