Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decoding MPEG-H without audio scene information (MAE) does not work #94

Open
benjamin-weiss opened this issue Sep 3, 2024 · 1 comment

Comments

@benjamin-weiss
Copy link
Contributor

There are certain MPEG-H files that cannot be decoded properly with Ittiam decoder, libmpegh constantly spouting IA_MPEGH_DEC_INIT_FATAL_INVALID_MCT_ENTRIES error.

Unfortunately we cannot share the files but here is the description of what happens (and hopefully you can reproduce it locally by disabling parsing MAE data):

  • the first frame initialises everything properly
  • next frame causes internal state reset in impegh_3daudio_config_dec() because of missing audio scene description (by invoking memset(mpeghd_state_struct->ia_audio_specific_config, 0, sizeof(ia_audio_specific_config_struct));) ;
  • afterwards most of the data gets re-initialised but MCT part in USAC core decoder does not (it is done in impeghd_mc_init() which is called only in ia_core_coder_dec_process_frame_zero() and not for e.g. second frame);
  • so when MCT data in USAC is being decoded, the decoder presumes it has zero channels and refuses to decode non-silent data returning the aforementioned error code;
  • because of that decoder is fully reset and re-initialised and the cycle repeats.

We can see two possible solutions for this situation: either omit resetting USAC state in that case, zeroing only selected fields of mpeghd_state_struct->ia_audio_specific_config or re-initialise multichannel information as part of the reset procedure.

@SakethSathuvalli
Copy link
Member

Hi @benjamin-weiss, We are working(internally) on some fixes in the MAE handling part. We hope this issue gets addressed with those fixes.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants