0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
obs-studio/libobs/media-io
pkv 918fc6d6c2 libobs/media-io: Fix mono upmix
A mono source is currently upmixed by swresampler in the following way:
- for stereo output, FL=FR=input/sqrt(2)
- for other speaker layouts of the outputs, FC=input, other channels
are zeroed.

In the case of stereo output, this leads to a 3dB level decrease which
users have issue with [1].
The obvious fix of adding a 3dB gain is reported to be adding distortions
on some setups [2].
Note that the "Downmix to Mono" does not fix this upmix problem, since
it just makes all output channels identical by summing all input channels
and normalizing (by dividing by the number of output channels). This last
normalization step results in a level reduction for a mono input.

[1] This fixes https://obsproject.com/mantis/view.php?id=960.
[2] See also: https://obsproject.com/forum/threads/please-allow-for-mono-recording-of-microphones-ill-explain-why.84834
2019-02-24 14:00:57 +01:00
..
audio-io.c libobs/media-io: Reset audio array for each input 2016-01-26 11:49:36 -08:00
audio-io.h Merge pull request #1139 from takev/pulseaudio-surround-selection 2018-01-19 16:14:04 -08:00
audio-math.h libobs/media-io: Add common audio math functions 2015-06-26 03:40:27 -07:00
audio-resampler-ffmpeg.c libobs/media-io: Fix mono upmix 2019-02-24 14:00:57 +01:00
audio-resampler.h (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
format-conversion.c libobs/media-io: Fix decompress_420 function 2017-10-02 07:36:02 -07:00
format-conversion.h libobs: Add packed yuv to planar 4:4:4 conversion 2015-04-16 22:51:31 -07:00
frame-rate.h libobs/media-io: Add frame rate helpers 2015-11-14 15:37:47 +01:00
media-io-defs.h libobs: Move macro to internal C file 2017-10-02 07:36:02 -07:00
media-remux.c libobs/media-io: Prevent overwriting of remux input 2018-08-12 17:06:39 +02:00
media-remux.h Add media remuxer to media-io 2014-10-12 06:27:33 +02:00
video-fourcc.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-frame.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-frame.h libobs/media-io: Add frame copying function 2014-12-31 04:03:45 -08:00
video-io.c libobs/media-io: Add frame funcs for separate GPU thread 2019-02-07 17:00:46 -08:00
video-io.h libobs/media-io: Add frame funcs for separate GPU thread 2019-02-07 17:00:46 -08:00
video-matrices.c libobs: Fix full range min/max output 2015-04-10 07:27:26 -07:00
video-scaler-ffmpeg.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-scaler.h (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00