From: Måns Rullgård Date: Sat, 26 Jun 2010 14:34:12 +0000 (+0000) Subject: lsp: convert variable-length arrays to fixed size X-Git-Tag: android-x86-4.4-r1~21477 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=164d166e8590350d9e493ecaada98fd07c5e7da5;p=android-x86%2Fexternal-ffmpeg.git lsp: convert variable-length arrays to fixed size Max LP order is defined to be 16, fixed-size buffers are OK. Originally committed as revision 23795 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/lsp.c b/libavcodec/lsp.c index 003ffbc634..7112492001 100644 --- a/libavcodec/lsp.c +++ b/libavcodec/lsp.c @@ -90,8 +90,8 @@ static void lsp2poly(int* f, const int16_t* lsp, int lp_half_order) void ff_acelp_lsp2lpc(int16_t* lp, const int16_t* lsp, int lp_half_order) { int i; - int f1[lp_half_order+1]; // (3.22) - int f2[lp_half_order+1]; // (3.22) + int f1[MAX_LP_HALF_ORDER+1]; // (3.22) + int f2[MAX_LP_HALF_ORDER+1]; // (3.22) lsp2poly(f1, lsp , lp_half_order); lsp2poly(f2, lsp+1, lp_half_order); @@ -111,7 +111,7 @@ void ff_acelp_lsp2lpc(int16_t* lp, const int16_t* lsp, int lp_half_order) void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd, const int16_t* lsp_prev, int lp_order) { - int16_t lsp_1st[lp_order]; // (0.15) + int16_t lsp_1st[MAX_LP_ORDER]; // (0.15) int i; /* LSP values for first subframe (3.2.5 of G.729, Equation 24)*/ diff --git a/libavcodec/lsp.h b/libavcodec/lsp.h index c3aee7b7dc..6d979e89c6 100644 --- a/libavcodec/lsp.h +++ b/libavcodec/lsp.h @@ -82,6 +82,7 @@ void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd #define MAX_LP_HALF_ORDER 8 +#define MAX_LP_ORDER (2*MAX_LP_HALF_ORDER) /** * Reconstructs LPC coefficients from the line spectral pair frequencies.