eden-miror/src/core
lizzie ff8368c606
[audio] Replace libopus with FFmpeg (#4169)
FFmpeg offers two opus decoders:
- libopus, this one is fed the same data (that affects output) as the previous libopus decoder had as well
- native opus decoder: this only takes Float32 samples, we then need to invoke swrescale to translate between s16 (what switch sends) and float32 (what FFmpeg expects), the process is computationally more expensive, but trades off neatly as the native opus decoder is very optimised

It also relegates the handling to FFmpeg, which simplifies existing code (more concretely, by using the "fill/drain" scheme for packets/frames)

Closes #2897

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4169
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-09-12 09:59:33 +02:00
..
arm [common/core/dynarmic] Optimize page table allocations (#4219) 2026-09-09 21:35:49 +02:00
crypto [common] rework BitField and BitUtil, use concepts whenever possible (#4076) 2026-07-09 03:47:04 +02:00
debugger [cmake] Fix some macOS compilation errors (#4350) 2026-09-05 23:43:46 +02:00
file_sys [fs] moved temp folder cleanup upstream (per-application level) to avoid per-program retrigger (#4375) 2026-09-10 22:30:07 +02:00
frontend [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
hle [hle] Enforce max_sessions, add bpc:ams service (#4394) 2026-09-11 21:38:52 +02:00
internal_network [internal_network] Fix WiFi scanner compilation on GCC 15.3.0 (#4279) 2026-08-21 23:29:24 +02:00
loader [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
memory [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
tools [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
CMakeLists.txt [audio] Replace libopus with FFmpeg (#4169) 2026-09-12 09:59:33 +02:00
constants.cpp [core] Use a eden profile picture instead of the default grey one. (#3350) 2026-01-20 18:32:08 +01:00
constants.h [core] Use a eden profile picture instead of the default grey one. (#3350) 2026-01-20 18:32:08 +01:00
core.cpp [fs] moved temp folder cleanup upstream (per-application level) to avoid per-program retrigger (#4375) 2026-09-10 22:30:07 +02:00
core.h [service, nvhost] added machinery to allow microsleep between nvdec read requests to avoid guest panic in some games (#4316) 2026-08-29 14:22:09 +02:00
core_timing.cpp [core, gpu, threads] Multithreading refactor (#4254) 2026-08-08 04:39:47 +02:00
core_timing.h [core/core_timing] better MWAITX and WAITPKG delays (#3984) 2026-05-30 21:59:10 +02:00
cpu_manager.cpp [core, gpu, threads] Multithreading refactor (#4254) 2026-08-08 04:39:47 +02:00
cpu_manager.h [video_core, hle] remove redundant parent references in system structs (#3908) 2026-06-23 06:31:25 +02:00
device_memory.cpp
device_memory.h [common/core/dynarmic] Optimize page table allocations (#4219) 2026-09-09 21:35:49 +02:00
device_memory_manager.h [common/core/dynarmic] Optimize page table allocations (#4219) 2026-09-09 21:35:49 +02:00
device_memory_manager.inc [common/core/dynarmic] Optimize page table allocations (#4219) 2026-09-09 21:35:49 +02:00
game_settings.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
game_settings.h [core] Add overridable game setting functionality (#2963) 2025-12-17 03:59:27 +01:00
gpu_dirty_memory_manager.h
guest_memory.h Solves warning about GuestMemory having internal linkage. 2025-04-04 03:40:47 +02:00
hardware_properties.h [dynarmic] jit fix branch v2 (#203) 2025-08-27 06:49:50 +02:00
launch_timestamp_cache.cpp [common] Switch to boost::unordered_flat containers (#4326) 2026-08-31 02:58:09 +02:00
launch_timestamp_cache.h [tests] fix compile+linking issues with PlayTime (#3345) 2026-01-19 16:27:18 +01:00
memory.cpp [common/core/dynarmic] Optimize page table allocations (#4219) 2026-09-09 21:35:49 +02:00
memory.h Revert "[core/memory] Remove defered heap allocation on Linux." (#2974) 2025-11-09 22:42:09 +01:00
perf_stats.cpp [frontend] Slow and Turbo modes (#3525) 2026-02-12 01:31:55 +01:00
perf_stats.h
reporter.cpp [core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238) 2026-08-29 01:04:02 +02:00
reporter.h [prepo] Add support for missing PlayReport commands (#3674) 2026-03-06 15:02:59 +01:00