STEREO CNG and EVS LPCNG , initialization value of shb CNG parameter leads to incorrect startup interpolation in dB domain, not BE
Basic info
EVS initilization of shb CNG parameter leads to incorrect startup interpolation in dB domain, likely not BE
in in cng_dec.c line 858
"hTdCngDec->last_shb_ener = 0.001f;"
in cng_dec.c line 732
" ener = hTdCngDec->shb_cng_ener + sin_table256[i] * ( hTdCngDec->last_shb_ener - hTdCngDec->shb_cng_ener );"
The last_shb_ener , should be initialized to something like -82 in dB domain corresponding to a received shb energy index index0(-15), while it now is initialized to 0.001f
- Commit SHA: c42f4258
- Platform: MSVC and LINUX
Bug description
initialization error for EVS SHB CNG and IVAS -stereo shb CNG
Ways to reproduce
(Clear steps or refer to a failing automated test, e.g. with a pipeline link)
see inactive define //#define FIX617_UBSAN_DIVBYZERO_STEREOCNG_LAST_SHB_ENER_INIT
run:
./IVAS_cod -STEREO -dtx 24400 16 ./scripts/testv/stvST16nwav bit
./IVAS_dec stereo 32 bit out.wav
and break at line
in cng_dec.c line 732
" ener = hTdCngDec->shb_cng_ener + sin_table256[i] * ( **hTdCngDec->last_shb_ener -** hTdCngDec->shb_cng_ener );"