[FFmpeg-cvslog] r23755 - in trunk/libavcodec: fft.h mdct.c
mru
subversion
Thu Jun 24 11:42:34 CEST 2010
Author: mru
Date: Thu Jun 24 11:42:34 2010
New Revision: 23755
Log:
Remove VLA in ff_kbd_window_init, limit window size to 1024
Modified:
trunk/libavcodec/fft.h
trunk/libavcodec/mdct.c
Modified: trunk/libavcodec/fft.h
==============================================================================
--- trunk/libavcodec/fft.h Thu Jun 24 11:02:44 2010 (r23754)
+++ trunk/libavcodec/fft.h Thu Jun 24 11:42:34 2010 (r23755)
@@ -151,10 +151,15 @@ static inline void ff_mdct_calc(FFTConte
}
/**
+ * Maximum window size for ff_kbd_window_init.
+ */
+#define FF_KBD_WINDOW_MAX 1024
+
+/**
* Generate a Kaiser-Bessel Derived Window.
* @param window pointer to half window
* @param alpha determines window shape
- * @param n size of half window
+ * @param n size of half window, max FF_KBD_WINDOW_MAX
*/
void ff_kbd_window_init(float *window, float alpha, int n);
Modified: trunk/libavcodec/mdct.c
==============================================================================
--- trunk/libavcodec/mdct.c Thu Jun 24 11:02:44 2010 (r23754)
+++ trunk/libavcodec/mdct.c Thu Jun 24 11:42:34 2010 (r23755)
@@ -36,9 +36,11 @@ av_cold void ff_kbd_window_init(float *w
{
int i, j;
double sum = 0.0, bessel, tmp;
- double local_window[n];
+ double local_window[FF_KBD_WINDOW_MAX];
double alpha2 = (alpha * M_PI / n) * (alpha * M_PI / n);
+ assert(n <= FF_KBD_WINDOW_MAX);
+
for (i = 0; i < n; i++) {
tmp = i * (n - i) * alpha2;
bessel = 1.0;
More information about the ffmpeg-cvslog
mailing list