comparison mdct.c @ 11944:052b9c58ccc4 libavcodec

Remove VLA in ff_kbd_window_init, limit window size to 1024
author mru
date Thu, 24 Jun 2010 09:42:34 +0000
parents 7dd2a45249a9
children
comparison
equal deleted inserted replaced
11943:3f5b35e5f4de 11944:052b9c58ccc4
34 #define BESSEL_I0_ITER 50 // default: 50 iterations of Bessel I0 approximation 34 #define BESSEL_I0_ITER 50 // default: 50 iterations of Bessel I0 approximation
35 av_cold void ff_kbd_window_init(float *window, float alpha, int n) 35 av_cold void ff_kbd_window_init(float *window, float alpha, int n)
36 { 36 {
37 int i, j; 37 int i, j;
38 double sum = 0.0, bessel, tmp; 38 double sum = 0.0, bessel, tmp;
39 double local_window[n]; 39 double local_window[FF_KBD_WINDOW_MAX];
40 double alpha2 = (alpha * M_PI / n) * (alpha * M_PI / n); 40 double alpha2 = (alpha * M_PI / n) * (alpha * M_PI / n);
41
42 assert(n <= FF_KBD_WINDOW_MAX);
41 43
42 for (i = 0; i < n; i++) { 44 for (i = 0; i < n; i++) {
43 tmp = i * (n - i) * alpha2; 45 tmp = i * (n - i) * alpha2;
44 bessel = 1.0; 46 bessel = 1.0;
45 for (j = BESSEL_I0_ITER; j > 0; j--) 47 for (j = BESSEL_I0_ITER; j > 0; j--)