20 #include "libavutil/mathematics.h"
21 #include "libavutil/attributes.h"
24 #define BESSEL_I0_ITER 50 // default: 50 iterations of Bessel I0 approximation
29 double sum = 0.0,
bessel, tmp;
31 double alpha2 = (alpha * M_PI / n) * (alpha * M_PI / n);
35 for (i = 0; i < n; i++) {
36 tmp = i * (n - i) * alpha2;
39 bessel = bessel * tmp / (j * j) + 1;
41 local_window[i] = sum;
45 for (i = 0; i < n; i++)
46 window[i] = sqrt(local_window[i] / sum);
av_cold void ff_kbd_window_init(float *window, float alpha, int n)
Generate a Kaiser-Bessel Derived Window.
static double bessel(double x)
#define FF_KBD_WINDOW_MAX
Maximum window size for ff_kbd_window_init.