Line data Source code
1 : /*====================================================================================
2 : EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
3 : ====================================================================================*/
4 :
5 :
6 : /* Header files */
7 : #include <stdint.h>
8 : #include "options.h"
9 : #include "prot_fx.h"
10 :
11 4149 : void dlpc_bfi(
12 : const Word16 L_frame,
13 : Word16 *lsf_q, /* o : quantized LSFs 14Q1*1.28*/
14 : const Word16 *lsfold, /* i : past quantized LSF 14Q1*1.28*/
15 : const Word16 last_good, /* i : last good received frame Q0*/
16 : const Word16 nbLostCmpt, /* i : counter of consecutive bad frames Q0*/
17 : Word16 mem_MA[], /* i/o: quantizer memory for MA model 14Q1*1.28*/
18 : Word16 mem_AR[], /* i/o: quantizer memory for AR model 14Q1*1.28*/
19 : Word16 *stab_fac, /* i : LSF stability factor Q15*/
20 : Word16 *lsf_adaptive_mean, /* i : LSF adaptive mean, updated when BFI==0 14Q1*1.28*/
21 : Word16 numlpc, /* i : Number of division per superframe Q0*/
22 : Word16 lsf_cng[], /*Q1*1.28*/
23 : Word8 plcBackgroundNoiseUpdated,
24 : Word16 *lsf_q_cng, /* o : quantized LSFs 14Q1*1.28*/
25 : Word16 *old_lsf_q_cng, /* o : old quantized LSFs for background noise 14Q1*1.28*/
26 : const Word16 *lsfBase, /* i : base for differential LSF coding Q1*1.28*/
27 : Word8 tcxonly )
28 : {
29 :
30 4149 : lsf_dec_bfi( MODE2, &lsf_q[0], lsfold, lsf_adaptive_mean, lsfBase, mem_MA, mem_AR, *stab_fac,
31 : 0, L_frame, last_good, nbLostCmpt, plcBackgroundNoiseUpdated, lsf_q_cng, lsf_cng, old_lsf_q_cng, 0, 0, tcxonly, 0 );
32 :
33 4149 : IF( EQ_16( numlpc, 2 ) )
34 : {
35 : /* Decode the second LPC */
36 8 : lsf_dec_bfi( MODE2, &lsf_q[M], &lsf_q[0], lsf_adaptive_mean, lsfBase, mem_MA, mem_AR, *stab_fac,
37 8 : 0, L_frame, last_good, add( nbLostCmpt, 1 ), plcBackgroundNoiseUpdated, lsf_q_cng, lsf_cng, old_lsf_q_cng, 0, 0, tcxonly, 0 );
38 : }
39 : /**/ /*No local variabvles defined*/
40 4149 : }
|