#include "media/base/channel_mixing_matrix.h"
#include <stddef.h>
#include "base/check_op.h"
#include "base/containers/contains.h"
#include "base/ranges/algorithm.h"
#include "media/base/channel_mixer.h"
namespace media {
static void ValidateLayout(ChannelLayout layout) { … }
ChannelMixingMatrix::ChannelMixingMatrix(ChannelLayout input_layout,
int input_channels,
ChannelLayout output_layout,
int output_channels)
: … { … }
ChannelMixingMatrix::~ChannelMixingMatrix() = default;
bool ChannelMixingMatrix::CreateTransformationMatrix(
std::vector<std::vector<float>>* matrix) { … }
void ChannelMixingMatrix::AccountFor(Channels ch) { … }
bool ChannelMixingMatrix::IsUnaccounted(Channels ch) const { … }
bool ChannelMixingMatrix::IsMonoInputLayout() const { … }
bool ChannelMixingMatrix::IsMonoOutputLayout() const { … }
bool ChannelMixingMatrix::HasInputChannel(Channels ch) const { … }
bool ChannelMixingMatrix::HasOutputChannel(Channels ch) const { … }
void ChannelMixingMatrix::Mix(Channels input_ch,
Channels output_ch,
float scale) { … }
void ChannelMixingMatrix::MixWithoutAccounting(Channels input_ch,
Channels output_ch,
float scale) { … }
}