diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-06-10 00:31:35 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-06-10 00:31:35 +0100 |
| commit | 79a9da3ed267f2fa95aa9615dd662a1cea2e9d81 (patch) | |
| tree | e7f7ba3a13844385d11f0e7899ee1d42f8ff44aa | |
| parent | f3db6f37c85352ad7631078907439ce8ff151b3d (diff) | |
Modify the downmix mapping so that we include Ls, Rs and Lfe (#1281).v2.13.29
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | src/wx/film_viewer.cc | 17 |
2 files changed, 15 insertions, 6 deletions
@@ -1,3 +1,7 @@ +2018-06-10 Carl Hetherington <cth@carlh.net> + + * Include Ls/Rs and Lfe in 5.1-to-stereo downmix in the player. + 2018-06-09 Carl Hetherington <cth@carlh.net> * Fix bad parsing of ASS lines embedded into FFmpeg files diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index 2c0712e92..a7e040bb5 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -251,13 +251,18 @@ FilmViewer::recreate_butler () map.set (i, i, 1); } } else { - /* Special case: stereo output, at least 3 channel input, map L+R to L/R and - C to both, all 3dB down. + /* Special case: stereo output, at least 3 channel input. + Map so that Lt = L(-3dB) + Ls(-3dB) + C(-6dB) + Lfe(-10dB) + Rt = R(-3dB) + Rs(-3dB) + C(-6dB) + Lfe(-10dB) */ - map.set (0, 0, 1 / sqrt(2)); // L -> L - map.set (1, 1, 1 / sqrt(2)); // R -> R - map.set (2, 0, 1 / sqrt(2)); // C -> L - map.set (2, 1, 1 / sqrt(2)); // C -> R + map.set (dcp::LEFT, 0, 1 / sqrt(2)); // L -> Lt + map.set (dcp::RIGHT, 1, 1 / sqrt(2)); // R -> Rt + map.set (dcp::CENTRE, 0, 1 / 2.0); // C -> Lt + map.set (dcp::CENTRE, 1, 1 / 2.0); // C -> Rt + map.set (dcp::LFE, 0, 1 / sqrt(10)); // Lfe -> Lt + map.set (dcp::LFE, 1, 1 / sqrt(10)); // Lfe -> Rt + map.set (dcp::LS, 0, 1 / sqrt(2)); // Ls -> Lt + map.set (dcp::RS, 1, 1 / sqrt(2)); // Rs -> Rt } _butler.reset (new Butler (_player, _film->log(), map, _audio_channels)); |
