mpv/audio
nanahi 2872e23aea ao: don't clip floating point formats at non-unity gain
Currently, the softvol gain control attempts to clip floating point ao
formats within -1 and +1. However, this is "optimized out" at unity gain,
where no clipping is applied. This results in inconsistent behavior when
the source audio is already out of -1 and +1 range, where a gain of 0.99
results in clipping, but not at exactly 1.

Since a big advantage of floating point audio data is that they do not
lose information through out-of-range data because the ao sink can apply
suitable negative gain to prevent clipping before converting them to
integer formats, clipping should not be performed on these data.

Fix this by removing the existing clipping behavior. It now results in
a simple multiplication, which faciliates compiler auto-vectorization
of this operation over audio data.
2024-02-25 18:23:57 +00:00
..
decode ad_spdif: fix DTS 44.1khz passthrough playback 2024-01-24 21:21:01 +01:00
filter af_lavcac3enc: don't use deprecated `avcodec_close` 2024-02-19 18:09:58 +01:00
out ao: don't clip floating point formats at non-unity gain 2024-02-25 18:23:57 +00:00
aframe.c various: replace if + abort() with MP_HANDLE_OOM() 2023-01-12 22:02:07 +01:00
aframe.h ad_lavc: strip non-normalized floats 2022-09-02 01:27:31 +02:00
chmap.c chmap: mp_image_pool: drop stale mentions of Libav in comments 2024-01-20 16:10:20 +00:00
chmap.h audio/chmap: support up to 64 channels 2023-09-29 02:35:10 +00:00
chmap_avchannel.c audio: add AVChannelLayout helpers to convert from/to mp_chmap 2022-06-12 21:05:59 +03:00
chmap_avchannel.h audio: add AVChannelLayout helpers to convert from/to mp_chmap 2022-06-12 21:05:59 +03:00
chmap_sel.c audio: use --audio-channels=auto behavior, except on ALSA 2016-08-04 20:49:20 +02:00
chmap_sel.h audio: use --audio-channels=auto behavior, except on ALSA 2016-08-04 20:49:20 +02:00
fmt-conversion.c audio: add support for AV_SAMPLE_FMT_S64* 2019-09-27 21:21:34 +02:00
fmt-conversion.h audio/fmt-conversion: change license to LGPL 2017-05-05 07:25:55 +02:00
format.c audio/format: fix Type 'struct entry' has incompatible definitions in different translation units 2022-10-23 14:57:24 +02:00
format.h audio: add support for AV_SAMPLE_FMT_S64* 2019-09-27 21:21:34 +02:00