Help us keep the list up to date and submit new video software here.



Try DVDFab and copy all Ultra HD Blu-rays and DVDs / remove Cinavia protection! Download free trial !

Software Home »


Complete Version history / Release notes / Changelog for BS1770GAIN


2020-08-170.8.3
Introduces option --script=<script to run instead of muxing>.
On Windows <script to run instead of muxing> should be a "bat"-file otherwise a shell script, e.g.
root@root-pc MINGW32 ~/bs1770gain
# cat script.bat
@echo off
ffmpeg -hide_banner -loglevel panic -i %BS1770GAIN_SOURCE% -filter:a "volume=%BS1770GAIN_INTEGRATED_RELATIVE%dB" -y %BS1770GAIN_TARGET%

root@root-pc MINGW32 ~/bs1770gain
# cat script.sh
ffmpeg -hide_banner -loglevel panic -i ${BS1770GAIN_SOURCE} -filter:a "volume=${BS1770GAIN_INTEGRATED_RELATIVE}dB" -y ${BS1770GAIN_TARGET}

root@root-pc MINGW32 ~/bs1770gain
Please note that using "ffmpeg" is not mandatory. Here it serves as a mere example.
On Windows it is assumed that there is a command interpreter at "C:Windowssystem32cmd.exe" otherwise a shell interpreter at "/bin/sh".
The following environment variables are provided (as long as their calculation is required due to parameterization):
BS1770GAIN_SOURCE,
BS1770GAIN_TARGET,
BS1770GAIN_LU,
BS1770GAIN_LRA,
BS1770GAIN_OVERWRITE,
BS1770GAIN_NORM,
BS1770GAIN_TRACK_INTEGRATED aka BS1770GAIN_INTEGRATED,
BS1770GAIN_TRACK_INTEGRATED_RELATIVE aka BS1770GAIN_INTEGRATED_RELATIVE,
BS1770GAIN_TRACK_MOMENTARY_MEAN aka BS1770GAIN_MOMENTARY_MEAN,
BS1770GAIN_TRACK_MOMENTARY_MEAN_RELATIVE aka BS1770GAIN_MOMENTARY_MEAN_RELATIVE,
BS1770GAIN_TRACK_MOMENTARY_MAXIMUM aka BS1770GAIN_MOMENTARY_MAXIMUM,
BS1770GAIN_TRACK_MOMENTARY_MAXIMUM_RELATIVE aka BS1770GAIN_MOMENTARY_MAXIMUM_RELATIVE,
BS1770GAIN_TRACK_MOMENTARY_RANGE aka BS1770GAIN_MOMENTARY_RANGE,
BS1770GAIN_TRACK_SHORTTERM aka BS1770GAIN_SHORTTERM,
BS1770GAIN_TRACK_SHORTTERM_RELATIVE aka BS1770GAIN_SHORTTERM_RELATIVE,
BS1770GAIN_TRACK_SHORTTERM_MEAN aka BS1770GAIN_SHORTTERM_MEAN,
BS1770GAIN_TRACK_SHORTTERM_MEAN_RELATIVE aka BS1770GAIN_SHORTTERM_MEAN_RELATIVE,
BS1770GAIN_TRACK_SHORTTERM_MAXIMUM aka BS1770GAIN_SHORTTERM_MAXIMUM,
BS1770GAIN_TRACK_SHORTTERM_MAXIMUM_RELATIVE aka BS1770GAIN_SHORTTERM_MAXIMUM_RELATIVE,
BS1770GAIN_TRACK_SHORTTERM_RANGE aka BS1770GAIN_SHORTTERM_RANGE,
BS1770GAIN_TRACK_SAMPLEPEAK_ABSOLUTE aka BS1770GAIN_SAMPLEPEAK_ABSOLUTE,
BS1770GAIN_TRACK_SAMPLEPEAK_RELATIVE aka BS1770GAIN_SAMPLEPEAK_RELATIVE,
BS1770GAIN_TRACK_TRUEPEAK_ABSOLUTE aka BS1770GAIN_TRUEPEAK_ABSOLUTE,
BS1770GAIN_TRACK_TRUEPEAK_RELATIVE aka BS1770GAIN_TRUEPEAK_RELATIVE,
BS1770GAIN_ALBUM_INTEGRATED,
BS1770GAIN_ALBUM_INTEGRATED_RELATIVE,
BS1770GAIN_ALBUM_MOMENTARY_MEAN,
BS1770GAIN_ALBUM_MOMENTARY_MEAN_RELATIVE,
BS1770GAIN_ALBUM_MOMENTARY_MAXIMUM,
BS1770GAIN_ALBUM_MOMENTARY_MAXIMUM_RELATIVE,
BS1770GAIN_ALBUM_MOMENTARY_RANGE,
BS1770GAIN_ALBUM_SHORTTERM,
BS1770GAIN_ALBUM_SHORTTERM_RELATIVE,
BS1770GAIN_ALBUM_SHORTTERM_MEAN,
BS1770GAIN_ALBUM_SHORTTERM_MEAN_RELATIVE,
BS1770GAIN_ALBUM_SHORTTERM_MAXIMUM,
BS1770GAIN_ALBUM_SHORTTERM_MAXIMUM_RELATIVE,
BS1770GAIN_ALBUM_SHORTTERM_RANGE,
BS1770GAIN_ALBUM_SAMPLEPEAK_ABSOLUTE,
BS1770GAIN_ALBUM_SAMPLEPEAK_RELATIVE,
BS1770GAIN_ALBUM_TRUEPEAK_ABSOLUTE, and
BS1770GAIN_ALBUM_TRUEPEAK_RELATIVE.
Option --script might be combined with option --threads, i.e. executing the script in parallel should be possible.
Introduces option --shell=<path to interpreter>. The interpreter is assumed to provide an option "-c" for executing scripts and to require POSIX path conventions.
Option --shell might come in handy especially when you’re on Windows, using "msys2" and not very comfortable with the capabilties of "bat"-files and their syntax. Then you might prefer e.g.
bs1770gain <path to input> -o <path to output directory> --script=./script.sh --shell=/bin/sh.exe
or respectively from the Windows "cmd"-box
bs1770gain <path to input> -o <path to output directory> --script=%cd%script.sh --shell=<path to msys2 installation>usrbinsh.exe
Please note that a full path to the script as well as to the shell is required.
Fixes an issue with remuxing Alexis pointed us to and which might have been occurred under certain circumstances. Thanks a lot Alexis!


