Higher MLD in MDCT-Stereo mono output than in stereo out
Basic info
Bug description
Decoding a high rate stereo bitstream to mono output yields higher MLD than when decodded to stereo output for some frames. See here the diff for stereo output with MLD of 0.06 (note the scale to the right!):
Difference for mono output (MLD of 1.6) - again note that the scale is different than in the previous screenshot:
Dfference starts to get bigger at 47 seconds, but is still very low. The bigger differences start at 57,2 seconds.
The functions involved in the mono DMX for MDCT-Stereo are ivas_ls_setup_conversion_process_mdct
and applyDmxMdctStereo
. For debugging this, I guess it would be benefcial to compare signal/spectra between fx and float decoder after these functions have been applied. If the diffference is not there after ivas_ls_setup_conversion_process_mdct
(in neither channel), then it should be there after the second one.
Ways to reproduce
Stereo output:
./IVAS_dec_fx stereo 48 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.192 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.fx.wav
./IVAS_dec_flt_ref stereo 48 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.192 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.flt.wav
wav-diff --no-fail --print-ctest-measurement out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.flt.wav out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.fx.wav
Mono output:
./IVAS_dec_fx mono 48 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.192 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.mono.fx.wav
./IVAS_dec_flt_ref mono 48 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.192 out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.mono.flt.wav
wav-diff --no-fail --print-ctest-measurement out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.mono.flt.wav out/stereo-noisy_speech-p800-1-cat5-lab_a--stereo-noisy_speech-p800-1-cat5-lab_a-20ms_aligned_files_concatenated--256000.clean.dec.mono.fx.wav