Skip to content

memory optimization: EFAP handle in ISM decoder

The memory of the EFAP handle in the discrete ISM decoder seems to be only party used.

E.g. for 4ISM, 64 kbps, BINAURAL_ROOM_IR output, there is

efap_init_data() 215 malloc sizeof( EFAP ) 3544 bytes 40%

while for 5.1 LS output

efap_init_data() 215 malloc sizeof( EFAP ) 3544 bytes 20%

or for 7.14 LS output

efap_init_data() 215 malloc sizeof( EFAP ) 3544 bytes 40%

To get the numbers, the framework must be instrumented by the WMC tool and MEM_COUNT_DETAILS activated in options.h.

Moreover, for stereo output, the buffer efap->bufferShort seems to be unused:

efap_init_data() 237 malloc num_speaker_nodes * sizeof( float ) 8 bytes 0%

and

efap_init_data() 265 malloc efap->vtxData.numVtx * sizeof( float ) 20 bytes 0%

Edited by vaclav