If I understand your comment correctly libmpegh may in case of LC4 and CompatibleProfileLevelSet() flag revert to BP3 and in that case in code check vs MAX_NUM_CHANNELS(24) will be used instead and the stream may potentially play.
case MPEGH_PROFILE_LC_LVL_3:
if (dec_proc_core_chans > MAX_NUM_CHANNELS || ref_layout_chans > MAX_NUM_CHANNELS ||
However since this is decoder internals I assume the patch would have to be done to the libmpegh as AFAIK there is no way to produce this behavior just by using the decoder API.
thank you for your insightful comment.
Based on my understanding if LC4 is used by stream, this check in
decoder/ia_core_coder_init_config.c
will fail:because
Hence why we were not able to decode the stream.
If I understand your comment correctly libmpegh may in case of LC4 and CompatibleProfileLevelSet() flag revert to BP3 and in that case in code check vs MAX_NUM_CHANNELS(24) will be used instead and the stream may potentially play.
However since this is decoder internals I assume the patch would have to be done to the libmpegh as AFAIK there is no way to produce this behavior just by using the decoder API.
Adam
Originally posted by @miartad in https://github.com/ittiam-systems/libmpegh/issues/49#issuecomment-1470087273