2023-12-20 13:00:00 +01:00
<!-- www.ecodis.de/exhale/release.htm - created by Christian R. Helmrich - Copyright (c) 2018 - 2024 Christian R. Helmrich, project ecodis. All rights reserved. -->
2020-01-02 02:05:09 +01:00
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< link rel = "stylesheet" type = "text/css" href = "styles.css" >
< meta http-equiv = "content-type" content = "text/html; charset=ISO-8859-1" >
< meta name = "author" content = "Dr.-Ing. Christian R. Helmrich" >
< meta name = "description" content = "exhale Software Release Notes" >
< meta name = "keywords" content = "audio, data compression, perceptual coding, subjective evaluation, video" >
< title > ecodis :: exhale :: Release Notes< / title >
< / head >
< body >
< table align = "center" cellpadding = "0" cellspacing = "0" >
< colgroup >
< col width = "2" >
< col width = "60" >
< col width = "595" >
< col width = "60" >
< col width = "2" >
< / colgroup >
< tr >
< td colspan = "2" > < / td >
< td valign = "top" >
< h1 > < br > < span class = "pink" > exhale< / span > - < span class = "pink" > e< / span > codis e< span class = "pink" > x< / span > tended < span class = "pink" > h< / span > igh-efficiency < span class = "pink" > a< / span > nd < span class = "pink" > l< / span > ow-complexity < span class = "pink" > e< / span > ncoder< br > < span class = "gray" > < sup > < br > Software Release Notes, Version History, Known Issues, Upcoming Feature Roadmap< / sup > < / span > < br > < br > < / h1 >
2023-12-21 17:00:00 +01:00
< h3 > The version of this distribution of the « exhale» software release is < b > 1.2.1< / b > (official pub­ lic minor release) from December 2023. Please check < a href = "http://www.ecodis.de/audio.htm#mpeg" > www.ecodis.de< / a > 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.< / h3 >
2020-01-02 02:05:09 +01:00
< h3 > < br > < b > Chronological Version History< / b > < / h3 >
2023-12-20 13:00:00 +01:00
< h3 > Version < b > 1.2.1 < span class = "gray" > Dec. 2023, this release< / span > < / b > < / h3 >
< ul >
< li > < h3 > exhaleApp: always determine MPEG-4 instantaneous bit-rate across 2048 samples< / h3 > < / li >
< li > < h3 > exhaleLib: added code for MSE optimized encoding (for tests, disabled by default)< / h3 > < / li >
< li > < h3 > exhaleLib: code cleanup in quantization.*, increase max. IPF AU size to 10 kbit/ch< / h3 > < / li >
< li > < h3 > exhaleLib: fix two rare high-rate quality issues (only affects CVBR modes above 5)< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.2.0 < span class = "gray" > Dec. 2022< / span > < / b > < / h3 >
2022-10-23 19:00:00 +02:00
< ul >
< li > < h3 > C API correction, some code sanitizing (issue 24, merge requests 8– 11, J. Regan)< / h3 > < / li >
< li > < h3 > exhaleLib: code cleanup, very minor quality improvements in CVBR modes f and 5< / h3 > < / li >
< li > < h3 > exhaleLib: 5% speedup of all modes, better target rate matching in CVBR mode g< / h3 > < / li >
2022-11-29 12:00:00 +01:00
< li > < h3 > exhaleLib: work around MinGW compilation hickup (issue 26; thanks, C. Degawa!)< / h3 > < / li >
2022-10-23 19:00:00 +02:00
< / ul >
< h3 > Version < b > 1.1.9 < span class = "gray" > Dec. 2021< / span > < / b > < / h3 >
2021-12-17 11:00:00 +01:00
< ul >
< li > < h3 > exhaleApp: write encoder name and version as « udta» tool string into MP4 header< / h3 > < / li >
< li > < h3 > exhaleApp: optimize leading and trailing PCM read for gapless playback (issue 21)< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.8 < span class = "gray" > Oct. 2021< / span > < / b > < / h3 >
2021-10-27 10:00:00 +02:00
< ul >
< li > < h3 > some final code cleanup, small code corrections and editorial changes for this year< / h3 > < / li >
< li > < h3 > exhaleLib: minor stereo quality tuning for low rates, optional CBR mode via macro< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.7 < span class = "gray" > Aug. 2021< / span > < / b > < / h3 >
2021-08-30 09:00:00 +02:00
< ul >
< li > < h3 > minor tuning at low SBR rates, enabled SBR coding at 22050 Hz input sample rate< / h3 > < / li >
< li > < h3 > exhaleApp: added expert modes for loudness leveling, custom Intra frame interval< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.6 < span class = "gray" > May 2021< / span > < / b > < / h3 >
2021-05-22 18:00:00 +02:00
< ul >
< li > < h3 > minor quality tuning and support for delayless operation (media time=0) with SBR< / h3 > < / li >
< li > < h3 > exhaleApp: fixed very rare output file corruption after finishing encoding with SBR< / h3 > < / li >
< li > < h3 > exhaleApp: fixed compilation error under Fedora (issue 20) and stdin hickup issue< / h3 > < / li >
< li > < h3 > exhaleLib: fixed some quality issues in SBR modes, no changes in non-SBR modes< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.5 < span class = "gray" > Apr. 2021< / span > < / b > < / h3 >
2021-04-24 11:00:00 +02:00
< ul >
< li > < h3 > exhaleApp: correct print-out of Unicode file names and paths, minor code cleanup< / h3 > < / li >
< li > < h3 > exhaleLib: minor tuning of immediate playout frames, no changes to audio quality< / h3 > < / li >
< li > < h3 > makefile: support for compilation of Universal 2 binaries on MacOS™ (C. Snowhill)< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.4 < span class = "gray" > Mar. 2021< / span > < / b > < / h3 >
2021-03-12 22:00:00 +01:00
< ul >
< li > < h3 > exhaleApp: removed LUFS/dBFS command arguments again, code now automatic< / h3 > < / li >
2021-03-27 01:00:00 +01:00
< li > < h3 > exhaleApp: consider the working instead of application path if no path is specified< / h3 > < / li >
2021-03-22 01:00:00 +01:00
< li > < h3 > exhaleLib: reduce enc. delay to closest integer multiple of frame length (issue 15)< / h3 > < / li >
2021-03-12 22:00:00 +01:00
< li > < h3 > exhaleLib: very minor tuning of transient coding especially on male speech signals< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.3 < span class = "gray" > Feb. 2021< / span > < / b > < / h3 >
2021-02-28 19:00:03 +01:00
< ul >
< li > < h3 > exhaleApp: allow specifying loudness (LUFS) and peak sample (dBFS) after preset< / h3 > < / li >
< li > < h3 > exhaleLib: write UsacConfig in immediate playout frames (increases compatibility)< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.2 < span class = "gray" > Jan. 2021< / span > < / b > < / h3 >
2021-01-24 01:00:00 +01:00
< ul >
< li > < h3 > further improved file interoperability and seekability with some playback software< / h3 > < / li >
< li > < h3 > exhaleLib: write all frames in « stss» data as immediate playout frames (issue 15)< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.1 < span class = "gray" > Dec. 2020< / span > < / b > < / h3 >
2020-12-29 22:00:00 +01:00
< ul >
< li > < h3 > slightly improved audio quality with SBR, better compatibility with some decoders< / h3 > < / li >
< li > < h3 > exhaleLib: increased frequency resolution of coded SBR envelopes, minor cleanup< / h3 > < / li >
< li > < h3 > exhaleLib: workaround for time differential coding bug in some xHE-AAC decoders< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.1.0 < span class = "gray" > Nov. 2020< / span > < / b > < / h3 >
2020-11-20 22:00:00 +01:00
< ul >
< li > < h3 > addition of basic SBR functionality for lower-rate coding down to 18 kbps/channel< / h3 > < / li >
< li > < h3 > exhaleApp: add support for CVBR modes a— g for encoding with SBR functionality< / h3 > < / li >
< li > < h3 > exhaleApp: show « ARM» in header and '-v' command on corresponding platforms< / h3 > < / li >
< li > < h3 > exhaleLib: basic 2:1 SBR encoding with ccfl = 2048, minor fixes and code cleanup< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.0.8 < span class = "gray" > Oct. 2020< / span > < / b > < / h3 >
2020-10-23 10:00:00 +02:00
< ul >
< li > < h3 > minor quality improvements at low and high rates, some license text clarifications< / h3 > < / li >
< li > < h3 > exhaleApp: slightly improved loudness calculation for low and high sampling rates< / h3 > < / li >
< li > < h3 > exhaleLib: improved audio quality a bit for the lower and higher-rate CVBR modes< / h3 > < / li >
< li > < h3 > License: removed references to BSD text, clarified disclaimer and contributor text< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.0.7 < span class = "gray" > Aug. 2020< / span > < / b > < / h3 >
2020-08-18 01:00:00 +02:00
< ul >
< li > < h3 > minor bugfixes in bit-rate control and higher-rate coding at 32 kHz sampling rate< / h3 > < / li >
2020-08-25 01:00:00 +02:00
< li > < h3 > exhaleApp: add support for CVBR mode 0 at codec sampling rates below 44.1 kHz< / h3 > < / li >
2020-08-18 01:00:00 +02:00
< li > < h3 > exhaleApp: write complete MP4 « stss» data for improved compatibility (issue 13)< / h3 > < / li >
2020-08-28 22:00:00 +02:00
< li > < h3 > exhaleApp: higher accuracy of loudness estimation, better BS.1770-4 compliance< / h3 > < / li >
2020-08-18 01:00:00 +02:00
< / ul >
< h3 > Version < b > 1.0.6 < span class = "gray" > July 2020< / span > < / b > < / h3 >
2020-07-25 14:00:14 +02:00
< ul >
< li > < h3 > bugfixes, improved quality on some transient signals, better decoder compatibility< / h3 > < / li >
< li > < h3 > exhaleApp: support for Extensible WAVE format, write MP4 « prol» data (issue 10)< / h3 > < / li >
< li > < h3 > exhaleApp: automatic downsampling of 48-kHz input to 32 kHz for CVBR mode 1< / h3 > < / li >
< li > < h3 > exhaleLib: fine-tuning of psychoacoustic model for difficult transient input signals< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.0.5 < span class = "gray" > June 2020< / span > < / b > < / h3 >
2020-06-16 01:00:12 +02:00
< ul >
< li > < h3 > slightly reduced bit-rates with lower modes, better compatibility when using stdin< / h3 > < / li >
< li > < h3 > exhaleApp: support for Unicode text on Windows™ , 44100 Hz with CVBR mode 1< / h3 > < / li >
2020-06-27 00:00:02 +02:00
< li > < h3 > exhaleApp: automatic upsampling of low-sample-rate input, fixed reader (issue 9)< / h3 > < / li >
2020-06-16 01:00:12 +02:00
< li > < h3 > exhaleLib: optimized noise filling tool for slightly lower bit-rates at CVBR mode < 4< / h3 > < / li >
2020-06-25 00:00:11 +02:00
< li > < h3 > compilation: exhaleApp.exe -> exhale.exe (issue 8), support for Arm™ , C header< / h3 > < / li >
2020-06-16 01:00:12 +02:00
< / ul >
< h3 > Version < b > 1.0.4 < span class = "gray" > May 2020< / span > < / b > < / h3 >
2020-05-30 00:00:07 +02:00
< ul >
< li > < h3 > finalized basic joint-stereo and TNS coding functionality, quality and stability fixes< / h3 > < / li >
< li > < h3 > exhaleApp: support for 32000 Hz with CVBR mode 1, added '-v' version command< / h3 > < / li >
< li > < h3 > exhaleLib: completed audio quality fine-tuning for very tonal and transient signals< / h3 > < / li >
< li > < h3 > compilation: support for MinGW (issue 5) and cmake (via CMakeList files, issue 6)< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.0.3 < span class = "gray" > Apr. 2020< / span > < / b > < / h3 >
2020-04-23 00:00:56 +02:00
< ul >
< li > < h3 > extended basic joint-stereo coding functionality for mid/high rates, minor bugfixes< / h3 > < / li >
2020-04-25 21:00:33 +02:00
< li > < h3 > exhaleLib: band adaptive joint-stereo coding for all CVBR modes, fixed rare crash< / h3 > < / li >
< li > < h3 > exhaleLib: audio quality fine-tuning, especially for very tonal and transient signals< / h3 > < / li >
2020-04-25 22:00:00 +02:00
< li > < h3 > makefile: -std=c++11 to allow for compilation with older versions of gcc (issue 4)< / h3 > < / li >
2020-04-23 00:00:56 +02:00
< / ul >
< h3 > Version < b > 1.0.2 < span class = "gray" > Mar. 2020< / span > < / b > < / h3 >
2020-03-31 20:00:00 +02:00
< ul >
< li > < h3 > added basic low/mid-rate joint-stereo coding functionality, bugfixes, and speedups< / h3 > < / li >
< li > < h3 > exhaleApp: support for input sampling rates of up to 48000 Hz with CVBR mode 2< / h3 > < / li >
< li > < h3 > exhaleLib: frame adaptive joint-stereo preprocessing and coding (CVBR mode < 5)< / h3 > < / li >
< li > < h3 > exhaleLib: accelerated R/D opt. coding, stability and quality fixes (issues 2 and 3)< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.0.1 < span class = "gray" > Feb. 2020< / span > < / b > < / h3 >
2020-02-28 14:00:37 +01:00
< ul >
< li > < h3 > improved low-bitrate coding efficiency and support for MPEG-D loudness metadata< / h3 > < / li >
< li > < h3 > exhaleApp: increased MP4 file versatility (issue 1) and calculation of loudness info< / h3 > < / li >
< li > < h3 > exhaleLib: backward compatible API extension to support writing of loudness info< / h3 > < / li >
< li > < h3 > exhaleLib: extended R/D optimized coding, improved short-transform quantization< / h3 > < / li >
< / ul >
< h3 > Version < b > 1.0.0 < span class = "gray" > Jan. 2020< / span > < / b > < / h3 >
2020-01-02 02:05:09 +01:00
< ul >
< li > < h3 > compilation fixes and executable printout changes for Linux and MacOS™ platform< / h3 > < / li >
2020-01-23 21:00:39 +01:00
< li > < h3 > exhaleApp: fixed reading of WAVE files including metadata after the « data» chunk< / h3 > < / li >
< li > < h3 > exhaleLib: some tuning of transform and noise level detection for transient signals< / h3 > < / li >
2020-01-26 16:00:49 +01:00
< li > < h3 > exhaleLib: support for export as DLL on Microsoft Windows™ (not tested, though)< / h3 > < / li >
2020-01-02 02:05:09 +01:00
< / ul >
< h3 > Version < b > 1.0RC < span class = "gray" > Dec. 2019< / span > < / b > < / h3 >
< ul >
< li > < h3 > initial release for testing with only basic channel-independent coding functionality< / h3 > < / li >
< li > < h3 > only support for Microsoft Windows™ (32-bit and 64-bit) platform provided so far.< / h3 > < / li >
< / ul >
< h3 > < br > < b > Known Issues with This Release< / b > < / h3 >
< h3 > If you notice an issue with this release < b > not< / b > mentioned below, please contact ecodis or a contributor with the details (configuration, input file) needed to reproduce the issue.< / h3 >
< ul >
2020-08-18 01:00:00 +02:00
< li > < h3 > 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.< / h3 > < / li >
2020-07-25 14:00:14 +02:00
< li > < h3 > 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 < a href = "https://www.itu.int/rec/R-REC-BS.2088/en" > BS.2088< / a > (RF64, Broadcast WAVE) files are not supported.< / h3 > < / li >
2020-01-02 02:05:09 +01:00
< / ul >
< h3 > < br > < b > Roadmap of Upcoming Features< / b > < / h3 >
< h3 > If you are in need of an additional library or application feature < b > not< / b > mentioned below, please contact ecodis or a contributor with a request, and we will see what we can do.< / h3 >
< ul >
2020-08-25 01:00:00 +02:00
< li > < h3 > exhaleLib: finalization of support for 5.1– 7.1 multichannel coding, no version plan< / h3 > < / li >
2020-05-30 00:00:07 +02:00
< li > < h3 > exhaleLib: speed-ups and further quality tuning for difficult signals, as necessary.< / h3 > < / li >
2020-01-02 02:05:09 +01:00
< / ul >
< h3 > < br > < / h3 >
2023-12-20 13:00:00 +01:00
< h4 > < span class = "gray" > Written by C. R. Helmrich for exhale 1.2.1, Dec. 2023. Available at www.ecodis.de/exhale/release.htm.< / span > < br > < br > < / h4 >
2020-01-02 02:05:09 +01:00
< / td >
< td valign = "top" colspan = "2" >
< p > < br > < img src = "../src/app/exhaleApp.ico" alt = "exhale" title = "exhale" height = "48" width = "48" > < / p >
< / td >
< / tr >
< / table >
< p > < / p >
< / body >
< / html >