FreeCalypso > hg > gsm-codec-lib
view libgsmefr/weight_a.c @ 128:a5ffec18e4cd
test programs: use printf %d format for codec parameters
Even though all codec params (both FR and EFR) are small unsigned integers,
we use signed int16_t data type for both, for interface reasons: in the
case of FR it's the gsm_signal type of libgsm, and in the case of EFR
it's the Word16 type of ETSI codec guts. Therefore, the correct printf
format is %d, not %u, when the objective is to see what's in the variables
(what the compiler sees) and catch any bugs.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 11 Dec 2022 04:00:13 +0000 |
parents | b651adfce60d |
children |
line wrap: on
line source
/************************************************************************* * * FUNCTION: Weight_Ai * * PURPOSE: Spectral expansion of LP coefficients. (order==10) * * DESCRIPTION: * a_exp[i] = a[i] * fac[i-1] ,i=1,10 * *************************************************************************/ #include "gsm_efr.h" #include "typedef.h" #include "namespace.h" #include "basic_op.h" #include "no_count.h" #include "sig_proc.h" /* m = LPC order == 10 */ #define m 10 void Weight_Ai ( Word16 a[], /* (i) : a[m+1] LPC coefficients (m=10) */ const Word16 fac[], /* (i) : Spectral expansion factors. */ Word16 a_exp[] /* (o) : Spectral expanded LPC coefficients */ ) { Word16 i; a_exp[0] = a[0]; move16 (); for (i = 1; i <= m; i++) { a_exp[i] = round (L_mult (a[i], fac[i - 1])); move16 (); } return; }