OOB scaling of buffer output_32_fx[] in JBM at 16kHz
In the case of the JBM decoding at 16kHz, the TC buffers have a length of 640 samples. However, in ivas_core_dec_fx() there are several scalings of TC buffers with a fixed length of L_FRAME48k, i.e. 960 samples. Consequently, the scaling overwrites OOB values.
Note that the in ivas_core_dec_fx() TC buffers correspond to output_32_fx[] and the TC buffers st_ivas->hTcBuffer->tc[] are shared with the output audio buffers st_ivas->p_output_f[] (see e.g. the beginning of ivas_dec_fx()).
There are two possible solutions:
-
Fix the scaling in
ivas_core_dec_fx()by limiting the length of the TC buffers -
Fix the TC buffers' length