hDirAC_mem handle in SBA output to MC or binaural
Parts of hDirAC_mem
handle are allocated but never used at some MC decoder operating points. E.g. for 7.1.4 at 512 kbps, the consumption is as follows:
- ivas_dirac_alloc_m 1229 m:sizeof( float ) * 2 * 4 * num_outp - 0% 1x5280 5280
hDirAC_mem->proto_diffuse_buffer_f = (float *) malloc_( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * num_outputs_diff * num_freq_bands );
- ivas_dirac_alloc_m 1245 m:sizeof( float ) * num_outputs_diff - 0% 1x660 660
hDirAC_mem->onset_filter = (float *) malloc_( sizeof( float ) * num_outputs_diff * num_freq_bands );
This is a follow-up of #123 (closed) and the issue can be seen when the code is instrumented with the WMC tool and MEM_COUNT_DETAILS
is activated.
Also, for binaural decoder 80 kbps, the following is reported:
ivas_dirac_alloc_m 1184 m:sizeof( float ) * size - 100% 1x120 120
ivas_dirac_alloc_m 1186 m:sizeof( float ) * size - 100% 1x120 120
ivas_dirac_alloc_m 1188 m:sizeof( float ) * size - 100% 1x120 120
ivas_dirac_alloc_m 1190 m:sizeof( float ) * size - 100% 1x120 120
ivas_dirac_alloc_m 1193 m:sizeof( float ) * 2 * num_outputs_ - 0% 1x240 240
ivas_dirac_alloc_m 1201 m:sizeof( float ) * size - 100% 1x120 120
ivas_dirac_alloc_m 1205 m:sizeof( float ) * size - 100% 1x120 120
ivas_dirac_alloc_m 1217 m:sizeof( float ) * size - 100% 1x120 120
ivas_dirac_alloc_m 1222 m:sizeof( float ) * 2 * 4 * num_prot - 0% 1x960 960
ivas_dirac_alloc_m 1229 m:sizeof( float ) * 2 * 4 * num_outp - 0% 1x960 960
ivas_dirac_alloc_m 1235 m:sizeof( float ) * num_freq_bands - 0% 1x60 60
ivas_dirac_alloc_m 1236 m:sizeof( float ) * num_freq_bands - 0% 1x60 60
ivas_dirac_alloc_m 1244 m:sizeof( float ) * 2 * num_freq_ban - 0% 1x120 120
ivas_dirac_alloc_m 1245 m:sizeof( float ) * num_outputs_diff - 0% 1x120 120
ivas_dirac_dec_con 231 m:sizeof( DIRAC_DEC_DATA ) - 9% 1x2241 2241
Edited by vaclav