Skip to content

Double precision arithmetic in DFT stereo

There are used double precision mathematical functions atan2() in stereo_dft_enc_compute_prm().

Consider to use a single precision counterpart atan2f().

Then:

  • \lib_dec\ivas_stereo_dft_dec.c(138): i1 = (int16_t) floor( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ); -> floorf() or integer operation
  • \lib_dec\ivas_stereo_dft_dec.c(141): j1 = (int16_t) floor( ind2[i] ); -> floorf() or integer operation
  • \lib_enc\ivas_stereo_dft_enc.c(2828): dItd32 = (int16_t) floor( conversion_factor * hStereoDft->hItd->deltaItd[k_offset] + 0.5f ); -> floorf() or integer operation
  • \lib_enc\ivas_stereo_dft_enc_itd.c(1371): int16_t tmp_itd = (int16_t) floor( ( ( hItd->prev_itd ) * ( (float) input_frame / 640 ) ) + 0.5f ); -> floorf() or integer operation
  • \lib_enc\ivas_stereo_dft_td_itd.c(86): *td_itd_32 = 2 * (int16_t) floor( itd / d + 0.5f ); -> floorf() or integer operation
Edited by vaclav