summaryrefslogtreecommitdiff
path: root/libavcodec/ra288.c
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2010-06-27 19:30:31 +0000
committerMåns Rullgård <mans@mansr.com>2010-06-27 19:30:31 +0000
commit0b37cccaabacf6bbe802733944490479246cddf9 (patch)
tree6d788c6da537249de83ed58f7eb5940fff14a89b /libavcodec/ra288.c
parent0724a674fce5d9f7b38e9828f6a03a31455c5acc (diff)
ra288: convert VLAs to fixed size
Originally committed as revision 23832 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ra288.c')
-rw-r--r--libavcodec/ra288.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index 20a21f5dc7..bfc62e1ffa 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);