blob: 85c87f137b95410e91aa7978c97ddf4bf07fa75c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <array>
#include "audio_core/common/common.h"
#include "audio_core/renderer/upsampler/upsampler_state.h"
#include "common/common_types.h"
namespace AudioCore::Renderer {
class UpsamplerManager;
/**
* Manages information needed to upsample a mix buffer.
*/
struct UpsamplerInfo {
/// States used by the AudioRenderer across calls.
std::array<UpsamplerState, MaxChannels> states{};
/// Pointer to the manager
UpsamplerManager* manager{};
/// Pointer to the samples to be upsampled
CpuAddr samples_pos{};
/// Target number of samples to upsample to
u32 sample_count{};
/// Number of channels to upsample
u32 input_count{};
/// Is this upsampler enabled?
bool enabled{};
/// Mix buffer indexes to be upsampled
std::array<s16, MaxChannels> inputs{};
};
} // namespace AudioCore::Renderer
|