Mercurial > libavcodec.hg
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--) |