swresample/resample: manually unroll the main loop in bessel()

About 10% faster

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2015-10-07 17:57:58 +02:00
parent 6024c865ef
commit 1bc873acd6
1 changed files with 5 additions and 3 deletions

View File

@ -51,11 +51,13 @@ static double bessel(double x){
x= x*x/4;
t = x;
v = 1 + x;
for(i=1; v != lastv; i++){
lastv=v;
for(i=1; v != lastv; i+=2){
t *= x*inv[i];
v += t;
av_assert2(i<99);
lastv=v;
t *= x*inv[i + 1];
v += t;
av_assert2(i<98);
}
return v;
}