Skip to content

Add floating-point interface to libraries

Follow-up to #236, related to #243 (closed).

This issue intends to discuss the introduction of float audio interface to IVAS libraries lib_[enc,dec,rend] which will co-exist with the currently available int16_t interface.

Most important benefit: makes floating-point implementation a better model of fixed-point implementation by using the same type for both internal and exernal representation of audio signals. int-to-float and float-to-int conversion buffers are no longer necessary in floating-point implementation, which will also the case in fixed-point.

The following benefits also apply in the context of IVAS being integrated into software that uses floating-point representation for audio signals:

  1. No unnecessary float-to-int and/or int-to-float conversions when audio is passed to/from the library. See this comment for details.
  2. Internal audio buffers discussed in #243 (closed) don't have to be additionally allocated. Instead, pointers to existing buffers can be passed to the library, saving significant amounts of memory usage.
  3. Higher dynamic range of audio I/O. Also allows to check coding robustness at various input gains.
  4. Limiter and saturation handling are no longer strictly necessary within the library, which gives the opportunity to save complexity.