possibly buggy diffuseness estimation in merged SBA system
Basic info
- Commit SHA: f1badaee
- Platform: all
Bug description
In the function computeReferencePower_en, the reference power is overwritten when in SPAR mode:
if ( sba_mode == SBA_MODE_SPAR )
{
for ( i = 0; i < num_freq_bands; i++ )
{
reference_power[i] = max( reference_power[i], reference_power_W[i] );
}
}
However, this also affects the DirAC parameter estimation. This leads to a strong overestimation of the diffuseness in some items and possibly other problems.
The first plot shows the diffuseness for different sectors (taken from the upcoming HO-DirAC branch) and the global diffuseness from the current estimator. With the current baseline, the global diffuseness (black line) is strongly overestimated. Sector 0 should basically be the same as the global diffuseness.
This is resolved when the above code block is disabled
It would be the easiest solution to keep this code disabled, but this may have other effects on SPAR.
@tyagiri, @sbrow, it would be good if you could check whether this code is really necessary.
If SPAR really needs it, it should be moved to somewhere after the DirAC parameter estimation.