Increase accuracy of azimuth and elevation angles in MASA metadata with dirac rendering
Basic info
- Float reference:
- Encoder (float): ivas-float-update
- Decoder (float): ivas-float-update
- Fixed point:
- Encoder (fixed): -
- Decoder (fixed): ivas-main
Bug description
It was observed that the dirac renderer azimuth and elevation angles compted in ivas_dirac_dec_compute_directional_responses_fx() often are off by one degree because of the lack of rounding and usage of extract_h instead of round_fx. Since the angle computation occurs only few times per channel, it is not really expensive to use round_fx instead of extract_h and it is suggested to prefer round_fx in that case.
Ways to reproduce
While decoding the attached bit stream, the angles computed in ivas_qmetadata_to_dirac_fx() differ by one degree causing the directional responses vectors to be different between float and basop.
command line:
IVAS_dec -q -fr 20 -Tracefile stvOMASA_2ISM_2MASA2TC48c+10dB.wav_OMASA_2Dir2TC_2ISM_at_br_sw_techs_13_2_to_512_kbps_start_48_kbps_48kHz_in_48kHz_out_7_1_out_JBM_Prof_5.dectrace -VOIP 7_1 48 stvOMASA_2ISM_2MASA2TC48c+10dB.wav_OMASA_2Dir2TC_2ISM_at_br_sw_techs_13_2_to_512_kbps_start_48_kbps_48kHz_in_48kHz_out_7_1_out_JBM_Prof_5.netsimout out.wav