[non-be][split-non-be] Revert to (quantized) float ROM tables for binaural renderers, keep 16bit binary file format
- Related issues: #1123 (closed), #1147 (closed)
- Requested reviewers: @pihlajakuja, @vaclav, @emerit, @kiene, @kinuthia
Reason why this change is needed
- After changing completely to 16bit ROM tables, a RAM and complexity increase was observed due to the memory and complexity cost of loading the values into the original float representation
Description of the change
This merge request contains quantized float values in ROM. See !1714 (closed) for the parallel merge request.
- Defines have been modified/deactivated in such a way that:
- FLOAT values are stored in ROM*
- FIXED values are used for the HRTF binary file format (and will incur the complexity and RAM cost above for loading)
- Matlab scripts have been updated to generate the above and allow for 3 options for ROM tables:
- Floating point ROM (full precision/unquantized)
- Floating point ROM (reduced precision/quantized to FX precision)
- Fixed point ROM
- Option 1 should be BE with "old main" prior to the file format update.
- Option 2 should be BE between the FX and FLT representations.
- Option 3 is intended for use with the BASOP implementation.
Currently CREND only supports options 2 and 3, work is in progress to re-enable option 1. Done in db3de200
Description of options.h switch behaviour with state
-
FIX_POINT_HRTF_FILE_FORMAT
: Original switch for the FX HRTF binary format for all renderers. This is the new standard going forward. -
FIX_1123_CREND_16BIT_ROM
: Use fixed point ROM tables for CREND1 -
FIX_1123_CREND_16BIT_FMT: Enable reading FX HRTF binary file for CREND -
FIX_1123_CREND_FLTFX_BE: Reduce precision of CREND ROM tables to match FX binary file -
FIX_1123_TDREN_16BIT_ROM: Use fixed point ROM tables for TD Object renderer1 -
FIX_1123_FASTCONV_16BIT_ROM: Use fixed point ROM tables for FastConv renderer1 -
FIX_1123_FASTCONV_16BIT_FMT: Enable reading FX HRTF binary file for FastConv -
FIX_1123_PARAMBIN_16BIT_ROM: Use fixed point ROM tables for ParamBin renderer1
1 causes increased RAM and init complexity for float code
Affected operating points
- Binaural Rendering with all renderers
Edited by Archit Tamarapu