Skip to content

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