exhale - ecodis extended high-efficiency and low-complexity encoder

Software Release Notes, Version History, Known Issues, Upcoming Feature Roadmap


   The version of this distribution of the «exhale» software release is 1.0.7 (official pub­lic minor release) from August 2020. Please check www.ecodis.de regularly for new versions of this software. A summary of each version up to this release, a list of known issues with this release, and a roadmap of additional functionality are provided below.


Chronological Version History

   Version 1.0.7  Aug. 2020, this release

  • minor bugfixes in bit-rate control and higher-rate coding at 32 kHz sampling rate

  • exhaleApp: add support for CVBR mode 0 at codec sampling rates below 44.1 kHz

  • exhaleApp: write complete MP4 «stss» data for improved compatibility (issue 13)

  • exhaleApp: higher accuracy of loudness estimation, better BS.1770-4 compliance

   Version 1.0.6  July 2020

  • bugfixes, improved quality on some transient signals, better decoder compatibility

  • exhaleApp: support for Extensible WAVE format, write MP4 «prol» data (issue 10)

  • exhaleApp: automatic downsampling of 48-kHz input to 32 kHz for CVBR mode 1

  • exhaleLib: fine-tuning of psychoacoustic model for difficult transient input signals

   Version 1.0.5  June 2020

  • slightly reduced bit-rates with lower modes, better compatibility when using stdin

  • exhaleApp: support for Unicode text on Windows™, 44100 Hz with CVBR mode 1

  • exhaleApp: automatic upsampling of low-sample-rate input, fixed reader (issue 9)

  • exhaleLib: optimized noise filling tool for slightly lower bit-rates at CVBR mode <4

  • compilation: exhaleApp.exe -> exhale.exe (issue 8), support for Arm™, C header

   Version 1.0.4  May 2020

  • finalized basic joint-stereo and TNS coding functionality, quality and stability fixes

  • exhaleApp: support for 32000 Hz with CVBR mode 1, added '-v' version command

  • exhaleLib: completed audio quality fine-tuning for very tonal and transient signals

  • compilation: support for MinGW (issue 5) and cmake (via CMakeList files, issue 6)

   Version 1.0.3  Apr. 2020

  • extended basic joint-stereo coding functionality for mid/high rates, minor bugfixes

  • exhaleLib: band adaptive joint-stereo coding for all CVBR modes, fixed rare crash

  • exhaleLib: audio quality fine-tuning, especially for very tonal and transient signals

  • makefile: -std=c++11 to allow for compilation with older versions of gcc (issue 4)

   Version 1.0.2  Mar. 2020

  • added basic low/mid-rate joint-stereo coding functionality, bugfixes, and speedups

  • exhaleApp: support for input sampling rates of up to 48000 Hz with CVBR mode 2

  • exhaleLib: frame adaptive joint-stereo preprocessing and coding (CVBR mode <5)

  • exhaleLib: accelerated R/D opt. coding, stability and quality fixes (issues 2 and 3)

   Version 1.0.1  Feb. 2020

  • improved low-bitrate coding efficiency and support for MPEG-D loudness metadata

  • exhaleApp: increased MP4 file versatility (issue 1) and calculation of loudness info

  • exhaleLib: backward compatible API extension to support writing of loudness info

  • exhaleLib: extended R/D optimized coding, improved short-transform quantization

   Version 1.0.0  Jan. 2020

  • compilation fixes and executable printout changes for Linux and MacOS™ platform

  • exhaleApp: fixed reading of WAVE files including metadata after the «data» chunk

  • exhaleLib: some tuning of transform and noise level detection for transient signals

  • exhaleLib: support for export as DLL on Microsoft Windows™ (not tested, though)

   Version 1.0RC Dec. 2019

  • initial release for testing with only basic channel-independent coding functionality

  • only support for Microsoft Windows™ (32-bit and 64-bit) platform provided so far.


Known Issues with This Release

   If you notice an issue with this release not mentioned below, please contact ecodis or a contributor with the details (configuration, input file) needed to reproduce the issue.

  • exhaleApp: At the end of each encoding run, the MPEG-4 file header with seeking information is written to the beginning of the output file to maximize compatibility in audio streaming applications. Since such a file operation is not supported with pipe based output, encoding to stdout instead of files is currently not supported.

  • exhaleApp: Only basic WAVE input file reading functionality has been implemen­ted. Specifically, 8-bit WAVE input is assumed to contain an even number of audio samples, and ITU-R BS.2088 (RF64, Broadcast WAVE) files are not supported.


Roadmap of Upcoming Features

   If you are in need of an additional library or application feature not mentioned below, please contact ecodis or a contributor with a request, and we will see what we can do.

  • support for coding with a core coder frame length of 768 samples, no version plan

  • exhaleLib: complete integration of predictive joint-channel coding, no version plan

  • exhaleLib: finalization of support for 5.1–7.1 multichannel coding, no version plan

  • exhaleLib: speed-ups and further quality tuning for difficult signals, as necessary.


Written by C. R. Helmrich for exhale 1.0.7, August 2020. Available at www.ecodis.de/exhale/release.htm.