Nevcairiel / LAVFilters

LAV Filters - Open-Source DirectShow Media Splitter and Decoders
GNU General Public License v2.0
7.41k stars 787 forks source link

clipping protection not working for integer output formats #533

Closed ghost closed 1 year ago

ghost commented 1 year ago

When downmixing while outputting integer formats (my audio postprocessor doesn't support floats) the clipping protection stops working and normalization is applied instead. Works fine with floats though.

Reproduction steps:

1. Enable mixing
2. Play a multichannel file, e.g. 5.1
3. Switch "Normalize Matrix" on and off several times: you should hear a noticeable volume difference
4. Deactivate output format "32-bit Floating-point"
5. Switch "Normalize Matrix" on and off several times: the volume stays the same

Note that there were only 3 commits in December 2021 for PostProcessor.cpp which can be the culprit. So it should be possible to isolate the bug.

519 seems related, probably even a duplicate.

Please let me know if this reproduces or if I need to provide any additional information. Thanks.