summaryrefslogtreecommitdiff
path: root/libswresample/resample.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-10-07 17:33:00 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-10-07 17:33:00 +0200
commit6024c865ef13253b99d585a0b7fa6e21e34fb1b7 (patch)
treeabfe944fa50d87fa4e8a5a704188ca9c4e10dccf /libswresample/resample.c
parent322e960dbf32b846b26f95afa6c0e652bc04e90d (diff)
swresample/resample: merge first iteration into init in bessel()
speedup of about 1% Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libswresample/resample.c')
-rw-r--r--libswresample/resample.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libswresample/resample.c b/libswresample/resample.c
index 554fd7b5f7..d6737d956a 100644
--- a/libswresample/resample.c
+++ b/libswresample/resample.c
@@ -32,9 +32,8 @@
* 0th order modified bessel function of the first kind.
*/
static double bessel(double x){
- double v=1;
double lastv=0;
- double t=1;
+ double t, v;
int i;
static const double inv[100]={
1.0/( 1* 1), 1.0/( 2* 2), 1.0/( 3* 3), 1.0/( 4* 4), 1.0/( 5* 5), 1.0/( 6* 6), 1.0/( 7* 7), 1.0/( 8* 8), 1.0/( 9* 9), 1.0/(10*10),
@@ -50,7 +49,9 @@ static double bessel(double x){
};
x= x*x/4;
- for(i=0; v != lastv; i++){
+ t = x;
+ v = 1 + x;
+ for(i=1; v != lastv; i++){
lastv=v;
t *= x*inv[i];
v += t;