Skip to content

EFAP Polygon selection bug

After some internal testing, an issue with polygon selection during EFAP panning was discovered, resulting in incorrect panning gains for certain cases. A related fix (EFAP_FIX_MATH) was already present on the External Renderer branch but this fix addresses both issues.

The change is non-bitexact and there is a slight complexity increase for operating points using EFAP. It is possible that the C-code output is still bitexact since the above mentioned FIX_EFAP_MATH bug masks this issue, however the python renderer output will change.

The worst case should be when computing the ALLRAD ambisonics to loudspeaker conversion matrix (70 calls to EFAP panning). As can be observed for the ParamISM case below, for single function calls the impact is very low.

  • ParamISM4 to 7.1+4: +0.033 WMOPs / +0.02%
  • FOA to 5.1 ALLRAD: +4.231 WMOPs / +1.5%
  • HOA3 to 7.1+4 ALLRAD: +8.427 WMOPs / +1.6%