X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fupmixer_a.cc;h=ca42cd3867ab7e935b1713ea83d36f51a810a7c9;hb=0e8a1ab7c41756115f44229053e1e7024530fb32;hp=e6ec09c6a9530b2166b50ce3762eed10fdc05f94;hpb=b9842263a402b5ce1d2f85a1346ca11a419f816e;p=dcpomatic.git diff --git a/src/lib/upmixer_a.cc b/src/lib/upmixer_a.cc index e6ec09c6a..ca42cd386 100644 --- a/src/lib/upmixer_a.cc +++ b/src/lib/upmixer_a.cc @@ -1,19 +1,20 @@ /* Copyright (C) 2014-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ @@ -31,8 +32,8 @@ using boost::shared_ptr; UpmixerA::UpmixerA (int sampling_rate) : _left (0.02, 1900.0 / sampling_rate, 4800.0 / sampling_rate) , _right (0.02, 1900.0 / sampling_rate, 4800.0 / sampling_rate) - , _centre (0.02, 150.0 / sampling_rate, 1900.0 / sampling_rate) - , _lfe (0.02, 20.0 / sampling_rate, 150.0 / sampling_rate) + , _centre (0.01, 150.0 / sampling_rate, 1900.0 / sampling_rate) + , _lfe (0.01, 150.0 / sampling_rate) , _ls (0.02, 4800.0 / sampling_rate, 20000.0 / sampling_rate) , _rs (0.02, 4800.0 / sampling_rate, 20000.0 / sampling_rate) { @@ -45,19 +46,12 @@ UpmixerA::name () const return _("Stereo to 5.1 up-mixer A"); } - string UpmixerA::id () const { return N_("stereo-5.1-upmix-a"); } -ChannelCount -UpmixerA::in_channels () const -{ - return ChannelCount (2); -} - int UpmixerA::out_channels () const { @@ -77,10 +71,10 @@ UpmixerA::run (shared_ptr in, int channels) shared_ptr in_L = in->channel (0); shared_ptr in_R = in->channel (1); - /* Mix of L and R */ + /* Mix of L and R; -6dB down in amplitude (3dB in terms of power) */ shared_ptr in_LR = in_L->clone (); - in_LR->accumulate_frames (in_R.get(), 0, 0, in_R->frames ()); - in_LR->apply_gain (0.5); + in_LR->accumulate_frames (in_R.get(), in_R->frames(), 0, 0); + in_LR->apply_gain (-6); /* Run filters */ vector > all_out;