2020-07-26 0.8.2
This is a maintenence release affecting mostly the Windows builds:
Introduces the (not very useful) option --skip-scan.
Fixes a long standing bug on Windows regarding options --file=<file name>/--utf-8=<file name>/--utf-16=<file name>.
With the Windows-console, we had best experiences when setting it up to display narrow (8 bit) characters while just writing wide (16 bit) characters to it. In order to achieve this the whole program had to be transformed (re-factured.) Anyway, with German OEM installed we still don’t know wether it is even possible to write say kyrillic letters to the Windows-console.
Fixes an issue on Windows which had already been slipped through some time ago, i.e. under certain circumstances option -a/--apply was not working any longer.
Fixes some minor glitches we came across.
2020-07-28: The MacOS binary release is available from AdRY's Sourceforge project.

2020-07-10 0.8.1
Jointly with AdRY the following was achieved:
Re-structuring the build process in order to allow for bundeling third party shared objects with the application (as it was already usual with the Windows releases.)
Allow for dynamically loading shared objects on MacOS.
AdRY has created a project on Sourceforge for providing MacOS binary releases. The MacOS binary release will appear a few days deferred.
2020-07-14: The MacOS binary release is available from AdRY's Sourceforge project.
2020-06-240.8.0
This is a special pbelkner.de welcome edition (not to say: bye, bye Sourceforge.) Hence a minor version bump!
Alexis reported the issue that on his Mac with libpthread not being installed the configure script was broken. Such a set-up was resulting in a corrupt build. Thanks a lot Alexis for letting us know!
The options regarding parallel processing have been changed slightly. Now by default from time to time there’s some sparse printing indicating that the program is still working.
2020-05-290.7.0Essentially the same as 0.7.0-&#946;4.

