Skip to content

Clarify IVAS_MAX_OUTPUT_CHANNELS

The macros IVAS_MAX_INPUT_CHANNELS and IVAS_MAX_OUTPUT_CHANNELS is defined in common_api_types.h as follows:

#define IVAS_MAX_INPUT_CHANNELS 16 
#define IVAS_MAX_OUTPUT_CHANNELS 16 /* Note: there is an exception for OSBA and EXT otuput where it can be 20 (HOA3 + 4 ISM channels) */

It would be good to clarify its use and its value. See also !2077 (comment 70285):

Long-term, it would be good to either:

  • Make IVAS_MAX_OUTPUT_CHANNELS consistent with the actual maximum number of output channels

or

  • Remove it entirely. The decoder app does not use this constant at all and instead uses IVAS_DEC_GetOutputBufferSize. The renderer app could perhaps do the same.

For now I wouldn't want to block this MR because of this.

The same applies to IVAS_MAX_INPUT_CHANNELS which similarly does not match the actual number of codec input channels.

Edited by vaclav