Mercurial > libavcodec.hg
diff amrnbdec.c @ 12464:2dd67ed2f947 libavcodec
Move AMRNB lsf2lsp() function to common code for using in future AMRWB decoder.
Patch by Marcelo Galvo Pvoa
author | vitor |
---|---|
date | Tue, 07 Sep 2010 20:44:41 +0000 |
parents | ceec2fb08b8e |
children | b42e02e9bf2b |
line wrap: on
line diff
--- a/amrnbdec.c Tue Sep 07 19:54:48 2010 +0000 +++ b/amrnbdec.c Tue Sep 07 20:44:41 2010 +0000 @@ -222,20 +222,6 @@ /// @{ /** - * Convert an lsf vector into an lsp vector. - * - * @param lsf input lsf vector - * @param lsp output lsp vector - */ -static void lsf2lsp(const float *lsf, double *lsp) -{ - int i; - - for (i = 0; i < LP_FILTER_ORDER; i++) - lsp[i] = cos(2.0 * M_PI * lsf[i]); -} - -/** * Interpolate the LSF vector (used for fixed gain smoothing). * The interpolation is done over all four subframes even in MODE_12k2. * @@ -293,7 +279,7 @@ if (update) interpolate_lsf(p->lsf_q, lsf_q); - lsf2lsp(lsf_q, lsp); + ff_acelp_lsf2lspd(lsp, lsf_q, LP_FILTER_ORDER); } /** @@ -357,7 +343,7 @@ interpolate_lsf(p->lsf_q, lsf_q); memcpy(p->prev_lsf_r, lsf_r, LP_FILTER_ORDER * sizeof(*lsf_r)); - lsf2lsp(lsf_q, p->lsp[3]); + ff_acelp_lsf2lspd(p->lsp[3], lsf_q, LP_FILTER_ORDER); // interpolate LSP vectors at subframes 1, 2 and 3 for (i = 1; i <= 3; i++)