2020-05-290.7.0Essentially the same as 0.7.0-&#946;4.
2020-05-110.7.0-&#946;4
Improved configuration w.r.t. pthreads.
Adapted source code respectively.
2020-05-060.7.0-&#946;3Fixed some synchronization issues.
2020-05-060.7.0-&#946;2
Hadrien was letting us know that he wants bs1770gain to have an option like --quiet supressing any output except error messages because he runs bs1770gain in conjunction with option --overwrite from a multithreaded environment.
This brought us to the idea to support multiple threads from within bs1770gain itself: option --threads=<number of threads> was born.
Currently option --threads=<number of threads> just makes sense when used in conjunction with options -o/--output or --overwrite and may result in a significant performance gain (it's meant for mass replay-gain tagging):
root@root-pc MINGW32 ~/bs1770gain
# rm -rf ./zz && bs1770gain /e/MEDIA/audio/classic/heart/1978_magazine/ --time --quiet -o ./zz
Duration: 39.477 sec.

root@root-pc MINGW32 ~/bs1770gain
# rm -rf ./zz && bs1770gain /e/MEDIA/audio/classic/heart/1978_magazine/ --time --threads=8 -o ./zz
Duration: 8.911 sec.

root@root-pc MINGW32 ~/bs1770gain
# _
Fixed a flaw with option -x rename.


2020-04-29 0.6.9
Hadrien had the idea that bs1770gain should offer an option like --quiet supressing any output except error messages. Here we go!


2020-04-29 0.6.8
Hadrien pointed us to the issue that under certain conditions option --overwrite was broken and was sending in a respective patch. Thanks a lot Hadrien!


2020-03-10 0.6.7
AdRY pointed us to an issue with 5.0/5.1 this release should fix. Thanks a lot AdRY!
Option --lfe was dropped because it was nothing other than a placebo.
Determinig the LFE channel is hard-wired following the description given at http://lists.xiph.org/pipermail//flac-dev/2013-January/003569.html, i.e. there's no LFE channel if there are less than six channels, otherwise the LFE channel is the fourth one (preceeded by FL, FR, and FC.)


2019-12-13 0.6.6
Austin pointed us to the issue that aggregation was broken. Thanks a lot Austin!


2019-10-03 0.6.5
Tobias pointed us to the issue that peak calcualion had an upper bound at some odd 1.000031 and in a lot of cases true peak calculation doesn't reproduced the values known from pre-0.6.0 even if lower then magic 1.000031. Thanks a lot Tobias!


2019-09-29 0.6.4
Removed some odd asymmetry from source code.
Should have no influence on user experience.


2019-09-20 0.6.3
For technical reasons the same as v0.6.2 (except some more minor improvements.)


2019-09-20 0.6.2
Essentially the same as v0.6.2-&#946;4 (except some minor code clean-up.)

2019-09-19 0.6.2-&#946;4
Unfortunately, the Invalid write bug was just fixed on the surface, i.e. it doesn't appear any longer just in the most simplest cases. Below the surface there was a deeper reason:
bs1770gain attempts to lift the output tree in that it purges the tree starting from the root as long as it is degenerated to a list until for the first time a real branch or a leaf appears.
The root cause for the Invalid write bug was (hopefully) found in said lifting's implementation.

2019-09-17 0.6.2-&#946;3
Fixed two other instances of the Invalid write bug and a Conditional jump or move depends on uninitialised value(s) bug (thanks again Debian.)

2019-09-17 0.6.2-&#946;2
Fixed an Invalid write bug (thanks Debian.)
For static builds, removed testing for sufficient glib's version (in order to support building @Debian.)
Note: Unfortunately currently our VM for Debian 10 i686 is broken. Might be an issue with QEMU or the current kernel of Debian 10 i686 or the interplay of the two. Hence there's no binary for Debian 10 i686.

2019-09-15 0.6.2-&#946;1
Restored option --time.


2019-09-09 0.6.1
Some users pointed us to an issue with files where album art is embedded as PNG. Under certain circumstances (especially when using our binary builds) those files where not processed as expected. Thanks a lot A B and Eugene!
As the cause for that un-expected behaviour we spotted libavcodec and libavformat re-distributed with the release. They where not build to properly support PNG. This is fixed by libavcodec and libavformat re-distributed with this release are now statically linked to a decent version of libpng.
On Linux, we tested the prior release with one of our early adopters, Arch Linux (cf. below.) As expected, there's no problem with PNG's because of the more complete FFmpeg coming with the system.
In order to honor the work of the early adapters we added to the release as a representative binary builds for Arch Linux. This might appear not very useful provided that there's an official release within a few weeks, but anyway.
Please note that we provide binary Linux builds just for the i386 and x86_i64 architectures. The main obstacle for using our Linux binary builds is libc's version:
the Debian 9 builds need libc at least v2.24 installed,
the Debian 10 builds need libc at least v2.28 installed, and
the Arch Linux builds need libc at least v2.29 installed.
When in doubt choose the most conservative build, i.e. Debian 9 (running also on Arch Linux but not vice versa.)
Windows users should regularly upgrade the FFmpeg DLL's from a Zeranoe's shared build corresponding to their architecture.
Some minor code clean-up has also been done.


2019-09-05 0.6.0
Essentialy the same as v0.6.0-&#946;34.
This major update became necessary because of the following reasons:
We wanted to get rid of all the FFmpeg functions having become deprecated througout the years. We wanted to avoid that some fine day they're all purged off of FFmpeg and there we are with empty hands having slept all the time. (The most prominent example is the decoding/encoding API having undegone a major change.)
We wanted to get rid of SoX because as it seems its not developed any longer (last update in February 2015) and all we needed from SoX (re-sampling) is available more prominently from FFmpeg itself.
We ended up with developing large parts (most) of bs1770gain from scratch. For what have been done in particular cf. the notes to http://bs1770gain.sourceforge.net/
Many thanks to everyone having contributed to this &#946;-phase! (Cf. below notes.)


2019-08-13 0.6.0-&#946;34
Copying embedded album art as requested by Damiano has finally been solved.
It was just one line of code missing (cf. here.)
This little episode demonstrates what a great framework FFmpeg really is.


2019-08-13 0.6.0-&#946;33Just out of curiosity this morning we again made the experiment described below and found it crashing with "Segmentation fault" when attempting to dynamically load the FFmpeg shared objects by means of a libc with a version lower than the one on the system bs1770gain was compiled on. Hence in such a situation bs1770gain now aborts immediatly:
peter@debian-9:~/msys2/bs1770gain$ ./linux/debian-10-i686/bs1770gain --version --help=codec
bs1770gain 0.6.0-beta-33, Copyright (C) Peter Belkner 2014-2019.
Nanos gigantum humeris insidentes. #TeamWhite
http://bs1770gain.sourceforge.net/
Compiled for Linux by means of gcc 8.3.0 on
nodename: debian-10,
release: 4.19.0-5-686-pae,
version: #1 SMP Debian 4.19.37-5+deb10u1 (2019-07-19),
machine: i686,
expecting
libc: 2.28 (stable),
libavutil: 56.33.100,
libswresample: 3.6.100,
libavcodec: 58.55.100,
libavformat: 58.30.100,
libswscale: 5.6.100,
libpostproc: 55.6.100, and
libavfilter: 7.58.100.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Error: Attmpting to dynamically load FFmpeg shared objects by means of an out-dated libc: expecting 2.28, found 2.24. (bgx.c:1193:main)
peter@debian-9:~/msys2/bs1770gain$


2019-08-12 0.6.0-&#946;32
There still was a glitch with v0.6.0-&#946;30 (w.r.t. the -o/--output option.)
Undocumented v0.6.0-&#946;31 served private communications.


2019-08-11 0.6.0-&#946;30
Damiano pointed us to the issue that it not any longer was possible to mass-process files (i.e. literally thousands.) Thanks a lot Damiano!
In order to make it possible with the new architecture we'd to introduce a data structure encapsulating branching in the directory structure of the underlying file system to some extend reminding us on de Broglie–Bohm theory's pilot wave. Hence it's called the pilot.
With Damiano we made the experience that it's not possible to just download one out auf the Linux binary builds fitting to ones architecture and expecting it to run. Indeed it might not work! As a cause for preventing loading the FFmpeg shared objects we spotted libc. Because of that bs1770gain now is equipped with some information from compile time.
This information is provided by means of option --version. This option is processed before attempting to load the FFmpeg shared objects. In the following example please note libc's version 2.24:
peter@debian-9:~/msys2/bs1770gain$ ./linux/debian-9-i686/bs1770gain --version
bs1770gain 0.6.0-beta-30, Copyright (C) Peter Belkner 2014-2019.
Nanos gigantum humeris insidentes. #TeamWhite
http://bs1770gain.sourceforge.net/
Compiled for Linux by means of gcc 6.3.0 on
nodename: debian-9,
release: 4.9.0-9-686-pae,
version: #1 SMP Debian 4.9.168-1+deb9u4 (2019-07-19),
machine: i686,
expecting
libc: 2.24 (stable),
libavutil: 56.33.100,
libswresample: 3.6.100,
libavcodec: 58.55.100,
libavformat: 58.30.100,
libswscale: 5.6.100,
libpostproc: 55.6.100, and
libavfilter: 7.58.100.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
peter@debian-9:~/msys2/bs1770gain$
You might double check whether libc installed on your system is sufficient:
peter@debian-9:~/msys2/bs1770gain$ ldd --version
ldd (Debian GLIBC 2.24-11+deb9u4) 2.24
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
peter@debian-9:~/msys2/bs1770gain$
In case you're attempting to run bs1770gain build on a system with a higher libc version as installed on your system you may experience an error like the following:
peter@debian-9:~/msys2/bs1770gain$ ./linux/debian-10-i686/bs1770gain --version --help=codec
bs1770gain 0.6.0-beta-30, Copyright (C) Peter Belkner 2014-2019.
Nanos gigantum humeris insidentes. #TeamWhite
http://bs1770gain.sourceforge.net/
Compiled for Linux by means of gcc 8.3.0 on
nodename: debian-10,
release: 4.19.0-5-686-pae,
version: #1 SMP Debian 4.19.37-5+deb10u1 (2019-07-19),
machine: i686,
expecting
libc: 2.28 (stable),
libavutil: 56.33.100,
libswresample: 3.6.100,
libavcodec: 58.55.100,
libavformat: 58.30.100,
libswscale: 5.6.100,
libpostproc: 55.6.100, and
libavfilter: 7.58.100.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Warning: libc might be out-dated: expecting 2.28, found 2.24. (bgx.c:1242:main)
Might prevent loading FFmpeg shared objects. Good luck!
Error: loading /mnt/hgfs/d/msys64/home/root/bs1770gain/linux/debian-10-i686/bs1770gain-tools/libavutil.so.56. (ff_dynload.c:1407:avutil_load)
Error: wrong version of avutil: expecting 56, found 0 at "/mnt/hgfs/d/msys64/home/root/bs1770gain/linux/debian-10-i686/bs1770gain-tools/". (bgx.c:1262:main)
peter@debian-9:~/msys2/bs1770gain$
Undocumented versions 0.6.0-&#946;26 through 0.6.0-&#946;29 served private communications.
Damiano further pointed out that embedded album art is not processed as expected. Because as far as we can see this is not a new issue it's left for a future release. It's the same as with the request by Hadrien who proposed parallelization. This release should just focus on reproducing (and improving) functionality based on a changed architecture.


2019-07-13 0.6.0-&#946;25
Ross pointed us to an issue regarding option --stereo. This particular option might be usful in a command like
bs1770gain <path to input file> --stereo [-ao <path to output directory>]?
Thanks a lot Ross!
While at it introduced a generalization to option --stereo: option --matrix=<matrix> supporting re-matrixing to a channel format <matrix> out of the ones supported by FFmpeg (cf. bs1770gain's help message.) This way option --stereo is just shorthand for option --matrix=layout_stereo (update 2019-08-11: with v0.6.030 underscores where replaced by minus signs, i.e. since that release it should read --matrix=layout-stereo.)
Improved dealing with some error messages and warnings.
Improved dealing with option --extension=csv. Please note that with this particular option a per-folder CSV file (with tabulator as separator) named "folder.csv" is supported for importing tag values. The CSV file's first line (the header line) has to list the names of the tags to be imported starting with a column labelled file. All subsequent rows have to first list the basename of a file from that particular folder and than the values corresponding to the respective tag listed in the header line.
Might be considered a second release candidate.


2019-07-07 0.6.0-&#946;24
Purged off several (meanwhile) inactive code branches. Might be considered a release candidate.


2019-07-04 0.6.0-&#946;23
Seeking (needed for implementing option -b/--begin) still wasn't in the shape it should be. We now follow the advice given here. https://0xdeafc0de.wordpress.com/2014/07/21/seeking-with-ffmpeg/


2019-06-29 0.6.0-&#946;22
Improved seeking.


2019-06-28 0.6.0-&#946;21
This &#946;-release implements option --unit.
Without option --unit:
root@root-pc MINGW32 ~/bs1770gain
# bs1770gain ~/aerosmith/1973_make_it/01_make_it.flac -t
analyzing ...
[1/1] 01_make_it.flac
integrated (momentary mean): -12.68 LUFS / -10.32 LU
truepeak (relative/absolute): -0.39 TPFS / 0.956359
[COLLECTION]
integrated (momentary mean): -12.68 LUFS / -10.32 LU
truepeak (relative/absolute): -0.39 TPFS / 0.956359
done.

root@root-pc MINGW32 ~/bs1770gain
# bs1770gain ~/aerosmith/1973_make_it/01_make_it.flac -t --atsc
analyzing ...
[1/1] 01_make_it.flac
integrated (momentary mean): -12.68 dBFS / -11.32 dB
truepeak (relative/absolute): -0.39 dBFS / 0.956359
[COLLECTION]
integrated (momentary mean): -12.68 dBFS / -11.32 dB
truepeak (relative/absolute): -0.39 dBFS / 0.956359
done.

root@root-pc MINGW32 ~/bs1770gain
#
With option --unit:
root@root-pc MINGW32 ~/bs1770gain
# bs1770gain ~/aerosmith/1973_make_it/01_make_it.flac -t --unit=db
analyzing ...
[1/1] 01_make_it.flac
integrated (momentary mean): -12.68 dBFS / -10.32 dB
truepeak (relative/absolute): -0.39 dBFS / 0.956359
[COLLECTION]
integrated (momentary mean): -12.68 dBFS / -10.32 dB
truepeak (relative/absolute): -0.39 dBFS / 0.956359
done.

root@root-pc MINGW32 ~/bs1770gain
# bs1770gain ~/aerosmith/1973_make_it/01_make_it.flac -t --atsc --unit=ebu
analyzing ...
[1/1] 01_make_it.flac
integrated (momentary mean): -12.68 LUFS / -11.32 LU
truepeak (relative/absolute): -0.39 TPFS / 0.956359
[COLLECTION]
integrated (momentary mean): -12.68 LUFS / -11.32 LU
truepeak (relative/absolute): -0.39 TPFS / 0.956359
done.

root@root-pc MINGW32 ~/bs1770gain
#


2019-06-27 0.6.0-&#946;20
This &#946;-release marks a major update in functionality by introducing options --suffix=<suffix> and --codec=<codec>. Both options are useful in conjunction with the -a/--apply option only, i.e. just with transcoding and applying the gain obtained from the analysis. This might be useful for people producing (Youtube) videos as e.g. our "gatekeeper" to Debian, Petter Reinholdtsen: Measuring and adjusting the loudness of a TV channel using bs1770gain.
Without option --suffix=<suffix> the input is transcoded to FLAC and possibly wrapped into MKV or MKA, respectively (as usual):
root@root-pc MINGW32 ~/bs1770gain
# bs1770gain ~/peter_frampton/2000_live_in_detroit_dvd/02_lying.mkv -ao xx
analyzing ...
[1/1] 02_lying.mkv
integrated (momentary mean): -24.38 LUFS / 1.38 LU
[COLLECTION]
integrated (momentary mean): -24.38 LUFS / 1.38 LU
remuxing ...
[1/1] 02_lying.mkv
done.

root@root-pc MINGW32 ~/bs1770gain
# ffmpeg -i ./xx/02_lying.mkv
ffmpeg version N-94125-gd33414d2ad Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.0 (Rev3, Built by MSYS2 project)
configuration: --prefix=/home/root/bs1770gain/mingw32/autoconf --enable-gpl --enable-version3 --enable-shared --disable-doc --disable-w32threads --extra-ldflags='-static-libgcc -static-libstdc++ -static'
libavutil 56. 29.100 / 56. 29.100
libavcodec 58. 53.100 / 58. 53.100
libavformat 58. 28.101 / 58. 28.101
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 55.100 / 7. 55.100
libswscale 5. 4.101 / 5. 4.101
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[mpeg2video @ 01f49dc0] ignoring pic cod ext after 0
Input #0, matroska,webm, from './xx/02_lying.mkv':
Metadata:
title : Lying
REPLAYGAIN_REFERENCE_LOUDNESS: -23.0 LUFS
ARTIST : Peter Frampton
ALBUM : Live In Detroit (DVD)
YEAR : 2000
DISC : 1/1
track : 2
GENRE : Rock
VIDEO_CROP : 698:572:8:2
REPLAYGAIN_ALGORITHM: BS.1770
ENCODER : Lavf58.28.101
Duration: 00:06:27.72, start: 0.000000, bitrate: 8100 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
DURATION : 00:06:27.720000000
Stream #0:1: Audio: flac, 48000 Hz, stereo, s32 (24 bit) (default)
Metadata:
DURATION : 00:06:27.552000000
At least one output file must be specified

root@root-pc MINGW32 ~/bs1770gain
#
By means of option --suffix=<suffix> the input is remuxed accordingly and the audio transcoded to a default codec obtained from libavformat.
root@root-pc MINGW32 ~/bs1770gain
# bs1770gain ~/peter_frampton/2000_live_in_detroit_dvd/02_lying.mkv -ao xx --suffix=mp4
analyzing ...
[1/1] 02_lying.mkv
integrated (momentary mean): -24.38 LUFS / 1.38 LU
[COLLECTION]
integrated (momentary mean): -24.38 LUFS / 1.38 LU
remuxing ...
[1/1] 02_lying.mp4
done.

root@root-pc MINGW32 ~/bs1770gain
# ffmpeg -i ./xx/02_lying.mp4
ffmpeg version N-94125-gd33414d2ad Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.0 (Rev3, Built by MSYS2 project)
configuration: --prefix=/home/root/bs1770gain/mingw32/autoconf --enable-gpl --enable-version3 --enable-shared --disable-doc --disable-w32threads --extra-ldflags='-static-libgcc -static-libstdc++ -static'
libavutil 56. 29.100 / 56. 29.100
libavcodec 58. 53.100 / 58. 53.100
libavformat 58. 28.101 / 58. 28.101
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 55.100 / 7. 55.100
libswscale 5. 4.101 / 5. 4.101
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[mpeg2video @ 0065a0c0] ignoring pic cod ext after 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './xx/02_lying.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
title : Lying
artist : Peter Frampton
album : Live In Detroit (DVD)
encoder : Lavf58.28.101
genre : Rock
track : 2
disc : 1/1
Duration: 00:06:27.60, start: 0.000000, bitrate: 6648 kb/s
Stream #0:0(und): Video: mpeg2video (Main) (mp4v / 0x7634706D), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 6513 kb/s, 25 fps, 25 tbr, 16k tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
At least one output file must be specified

root@root-pc MINGW32 ~/bs1770gain
#
root@root-pc MINGW32 ~/bs1770gain
# bs1770gain ~/peter_frampton/2000_live_in_detroit_dvd/02_lying.mkv -ao xx --suffix=mkv
analyzing ...
[1/1] 02_lying.mkv
integrated (momentary mean): -24.38 LUFS / 1.38 LU
[COLLECTION]
integrated (momentary mean): -24.38 LUFS / 1.38 LU
remuxing ...
[1/1] 02_lying.mkv
done.

root@root-pc MINGW32 ~/bs1770gain
# ffmpeg -i ./xx/02_lying.mkv
ffmpeg version N-94125-gd33414d2ad Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.0 (Rev3, Built by MSYS2 project)
configuration: --prefix=/home/root/bs1770gain/mingw32/autoconf --enable-gpl --enable-version3 --enable-shared --disable-doc --disable-w32threads --extra-ldflags='-static-libgcc -static-libstdc++ -static'
libavutil 56. 29.100 / 56. 29.100
libavcodec 58. 53.100 / 58. 53.100
libavformat 58. 28.101 / 58. 28.101
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 55.100 / 7. 55.100
libswscale 5. 4.101 / 5. 4.101
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[mpeg2video @ 01d99d40] ignoring pic cod ext after 0
Input #0, matroska,webm, from './xx/02_lying.mkv':
Metadata:
title : Lying
REPLAYGAIN_REFERENCE_LOUDNESS: -23.0 LUFS
ARTIST : Peter Frampton
ALBUM : Live In Detroit (DVD)
YEAR : 2000
DISC : 1/1
track : 2
GENRE : Rock
VIDEO_CROP : 698:572:8:2
REPLAYGAIN_ALGORITHM: BS.1770
ENCODER : Lavf58.28.101
Duration: 00:06:27.72, start: 0.000000, bitrate: 6707 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
DURATION : 00:06:27.720000000
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
DURATION : 00:06:27.552000000
At least one output file must be specified

root@root-pc MINGW32 ~/bs1770gain
#
By means of option --codec=<codec> the audio codec to which to transcode may be chosen:
# bs1770gain ~/peter_frampton/2000_live_in_detroit_dvd/02_lying.mkv -ao xx --codec=wavpack
analyzing ...
[1/1] 02_lying.mkv
integrated (momentary mean): -24.38 LUFS / 1.38 LU
[COLLECTION]
integrated (momentary mean): -24.38 LUFS / 1.38 LU
remuxing ...
[1/1] 02_lying.mkv
done.

root@root-pc MINGW32 ~/bs1770gain
# ffmpeg -i ./xx/02_lying.mkv
ffmpeg version N-94125-gd33414d2ad Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.0 (Rev3, Built by MSYS2 project)
configuration: --prefix=/home/root/bs1770gain/mingw32/autoconf --enable-gpl --enable-version3 --enable-shared --disable-doc --disable-w32threads --extra-ldflags='-static-libgcc -static-libstdc++ -static'
libavutil 56. 29.100 / 56. 29.100
libavcodec 58. 53.100 / 58. 53.100
libavformat 58. 28.101 / 58. 28.101
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 55.100 / 7. 55.100
libswscale 5. 4.101 / 5. 4.101
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[mpeg2video @ 02019dc0] ignoring pic cod ext after 0
Input #0, matroska,webm, from './xx/02_lying.mkv':
Metadata:
title : Lying
REPLAYGAIN_REFERENCE_LOUDNESS: -23.0 LUFS
ARTIST : Peter Frampton
ALBUM : Live In Detroit (DVD)
YEAR : 2000
DISC : 1/1
track : 2
GENRE : Rock
VIDEO_CROP : 698:572:8:2
REPLAYGAIN_ALGORITHM: BS.1770
ENCODER : Lavf58.28.101
Duration: 00:06:27.72, start: 0.000000, bitrate: 8143 kb/s
Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
DURATION : 00:06:27.720000000
Stream #0:1: Audio: wavpack, 48000 Hz, stereo, s32p (24 bit) (default)
Metadata:
DURATION : 00:06:27.552000000
At least one output file must be specified

root@root-pc MINGW32 ~/bs1770gain
#
It's up to the user supplying useful combinations of options --suffix=<suffix> and --codec=<codec>. Useful values can be obtained by means of options --help=suffix and --help=codec, respectively.


2019-06-26 0.6.0-&#946;17 through 0.6.0-&#946;19
Kyle pointed us to an issue with 8 channels. We've to emphasize we're convinced that no prior version was able to process 8 channels. (Anyway, we're not going to re-test versions already history.)
Adriano wants to use bs170gain in a filter chain. That's why there's a --suppress-progress option supressing any superflous information from the console output.


2019-06-24 0.6.0-&#946;14 through 0.6.0-&#946;16
Adriano pointed us to a sever bug when processing WAV files (cf. AVCodecContext::channel_layout 0 for WAV files.)
Adriano proposed that there shoud be a means for suppressing results up the hierarchy. That's why there's a --suppress-hierarchy option.
Kyle (from South Korea) pointed us to an issue with files where FFmpeg is unable to extract a duration.
Thanks a lot Adriano and Kyle!


2019-06-14 0.6.0-&#946;13
When transcoding/remuxing bs1770gain v0.6.0-&#946;13 first creates a temporary file before finally moving it to it's destination. By default, the temporary file's name is the target file's name prefixed with a dot ‘.’. When it happens that there is a file in the way with that particular name bs1770gain aborts. In order to make it possible to resolve this (we assume very rare) situation bs1770gain offers an option --temp-prefix=<prefix> making it possible to define a prefix different from the default.


2019-06-12 0.6.0-&#946;12
Dealing with option --overwrite still wasn't in the shape it should be.


2019-06-11 0.6.0-&#946;10
Fixed crashing with option --overwrite.

2019-06-11 0.6.0-&#946;9
Diimaan pointed us to a severe bug when re-muxing without transcoding, i.e. using option -o without option -a. Thanks a lot Diimaan!

2019-06-10 0.6.0-&#946;4 trough 0.6.0-&#946;8
Jointly with Alexis made bs1770gain compilable on macOS (i.e. with gcc 10.0.1 whereas on our site just gcc 6.3.0 or gcc 9.1.0 is available.) Thanks a lot Alexis!


2019-06-10 0.6.0-&#946;3
This &#946;-release should fix the following:
Alexis reported that attempting to build on macOS aborts with a compilation error. Thanks a lot Alexis!
Diimaan reported an issue with loading the shared FFmpeg objects. Thanks a lot Diimaan!


2019-06-06 0.6.0-&#946;2
Fixes a bug with re-muxing to an unexpected target path when the source path contains one ore more additional dots ‘.’ except the separator for the file extension. Thanks a lot Hadrien for testing!


2019-06-06 0.6.0-&#946;1
This &#946;-version is the first attempt letting see a renovated bs1770gain the light of the world:
SoX is history. Prior versions of bs1770gain relied on libsox for re-sampling. This version does re-sampling by means of ffmpeg's libswresample.
The renovation's major goal was getting rid of libsox. While at it we invented new data structures better fitting the problem domain. Finally we ended up replacing the libffsox and the bs1770gain layers by respective libff and libbg layers.
The responsibility of the libff layer is providing building blocks for accessing the ffmpeg libraries, i.e.
libavfilter (not needed by prior versions),
libpostproc (not needed by prior versions),
libswresample (not needed by prior versions),
libavformat,
libavcodec, and
libavutil.
For re-muxing in conjunction with transcoding the audio stream (by means of the -a/--apply option) bs1770gain now relies on libavfilter which in turn needs libpostproc.
The responsibility of the libbg layer is on one hand accessing the ffmpeg libraries (via the libff layer) and on the other hand accessing the lib1770 layer implementing the BS.1770 algorithm (which mainly has been untouched except fixing a minor bug preventing aggregation up the hierarchie.)
A great deal of time was spend improving the UTF-8 capabilities (especially for the Windows version. Please note that we've tried hard to find a solution for the cmd-box which is not UTF-8 aware at all wheras the MSYS2 shell indeed is - bs1770gain decides whether run from cmd-box or shell by examining the LANG environment variable and respectively relies on a 8 bit OEM or UTF-8 character representation when writing to cmd-box or shell. To make things worse a 16 bit wide character representaion is needed when writing to a file ... Note: We've tested with some cyrillic alphabet completely outside the lower half of the ASCII table - The best we could achieve with the cmd-box on our system is producing question marks - German OEM page is not able to display cyrillic letters - for you guys over there in Russia hopefully everything is fine except you have german umlauts in your file names ...)


2019-01-23 0.5.2
Released in order to make it into Debian 10 'buster'. Essentially the same as v0.5.2-&#946;3.


2019-01-23 0.5.2-&#946;3
By the previous &#946;-release we fixed a bug w.r.t. the MP3 codec we've already fixed by v0.5.0-&#946;2 w.r.t. the OPUS codec. This &#946;-release generalizes the approach.


2019-01-23 0.5.2-&#946;2
Aimed to fix bug #910451.


2018-10-26 0.5.2-&#946;1
User Hadrien wrote "I've found that bs1770gain wasn't liking ''s in dirnames" and provided a patch this &#946;-release incorporates.
Again modified slightly the build process.


2018-10-19 0.5.1
Brought back to life building the project with autotools.


2018-09-02 0.5.0
Essentialy the same as v0.5.0-&#946;5.


2018-08-11 0.5.0-&#946;5
Remuxing files with more then one stream (i.e. video files) was broken. This &#946;-release fixes the issue.


2018-08-09 0.5.0-&#946;4
With v0.5.0-&#946;1 we introduced guarding bs1770gain against being run with incompatible FFmpeg and SoX libraries. At least this was the goal. In case of the FFmpeg libraries the test was done against the full version consiting of major, minor, and micro version numbers. This was by far to much. As far as we know just a bump of the major version number indicates some change in binary compatibility. This release relexas the test to FFmpeg major version number.


2018-08-05 0.5.0-&#946;3
User Martin reported that the Windows build of prior versions is broken in that it comes up with a message like

Hence this release is of interest just for Windows users in that it fixes the issue.
Many thanks, Martin!


2018-08-02 0.5.0-&#946;2
User Michal reported that bs1770gain v0.5.0-&#946;1 is crashing when run with Opus samples.
As cause we could identify that (deprecated) avcodec_decode_audio4() crashes when flushed with AV_CODEC_ID_OPUS.
As a workaround flushing the decoder is avoided now for AV_CODEC_ID_OPUS.
There's nothing preventing us from replacing deprectated API avcodec_decode_audio4() by the contemporary replacement API avcodec_send_packet()/avcodec_receive_frame (as already announced for several times. Of course, it's easier said then done ...)
Thanks again Michal!


2018-07-29 0.5.0-&#946;1
Essentially this is a re-compilation against current FFmpeg. As it turned out bs100gain was showing unexpected behaviour when run with current (incompatible) FFmpeg libraries.
While at it we guarded bs170gain against being run with incompatible FFmpeg and SoX libraries.
Fixed some bugs:
#881131: The bug was forced due to artifical test data faking zero channels:
peter@debian-9-32:~/msys64/bs1770gain$ ~/bs1770gain/bin/bs1770gain ./bug-881131-channel-underflow/poc -o output
analyzing ...
[1/1] "poc": Error channel underflow (0 - should be 1 at min): ffsox_frame_reader_create() - "ffsox_frame_reader.c" (55).
Error creating frame reader: ffsox_frame_reader_new() - "ffsox_frame_reader.c" (132).
Error creating frame reader: ffsox_analyze() - "ffsox_analyze.c" (68).
Error gathering track statistics - "bs1770gain_tree.c" (152).
peter@debian-9-32:~/msys64/bs1770gain$ _
#881132: The bug was forced due to artifical test data faking a number of channels by far greater then the numer supported by FFmpeg:
peter@debian-9-32:~/msys64/bs1770gain$ ~/bs1770gain/bin/bs1770gain ./bug-881132-channel-overflow/poc -o output
analyzing ...
[1/1] "poc": Error channel overflow (31 - should be 8 at max): ffsox_frame_reader_create() - "ffsox_frame_reader.c" (63).
Error creating frame reader: ffsox_frame_reader_new() - "ffsox_frame_reader.c" (132).
Error creating frame reader: ffsox_analyze() - "ffsox_analyze.c" (68).
Error gathering track statistics - "bs1770gain_tree.c" (152).
peter@debian-9-32:~/msys64/bs1770gain$ _
#883198: The bug was forced due to artifical test data fooling FFmpeg to come up with a zero codec id:
peter@debian-9-32:~/msys64/bs1770gain$ ~/bs1770gain/bin/bs1770gain ./bug-883198-missing-codec-id/poc -o output
analyzing ...
[1/1] "poc": Error finding decoder: ffsox_frame_reader_create() - "ffsox_frame_reader.c" (48).
Error creating frame reader: ffsox_frame_reader_new() - "ffsox_frame_reader.c" (132).
Error creating frame reader: ffsox_analyze() - "ffsox_analyze.c" (68).
Error gathering track statistics - "bs1770gain_tree.c" (152).
peter@debian-9-32:~/msys64/bs1770gain$ _
Re-designed the dynamic loader module ("ffsox_dynload.c" vs. "ffsox_dynload2.c").


2016-12-08 0.4.12
Added UTF-16 support to the Windows Console. Linux should not be affected and should have been worked all the time because being based on UTF-8. This development was triggered by Seongkyun (Andrei) Kim who is located in Korea and provided some testing.


2016-08-13 0.4.11
Just recently a very talented guy who calls himself kevinlekiller (https://github.com/kevinlekiller/) approached me with a bunch of bugs he obviously had learned the hard way by using the tool (i.e. by not artificially testing it). But not just that, he also proposed a solution for each of the bugs: https://gist.github.com/kevinlekiller/62730fa5ddcf791107a723b1f235773e. This release mainly consists of his contributions.
Fixed ignoring the --audio=<n> option.
Fixed crashing with files containing more than 5 audio streams.


2016-07-18 0.4.10
Fixed writing xml escaped strings with the --xml option. Please note that bs1770gain is not officially supported on OSX even if it seems to build on OSX platforms and that it hence don't take into account unicode mapping anomalies between OSX and Linux/Windows (NFD/NFC). It will always output the unicode dialect common on the platform and hence the generated XML is not portable between OSX and Linux/Windows.


2016-03-16 0.4.9
In "ffsox_frame_convert.c", replaced constant ~0ll by ~0ull (sould fix #811955).
Replaced av_free_packet() by av_packet_unref() (should fix #810563).


2015-12-19 0.4.8
There's a new option --norm=<float> allowing to set the reference loudness to some value apart from -23.0 (EBU R128), -24.0 (ATSC A/85), or -18.0 (ReplayGain 2.0).
Loudness values are written to the output console with two places after the decimal point.
Regarding the Windows version, added some support for unicode paths (i.e. non-OEM).


2015-09-15 0.4.7
Fixed a serious bug regarding the -r option.


2015-09-12 0.4.6
There's a new option "--xml" for producing XML-output.
There's a new option "--stereo". The effect is that down-mix to stereo only happens if requested. The old version always silently down-mixes to stereo which is fixed now.
FFmpeg has bumped their version numbers, i.e is not binary compatible to the old version. The new binary release now requires avutil-55, swresample-2, avcodec-57, and avformat-57.


2015-06-25 0.4.5
Various fixes mainly to make BS1770GAIN compile on various architectures.


2015-06-22 0.4.4
Fixed "stuttering" videos.
Thanks to Petter Reinholdtsen there is now an official BS1770GAIN package available on Debian. Read about Petter's plans regarding BS1770GAIN.


2015-06-15 0.4.3
Automake/Autoconf compatible source code distribution.
Several fixes.


2015-06-08 0.4.2
Fixed memory leaks.


2015-01-29 0.4.1
Several fixes.


2015-01-14 0.4.0
Integrated BS.1770 analysis into the finite state machine.
Added automatic TRACK and DISC tags extension.
Added --extension <extension> option.
Several fixes.


2015-01-08 0.3.2
Added another extension.
Several fixes.


2014-12-30 0.3.1
Minor fixes.


2014-12-23 0.3.0
Finite state machine for remuxing/transcoding.


2014-12-11 0.2.1
Fixed a critical bug breaking the whole program (thanks to Michal Šmucr).
Improved diagnostic of erroneous command line.


2014-12-07 0.2.0
Added experimental options.


2014-12-04 0.1.1
Compiled with -O2.
Slightly different error handling with getopt_long().
Added the FFmpeg and SoX shared objects / dynamic link libraries to the release.


2014-12-01 0.1.0
Initial release.


2014-10-04 1.0.10
Made R128GAIN compatible with the latest FFmpeg (cf. changed FFmpeg ABI).


2014-05-18 1.0.8
Configuration files "wingui.ini" and "gtkgui.ini", respectively, per user (i.e. not global any longer).
Note: You have to reconfigure the application because the old configuration is lost.
Dynamically link to "swresample-0.dll" which is nowadays needed by "avcodec-55.dll".


2014-03-30 1.0.6
Reimplemented remuxing according to the respective FFmpeg example.


2013-12-20 1.0.5
Fixed a subtle yet setious bug letting R128GAIN crash under certain circumstances.
Reverted back to avutil-52 (i.e. being compatible with Zeranoe's FFmpeg builds again).


2013-12-18 1.0.4
Support for multiple frames in a FFmpeg packet.
Support for bumped avutil-53 (instead of avutil-52 as before).
Added a "Building from Scratch" section to the documentation.


2013-11-30 1.0.3
Added a command option preset supporting applying the gain to video files.
Removed a restriction with respect to editing the command option on the native Windows GUI.
Added a section on how to apply the gain by using the command option to the documentation.
Added "Why You Won't Post at Hydrogenaudio Forum" to the documentation.


2013-11-18 1.0.2
Adapt build process to latest FFmpeg.
SoX with FLAC 1.3.0.
SoX with WavPack 4.70.0.
Fixed "Failed opening 'r128gain-tools/liblibMagickCore-6.Q16.so'" bug on Linux.


2013-08-07 1.0.1
AVFMT_FLAG_GENPTS by default brings back smooth conversion to MKV for various broken VOBs.
Minor fixes.
No support via HA forum any longer.


2013-07-14 1.0
Various fixes and improvements.


2012-10-14 1.0-&#945;-6
Added ATSC A/85 support.
Added ReplayGain2 support.
Added an option "--reference" in order to define the reference loudness (EBU R128: -23 LUFS).
Added an option "--db" in order to force dB as unit instead of LU/TP.
Added an option "--quiet" in order to suppress any writing to stdout.
Fixed loading "libsox.so.1".
Fixed overwriting of files.


2012-08-17 1.0-&#945;-4
The core library "lib1770" was restructured in order to avoid duplicated computations. Scanning the EBU R128 test vector demonstrates that there is performance boost of about 40% (without true peak computation).
The new "lib1770" now supports parallel computations. As demonstrated by the multithreaded "example2" program compared to sequential "example1" program parallelism may give another performance boost of about 50% (not yet used by R128GAIN).


2012-08-15 1.0-&#945;-3
Added "--ffmpeg" and "--sox" command line options in order to allow for providing the path to the respective shared libraries.
Fixed missing the "TP", "TPDB", "AP", and "APDB" environment variables.


2012-05-27 1.0-&#945;-2
Added a CLI (command line) only version (i.e. without GUI.)
Provided Linux 64 bit builds.
Fixed crashing CLI on Windows XP.


2012-05-18 1.0-&#945;-1
Unicode/UTF16 support for Win32.
GTK2 and GTK3 GUIs for Linux.
GTK2 GUI for Win32.
No static buffers any longer.
75% rewrite (BS.1770 algorithm unchanged).


2012-04-06 0.9.7
Added an option to the command line (--tags=[rg|bwf]) and the GUI (drop down box) for letting R128GAIN write BWF tags instead of ReplayGain tags. The following BWF tags are currently supported (depending on the format they may appear converted to upper case):
LoudnessValue
LoudnessRange
MaxTruePeakLevel


2012-03-18 0.9.6-3
Fixes a bug that under certain circumstances a file was written twice.
Upgraded to SoX 14.4.0.


2012-02-11 0.9.6
According to FFmpeg.org: FFmpeg development has gone into OVERDRIVE. As a consequence R128GAIN wasn't compiling any longer using the latest FFmpeg versions. This release ports R128GAIN to the latest FFmpeg API.
Added a command line and GUI option to allow choosing between the EBU R128-2 (current, dating from 2011) and EBU R128-1 (former, dating from 2010) standards.
The release requires "avformat-54.dll" and "avcodec-54.dll", and is now again in line with the latest FFmpeg builds from http://ffmpeg.zeranoe.com/builds/win32/shared/.


2012-02-07 0.9.5
Fixed a bug in 0.9.4 that only either the loudness or the loudness range could be computed but not both together.


2012-02-04 0.9.4
Implemented the EBU R128 loudness range (LRA) algorithm (not available for the ReplayGain and BS.1770 sequence algorithms.)
Provided four respective environment variables for the command option:
%TR%: The track loudness range.
%TRDB%: The track loudness range in dB/LU.
%AR%: The album loudness range.
%ARDB%: The album loudness range in dB/LU.
The API of LIB1770 (implementing the loudness range algorithm) has slightly changed in order to allow for providing the length of a block (either 400 ms or 3000 ms.)


2012-01-06 0.9.3
Provided four more environment variables for the command option:

%TL%: The track loudness relative to full scale.
%TLDB%: The track loudness relative to full scale in dB/LUFS.
%AL%: The album loudness relative to full scale.
%ALDB%: The album loudness relative to full scale in dB/LUFS.


2011-12-18 0.9.2
LINUX SUPPORT added:
The Linux version is build in a VMware Player 4.0.1 running Debian 6.0.3.
The VMware Player is set up following the instructions found here using a Debian 6.0.3 small CD image.
Currently CLI only.
Completly restructured build process.


2011-12-09 0.9.1
Provided more environment variables for the command option:
%RATE%: The sample rate.
%NCH%: The number of channels.
%BITS%: The bit depth.
Added more presets for the command option:
Physically apply the track gain using SoX (default):
sox "%TRACK%" "%DN%%BN%.wav" gain %TGDB%
Convert to MP3 and physically apply the track gain using lame (very useful for creating MP3s to be used with your mobile MP3 player, requires "lame.exe" to be copied into the subfolder "r128gain"):
lame --noreplaygain --scale %TG% -V2 "%TRACK%" "%DN%%BN%.mp3"
Decode using SoX and convert to MP3 by physically applying the track gain using lame (very useful for creating MP3s to be used with your mobile MP3 player, requires "lame.exe" to be copied into the subfolder "r128gain"):
sox --no-dither "%TRACK%" -t raw - | lame --noreplaygain --scale %TG% -r --bitwidth %BITS% -s %RATE% -V2 - "%DN%%BN%.mp3"
Fixed a glitch regarding switching between the "command" and other output modes.


2011-11-20 0.9
Set default gate to -10.0 LUFS and default block overlap to 75% (according to the latest EBU R128 and BS1770-2 specifications.)
Avoid division by zero in LIB1770 (implies a slight API change.)
Further improved GUI synchronization.


2011-10-08 0.8.8
Implemented some GUI synchronization with respect to the "command" feature.
Wrapped arguments in the "command" preset with double quotation marks (").
Extended number of lines in input list.
Distribute limited versions of "sox.exe" and "ffmpeg.exe" for usage whithin the "command".


2011-10-03 0.8.7
Implemented an alternate BS.1770 statistics using a histogram as proposed in "http://lac.linuxaudio.org/2011/download/lm-pres.pdf". The histogram based statistics avoids memory overflow and appears to improve performance. The new histogram based statistics is default.

The public API of lib1770 is changed slightly in order to allow for choosing the statistcs algorithm, either histogram or sequence.

Provided an option to execute a command in addition to the build-in actions to be enabled via the "Format" drop down box. The command's environment provides the following variables:

%PATH%: The systems's path extended by the sub-directory "r128gain".
%TRACK%: The complete path to the source track.
%NAME%: The name of the source track including the extension.
%BN%: The base name of the source track, i.e. excluding the extension.
%EXT%: The extension of the source track.
%DN%: The output directory.
%TG%: The track gain.
%TGDB%: The track gain in dB.
%TP%: The track peak.
%TPDB%: The track peak in dB.
%AG%: The album gain.
%AGDB%: The album gain in dB.
%AP%: The album peak.
%APDB%: The album peak in dB.


2011-07-10 0.8.6
Allow choosing the BS.1770 block overlap by parameter partition (1, 2, 3, ...). The corresponding overlap in % is (1 - 1/partition) * 100%.


2011-05-15 0.8.5
Important: Requires "bumped" FFmpeg, i.e. "avformat-53.dll", "avcodec-53.dll", and "avutil-51.dll". For upgrading to the latest full FFmpeg build get the respective DDLs from
http://ffmpeg.zeranoe.com/builds/win32/shared/, or
http://www.bizzeh.com/ffmpeg/free/shared/.
Please note that FFmpeg's MP3 muxer (in "avformat-53.dll") now calculates a XING header, i.e. MP3s processed with R128GAIN now contain the correct length information.




Search   Contact us   Privacy Policy   About   Advertise   Forum   RSS Feeds   Statistics   Software   

Site layout: Default Classic Blue

Affiliates: free-codecs.com

©1999-2020 videohelp.com