Skip to content

Resolve "Complete MASA external renderer implementation"

Reason why this change is needed

  • The current version of the external renderer for MASA uses the old approach of dummy decoder which has several problems for MASA external rendering
    1. Very hacky implementation due to having to init and fill many variables that are not necessary. This is also prone to errors.
    2. Not possible to support 1TC MASA due to dependencies to core coding structures
    3. Binaural reverb was not supported either
    4. 5 ms mode was not working correctly
  • Notable is that dummy decoder is currently used only by MASA ext renderer. Thus, removing it would be good.

Description of the change

  • This MR rewrites MASA ext renderer to not use dummy decoder and also fixes various other things related to MASA external rendering
  • The approach is to have separate main rendering functions for DirAC renderer and parametric binaural renderer that are specifically tuned for the purpose of MASA ext rendering. This allows the added code to be limited.
  • There is also some additional refactoring within spatial parametric rendering as some parts were not properly handled within MR !810 (merged)

Affected operating points

  • This affects only external renderer, thus decoder output & bitstream should be BE
  • This affects only external renderer with MASA input but basically all outputs (except MASA output) are affected
  • The output for modes that were working correctly before (MASA 2TC 20 ms to BINAURAL, LS, FOA/HOA, STEREO, MONO) should be BE to main, including split rendering output when enabled
  • The same outputs using 5 ms framing (now implemented) should also be BE to the 20 ms versions when 5 ms is supported
  • Working BINAURAL_ROOM_IR output is added, BINAURAL_ROOM_REVERB and related room acoustics control are still missing and pend on Philips at least partially
  • MASA 1TC input support is added for all working outputs

Related to #225

Edited by Tapani Pihlajakuja

Merge request reports

Loading