Wrong q-variable in ivas_spar_param_to_masa_param_mapping_fx
Basic info
- Float reference:
- Encoder (float):
- Decoder (float):
- Fixed point:
- Encoder (fixed):
- Decoder (fixed): a8ff39cd
Bug description
In ivas_spar_param_to_masa_param_mapping_fx, there is part of code where transport cross correlations are calculated and they happen to use first channel q_cldfb always which is probably wrong. See below:
transportSignalCrossCorrelation_64[bin] = W_add( transportSignalCrossCorrelation_64[bin], W_mult0_32_32( L_shr_sat( inRe_fx[0][slot][bin], sub( q_cldfb[0][slot], common_q ) ), L_shr_sat( inRe_fx[1][slot][bin], sub( q_cldfb[0][slot], common_q ) ) ) ); // Q(2 * common_q)
transportSignalCrossCorrelation_64[bin] = W_add( transportSignalCrossCorrelation_64[bin], W_mult0_32_32( L_shr_sat( inIm_fx[0][slot][bin], sub( q_cldfb[0][slot], common_q ) ), L_shr_sat( inIm_fx[1][slot][bin], sub( q_cldfb[0][slot], common_q ) ) ) ); // Q(2 * common_q)
Effect depends if the Q-value is differing.