Skip to content

High band tone artifact in short block (TCX_10) MDCT-Stereo IMDCT

Git SHA: 6cfcf27f

Using item number 69 of SQAM resampled to 32kHz, an artifact in the high band was observed:

Screenshot_2024-02-21_at_16.53.43

Output from float decoder looks like this:

Screenshot_2024-02-21_at_16.54.08

The affected frame number 360 is coded with short blocks (TCX_10). The difference is introduced in the IMDCT code in ivas_mdct_core_dec.c:1368, for ch = 1 and k = 0, inside function decoder_tcx_imdct_fx. In dec_tcx.c:392, function TCX_MDXT_Inverse_fx is called. The output (the windowed and unfolded reconstructed signal) is stored in array win_fx. the values of this array differ greatly to the float decoder at this point (after being converted back to float), so something seems to go wrong inside said function. The input values for x look very similar between float and fixed.