mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 07:16:55 +00:00
8b1500d7ff
The current limit is `x10`, which allows just `+20 dB` of gain. While it may seem sufficient, this came up as a problem in a real-world, non-specially-engineered situation, in strawberry's EBU R 128 loudness normalization. (https://github.com/strawberrymusicplayer/strawberry/pull/1216) There is an audio track (that was not intentionally engineered that way), that has integrated loudness of `-38 LUFS`, and if we want to normalize it's loudness to e.g. `-16 LUFS`, which is a very reasonable thing to do, we need to apply gain of `+22 dB`, which is larger than `+20 dB`, and we fail... I think it should allow at least `+96 dB` of gain, and therefore should be at `10^(96/20) ~= 63096`. But, i don't see why we need to put any specific restriction on that parameter in the first place, other than the fact that the fixed-point multiplication scheme does not support volume larger than 15x-ish. So let's just implement a floating-point fall-back path that does not involve fixed-point multiplication and lift the restriction altogether? Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5063> |
||
---|---|---|
.. | ||
adder | ||
app | ||
audioconvert | ||
audiomixer | ||
audiorate | ||
audioresample | ||
audiotestsrc | ||
compositor | ||
dsd | ||
encoding | ||
gio | ||
overlaycomposition | ||
pbtypes | ||
playback | ||
rawparse | ||
subparse | ||
tcp | ||
typefind | ||
videoconvertscale | ||
videorate | ||
videotestsrc | ||
volume | ||
meson.build |