diff options
author | Liam <byteslice@airmail.cc> | 2024-02-21 04:15:28 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-02-21 04:15:38 +0100 |
commit | 5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c (patch) | |
tree | f2346fe9ef767cffbbffdd80d441ee21b9336cf8 /src/core/hle/service/audio/hardware_opus_decoder.h | |
parent | audio: rewrite IAudioDevice (diff) | |
download | yuzu-5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c.tar yuzu-5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c.tar.gz yuzu-5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c.tar.bz2 yuzu-5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c.tar.lz yuzu-5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c.tar.xz yuzu-5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c.tar.zst yuzu-5f90bd88daf997f9da1f97c1ffe97d3be46e3d0c.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/audio/hardware_opus_decoder.h | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/src/core/hle/service/audio/hardware_opus_decoder.h b/src/core/hle/service/audio/hardware_opus_decoder.h index 121858a6f..511bf46bd 100644 --- a/src/core/hle/service/audio/hardware_opus_decoder.h +++ b/src/core/hle/service/audio/hardware_opus_decoder.h @@ -4,6 +4,7 @@ #pragma once #include "audio_core/opus/decoder.h" +#include "core/hle/service/cmif_types.h" #include "core/hle/service/service.h" namespace Service::Audio { @@ -20,16 +21,40 @@ public: Kernel::KTransferMemory* transfer_memory, u64 transfer_memory_size); private: - void DecodeInterleavedOld(HLERequestContext& ctx); - void SetContext(HLERequestContext& ctx); - void DecodeInterleavedForMultiStreamOld(HLERequestContext& ctx); - void SetContextForMultiStream(HLERequestContext& ctx); - void DecodeInterleavedWithPerfOld(HLERequestContext& ctx); - void DecodeInterleavedForMultiStreamWithPerfOld(HLERequestContext& ctx); - void DecodeInterleavedWithPerfAndResetOld(HLERequestContext& ctx); - void DecodeInterleavedForMultiStreamWithPerfAndResetOld(HLERequestContext& ctx); - void DecodeInterleaved(HLERequestContext& ctx); - void DecodeInterleavedForMultiStream(HLERequestContext& ctx); + Result DecodeInterleavedOld(OutBuffer<BufferAttr_HipcMapAlias> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, + InBuffer<BufferAttr_HipcMapAlias> opus_data); + Result SetContext(InBuffer<BufferAttr_HipcMapAlias> decoder_context); + Result DecodeInterleavedForMultiStreamOld(OutBuffer<BufferAttr_HipcMapAlias> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, + InBuffer<BufferAttr_HipcMapAlias> opus_data); + Result SetContextForMultiStream(InBuffer<BufferAttr_HipcMapAlias> decoder_context); + Result DecodeInterleavedWithPerfOld( + OutBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, Out<u64> out_time_taken, + InBuffer<BufferAttr_HipcMapAlias> opus_data); + Result DecodeInterleavedForMultiStreamWithPerfOld( + OutBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, Out<u64> out_time_taken, + InBuffer<BufferAttr_HipcMapAlias> opus_data); + Result DecodeInterleavedWithPerfAndResetOld( + OutBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, Out<u64> out_time_taken, + InBuffer<BufferAttr_HipcMapAlias> opus_data, bool reset); + Result DecodeInterleavedForMultiStreamWithPerfAndResetOld( + OutBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, Out<u64> out_time_taken, + InBuffer<BufferAttr_HipcMapAlias> opus_data, bool reset); + Result DecodeInterleaved( + OutBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, Out<u64> out_time_taken, + InBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> opus_data, + bool reset); + Result DecodeInterleavedForMultiStream( + OutBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_pcm_data, + Out<u32> out_data_size, Out<u32> out_sample_count, Out<u64> out_time_taken, + InBuffer<BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> opus_data, + bool reset); std::unique_ptr<AudioCore::OpusDecoder::OpusDecoder> impl; Common::ScratchBuffer<u8> output_data; |