[FFmpeg-cvslog] r21183 - trunk/libavcodec/sipr.c

mru subversion
Wed Jan 13 04:11:02 CET 2010


Author: mru
Date: Wed Jan 13 04:11:02 2010
New Revision: 21183

Log:
SIPR: kill variable-length arrays

Two of these are in fact constant size, so use the constant instead of
a variable in the declarations.  The remaining one is small enough
that always using the maximum size is acceptable.

Modified:
   trunk/libavcodec/sipr.c

Modified: trunk/libavcodec/sipr.c
==============================================================================
--- trunk/libavcodec/sipr.c	Wed Jan 13 03:44:38 2010	(r21182)
+++ trunk/libavcodec/sipr.c	Wed Jan 13 04:11:02 2010	(r21183)
@@ -46,6 +46,8 @@
 /**  Subframe size for all modes except 16k */
 #define SUBFR_SIZE           48
 
+#define MAX_SUBFRAME_COUNT   5
+
 #include "siprdata.h"
 
 typedef enum {
@@ -233,8 +235,8 @@ static void decode_parameters(SiprParame
 static void lsp2lpc_sipr(const double *lsp, float *Az)
 {
     int lp_half_order = LP_FILTER_ORDER >> 1;
-    double buf[lp_half_order + 1];
-    double pa[lp_half_order + 1];
+    double buf[(LP_FILTER_ORDER >> 1) + 1];
+    double pa[(LP_FILTER_ORDER >> 1) + 1];
     double *qa = buf + 1;
     int i,j;
 
@@ -409,7 +411,7 @@ static void decode_frame(SiprContext *ct
 {
     int i, j;
     int frame_size = ctx->m.subframe_count * SUBFR_SIZE;
-    float Az[LP_FILTER_ORDER * ctx->m.subframe_count];
+    float Az[LP_FILTER_ORDER * MAX_SUBFRAME_COUNT];
     float *excitation;
     float ir_buf[SUBFR_SIZE + LP_FILTER_ORDER];
     float lsf_new[LP_FILTER_ORDER];



More information about the ffmpeg-cvslog mailing list