[FFmpeg-devel] [PATCH] ra288: convert VLAs to fixed size
Mans Rullgard
mans
Sun Jun 27 20:54:52 CEST 2010
---
libavcodec/ra288.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index 20a21f5..bfc62e1 100644
--- a/libavcodec/ra288.c
+++ b/libavcodec/ra288.c
@@ -27,6 +27,10 @@
#include "celp_math.h"
#include "celp_filters.h"
+#define MAX_BACKWARD_FILTER_ORDER 36
+#define MAX_BACKWARD_FILTER_LEN 40
+#define MAX_BACKWARD_FILTER_NONREC 35
+
typedef struct {
float sp_lpc[36]; ///< LPC coefficients for speech data (spec: A)
float gain_lpc[10]; ///< LPC coefficients for gain (spec: GB)
@@ -120,9 +124,9 @@ static void do_hybrid_window(int order, int n, int non_rec, float *out,
float *hist, float *out2, const float *window)
{
int i;
- float buffer1[order + 1];
- float buffer2[order + 1];
- float work[order + n + non_rec];
+ float buffer1[MAX_BACKWARD_FILTER_ORDER + 1];
+ float buffer2[MAX_BACKWARD_FILTER_ORDER + 1];
+ float work[MAX_BACKWARD_FILTER_ORDER + MAX_BACKWARD_FILTER_LEN + MAX_BACKWARD_FILTER_NONREC];
apply_window(work, window, hist, order + n + non_rec);
@@ -145,7 +149,7 @@ static void backward_filter(float *hist, float *rec, const float *window,
float *lpc, const float *tab,
int order, int n, int non_rec, int move_size)
{
- float temp[order+1];
+ float temp[MAX_BACKWARD_FILTER_ORDER+1];
do_hybrid_window(order, n, non_rec, temp, hist, rec, window);
--
1.7.1
More information about the ffmpeg-devel
mailing list