/*==================================================================================== EVS Codec 3GPP TS26.443 Nov 13, 2018. Version 12.11.0 / 13.7.0 / 14.3.0 / 15.1.0 ====================================================================================*/ #include "options.h" #include "prot.h" /*------------------------------------------------------------------ * weight_a() * * Weighting of LP filter coefficients, ap[i] = a[i] * (gamma^i) *------------------------------------------------------------------*/ void weight_a( const float *a, /* i : LP filter coefficients */ float *ap, /* o : weighted LP filter coefficients */ const float gamma, /* i : weighting factor */ const short m /* i : order of LP filter */ ) { float f; short i; ap[0] = a[0]; f = gamma; for (i = 1; i <= m; i++) { ap[i] = f*a[i]; f *= gamma; } return; } /*------------------------------------------------------------------ * weight_a_subfr() * * Weighting of LP filter coefficients for multiple subframes, * ap[i] = a[i] * (gamma^i) *------------------------------------------------------------------*/ void weight_a_subfr( const short nb_subfr, /* i : number of subframes */ const float *A, /* i : LP filter coefficients */ float *Aw, /* o : weighted LP filter coefficients */ const float gamma, /* i : weighting factor */ const short m /* i : order of LP filter */ ) { short i, j; float tmp; for( j=0; j