Line data Source code
1 : /******************************************************************************
2 : * ETSI TS 103 634 V1.5.1 *
3 : * Low Complexity Communication Codec Plus (LC3plus) *
4 : * *
5 : * Copyright licence is solely granted through ETSI Intellectual Property *
6 : * Rights Policy, 3rd April 2019. No patent licence is granted by implication, *
7 : * estoppel or otherwise. *
8 : ******************************************************************************/
9 :
10 : #include "defines.h"
11 : #include "constants.h"
12 : #include "functions.h"
13 :
14 0 : void processPCmain_fx(Word16 rframe, Word16 *bfi, Word16 yLen, Word16 frame_dms, Word16 q_old_res_fx[],
15 : Word16 *q_old_res_fx_exp,
16 : #ifdef ENABLE_HR_MODE
17 : Word32 q_res_fx[],
18 : #else
19 : Word16 q_res_fx[],
20 : #endif
21 : Word16 q_old_d_fx[], Word16 spec_inv_idx,
22 : Word16 pitch_present, Word16 stab_fac, Word32 q_d_fx[], Word16 *q_fx_exp,
23 : Word16 gg_idx, Word16 gg_idx_off, Word16 *prev_gg, Word16 *prev_gg_e, Word16 *BW_cutoff_idx_nf,
24 : Word16 *prev_BW_cutoff_idx_nf, Word16 fac_ns_idx, Word16 *prev_fac_ns_fx, Word16 *pc_nbLostFramesInRow)
25 : {
26 : Dyn_Mem_Deluxe_In(
27 : Word16 fac, fac_e;
28 : );
29 :
30 0 : fac = 32767; fac_e = 0;
31 :
32 0 : IF (sub(*bfi, 2) == 0)
33 : {
34 0 : processPCclassify_fx(pitch_present, frame_dms, q_old_d_fx, q_old_res_fx, yLen, spec_inv_idx, stab_fac, bfi);
35 : }
36 :
37 0 : IF (sub(*bfi, 2) == 0)
38 : {
39 0 : processPCapply_fx(yLen, q_old_res_fx, q_old_res_fx_exp, q_res_fx, q_old_d_fx, spec_inv_idx,
40 0 : &fac, &fac_e, q_d_fx, q_fx_exp, gg_idx, gg_idx_off, *prev_gg, *prev_gg_e, pc_nbLostFramesInRow);
41 : }
42 :
43 0 : IF (sub(*bfi, 1) != 0)
44 : {
45 0 : processPCupdate_fx(*bfi, yLen, q_old_res_fx, q_old_res_fx_exp, q_res_fx, spec_inv_idx, gg_idx, gg_idx_off, prev_gg,
46 : prev_gg_e, rframe, BW_cutoff_idx_nf, prev_BW_cutoff_idx_nf, fac_ns_idx, prev_fac_ns_fx, fac, fac_e);
47 : }
48 :
49 0 : if (*bfi == 0)
50 : {
51 0 : *pc_nbLostFramesInRow = 0; move16();
52 : }
53 :
54 : Dyn_Mem_Deluxe_Out();
55 0 : }
56 :
57 :
|