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 "options.h" 11 : #include "wmc_auto.h" 12 : #include "defines.h" 13 : #include "functions.h" 14 : 15 0 : void plc_phEcu_tba_per_band_gain(LC3_INT32 n_grp, LC3_FLOAT *gr_pow_left, LC3_FLOAT *gr_pow_right, LC3_FLOAT *trans, LC3_FLOAT *grp_pow_change) 16 : { 17 : LC3_INT32 i; 18 : 19 : /* per band gain */ 20 0 : for (i = 0; i < n_grp; i++) { 21 0 : if (gr_pow_left[i] > 0) 22 : { 23 0 : trans[i] = gr_pow_right[i] / gr_pow_left[i]; 24 : } 25 : else 26 : { 27 : /* handle division by zero case */ 28 0 : if (gr_pow_right[i] > 0) 29 : { 30 0 : trans[i] = 10.0; /* positive/0 transient */ 31 : } 32 : else 33 : { 34 0 : trans[i] = 1.0; /* 0/0 no transient , no power change */ 35 : } 36 : } 37 0 : grp_pow_change[i] = (LC3_FLOAT) 10.0 * LC3_LOGTEN(trans[i]); 38 : 39 : } 40 : 41 0 : return; 42 : }