Mercurial > libavcodec.hg
diff qcelp_lsp.c @ 9123:36a5caff8540 libavcodec
Part 2 of 2 of Kenan Gillet's 'make ff_qcelp_lspf2lpc
more general' changeset. This one relocates the QCELP
especific code to the qcelpdec.* files.
| author | reynaldo |
|---|---|
| date | Wed, 04 Mar 2009 01:33:56 +0000 |
| parents | 0613e9b5514c |
| children | 18dab2b47db7 |
line wrap: on
line diff
--- a/qcelp_lsp.c Wed Mar 04 01:28:07 2009 +0000 +++ b/qcelp_lsp.c Wed Mar 04 01:33:56 2009 +0000 @@ -30,15 +30,6 @@ #include "libavutil/mathematics.h" /** - * initial coefficient to perform bandwidth expansion on LPC - * - * @note: 0.9883 looks like an approximation of 253/256. - * - * TIA/EIA/IS-733 2.4.3.3.6 6 - */ -#define QCELP_BANDWITH_EXPANSION_COEFF 0.9883 - -/** * Computes the Pa / (1 + z(-1)) or Qa / (1 - z(-1)) coefficients * needed for LSP to LPC conversion. * We only need to calculate the 6 first elements of the polynomial. @@ -84,37 +75,7 @@ double paf = pa[i+1] + pa[i]; double qaf = qa[i+1] - qa[i]; - lpc[i ] = 0.5 * (paf+qaf); - lpc[9-i] = 0.5 * (paf-qaf); + lpc[i ] = 0.5*(paf+qaf); + lpc[9-i] = 0.5*(paf-qaf); } } - -/** - * Reconstructs LPC coefficients from the line spectral pair frequencies - * and performs bandwidth expansion. - * - * @param lspf line spectral pair frequencies - * @param lpc linear predictive coding coefficients - * - * @note: bandwith_expansion_coeff could be precalculated into a table - * but it seems to be slower on x86 - * - * TIA/EIA/IS-733 2.4.3.3.5 - */ -void ff_qcelp_lspf2lpc(const float *lspf, float *lpc) -{ - double lsf[10]; - double bandwith_expansion_coeff = QCELP_BANDWITH_EXPANSION_COEFF; - int i; - - for (i=0; i<10; i++) - lsf[i] = cos(M_PI * lspf[i]); - - ff_celp_lspf2lpc(lsf, lpc); - - for (i=0; i<10; i++) - { - lpc[i] *= bandwith_expansion_coeff; - bandwith_expansion_coeff *= QCELP_BANDWITH_EXPANSION_COEFF; - } -}
