Liam
5165ed9efd
service: fetch objects from the client handle table
2 years ago
Kelebek1
67e2d5c28b
Reimplement HardwareOpus
3 years ago
FearlessTobi
a7a5835ffb
hwopus: Implement GetWorkBufferSizeExEx
Allows Sea of Stars to boot.
Fixes https://github.com/yuzu-emu/yuzu/issues/11415 .
3 years ago
FearlessTobi
c2f827b85e
hwopus: Implement OpenHardwareOpusDecoderForMultiStreamEx and DecodeInterleavedForMultiStream
Allows MLB The Show 22 to boot.
Fixes https://github.com/yuzu-emu/yuzu/issues/7911 .
3 years ago
Morph
310b6cf4af
general: Use ScratchBuffer where possible
3 years ago
Kelebek1
5da70f7197
Remove memory allocations in some hot paths
3 years ago
Liam
65be230fdd
service: move hle_ipc from kernel
3 years ago
Narr the Reg
39ca7b2928
core: Update service function tables to 16.0.0+
3 years ago
arades79
683019878f
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
arades79
45e13b03f3
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
ameerj
2d2522693e
Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
This reverts commit 25fc5c0e11 , reversing
changes made to af20e25081 .
3 years ago
liamwhite
b01698775b
Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer"
3 years ago
ameerj
a1490d77ac
hle_ipc: Rename ReadBufferSpan to ReadBuffer
3 years ago
ameerj
7ffd624248
service: Use ReadBufferSpan where it is trivial to do so
3 years ago
Lioncash
97f273e94e
service: Make use of buffer element count helpers
3 years ago
FengChen
672e61d802
core: implement HwOpus GetWorkBufferSizeForMultiStreamEx
4 years ago
Kelebek1
458da8a948
Project Andio
4 years ago
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
Morph
762b8ad448
general: Replace high_resolution_clock with steady_clock
On some OSes, high_resolution_clock is an alias to system_clock and is not monotonic in nature. Replace this with steady_clock.
4 years ago
Morph
7bb2dd75cd
service: Reduce header include overhead
5 years ago
bunnei
36d581ec73
hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.
5 years ago
bunnei
3565e32f4d
hle: service: hwopus: Implement GetWorkBufferSizeEx and OpenHardwareOpusDecoderEx.
- This is used by the latest update of Doom Eternal.
5 years ago
Morph
a0e4c2e1fc
general: Replace RESULT_UNKNOWN with ResultUnknown
Transition to PascalCase for result names.
5 years ago
Morph
12c1766997
general: Replace RESULT_SUCCESS with ResultSuccess
Transition to PascalCase for result names.
5 years ago
Lioncash
9a07ed53eb
core: Make variable shadowing a compile-time error
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
5 years ago
Morph
a2d40b8185
hwopus: Update to 12.x
5 years ago
Lioncash
1a954b2a59
service: Eliminate usages of the global system instance
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
5 years ago
bunnei
3d592972dc
Revert "core: Fix clang build"
6 years ago
Lioncash
be1954e04c
core: Fix clang build
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
6 years ago
David
9b75481755
ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer ( #4465 )
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
6 years ago
makigumo
926ea5a16d
update hwopus DecodeInterleaved for FW 7.0.0+
trivial change,
see https://switchbrew.org/wiki/Audio_services#IHardwareOpusDecoder
6 years ago
Lioncash
f11b87ebf1
service: Resolve sign conversion errors
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
7 years ago
Lioncash
7ad3d4e49c
hwopus: Leverage multistream API for decoding regular Opus packets
After doing a little more reading up on the Opus codec, it turns out
that the multistream API that is part of libopus can handle regular
packets. Regular packets are just a degenerate case of multistream Opus
packets, and all that's necessary is to pass the number of streams as 1
and provide a basic channel mapping, then everything works fine for
that case.
This allows us to get rid of the need to use both APIs in the future
when implementing multistream variants in a follow-up PR, greatly
simplifying the code that needs to be written.
7 years ago
Lioncash
d03ae881fd
service/audio/hwopus: Move decoder state to its own class
Moves the non-multistream specific state to its own class. This will be
necessary to support the multistream variants of opus decoding.
7 years ago
Lioncash
960057cba0
service/audio/hwopus: Provide a name for the second word of OpusPacketHeader
This indicates the entropy coder's final range.
7 years ago
Lioncash
d41d85766f
service/audio/hwopus: Move Opus packet header out of the IHardwareOpusDecoderManager
This will be utilized by more than just that class in the future. This
also renames it from OpusHeader to OpusPacketHeader to be more specific
about what kind of header it is.
7 years ago
Lioncash
3293877456
service/audio/hwopus: Enclose internals in an anonymous namespace
Makes it impossible to violate the ODR, as well as providing a place for
future changes.
7 years ago
Lioncash
a897feb21e
hwopus: Implement DecodeInterleaved
This functions almost identically to DecodeInterleavedWithPerfOld,
however this function also has the ability to reset the decoder context.
This is documented as a potentially desirable thing in the libopus
manual in some circumstances as it says for the OPUS_RESET_STATE ctl:
"This should be called when switching streams in order to prevent the
back to back decoding from giving different result from one at a time
decoding."
7 years ago
Lioncash
07b86dc28c
hwopus: Deduplicate the decoding code within DecodeInterleavedOld and DecodeInterleavedWithPerfOld
Keeps the logic in one spot for use by both functions.
7 years ago
Lioncash
44f39bfb68
hwopus: Replace std::optional<std::reference_wrapper<u64>> with u64*
This doesn't really offer anything over the use of a direct pointer, so
we can just use that instead.
7 years ago
Lioncash
eb1a3c1f4a
hwopus: Mark local variables as const where applicable
Makes non-mutable state more explicit.
7 years ago
Lioncash
06887c80a5
hwopus: Fill in the rest of the unknown service function names
Filled in via information provided by SwitchBrew.
7 years ago
David Marcec
dace6087d6
Fixed hwopus compile error
7 years ago
David Marcec
3d627df4d8
Improved error messages in AM, HwOpus and NvMap
7 years ago
David Marcec
a2cc3b10bb
Changed logging to be "Log before execution", Added more error logging, all services should now log on some level
7 years ago
bunnei
585e6fd426
hwopus: DecodeInterleavedWithPerformance: Fix ordering of output parameters.
- Fixes audio issues with Pokemon: Let's Go Pikachu & Eevee.
8 years ago
David Marcec
03c26d3406
Fixed incorrect hwopus assert
8 years ago
David Marcec
fa10905e1e
HwOpus, Implemented DecodeInterleavedWithPerformance
Used by sonic ages
8 years ago
fearlessTobi
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
8 years ago
Lioncash
c243bc09d4
service/audio: Replace includes with forward declarations where applicable
A few headers were including other headers when a forward declaration
can be used instead, allowing the include to be moved to the cpp file.
8 years ago