Obj editing issue: negative energy estimation used for gaining
Overview
With some editing inputs and input files, the estimated totalTargetEneCh[ch]
used for estimating the applied gains may exceed the estimated original channel energies in ivas_omasa_preProcessStereoTransportsForEditedObjects()
. This causes further incorrect output gaining behavior (e.g., amplification with g<1
gain editing input).
Ways to reproduce
./IVAS_enc -ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met 96000 48
testv/stvOMASA_4ISM_2MASA2TC48c.wav
bit
./IVAS_dec -obj_edit NULL BINAURAL 48 bit out.wav
Editing input can be enabled by modifying do_object_editing()
function in apps/decoder.c
to use following input:
editableParameters->ism_metadata[0].azimuth = -90;
editableParameters->ism_metadata[1].azimuth = -90;
editableParameters->ism_metadata[2].azimuth = -90;
editableParameters->ism_metadata[3].azimuth = -90;
editableParameters->ism_metadata[0].gain = 0.5;
editableParameters->ism_metadata[1].gain = 0.5;
editableParameters->ism_metadata[2].gain = 0.5;
editableParameters->ism_metadata[3].gain = 0.5;
editableParameters->gain_bed = 0.5;