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++)