<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/audio_core/opus/hardware_opus.cpp, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2026-09-14T12:34:24+00:00</updated>
<entry>
<title>Revert "[audio] Replace libopus with FFmpeg (#4169)" (#4419)</title>
<updated>2026-09-14T12:34:24+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-09-14T12:34:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=2b4184dd2bb33da081702263d59c3eadb299e673'/>
<id>urn:sha1:2b4184dd2bb33da081702263d59c3eadb299e673</id>
<content type='text'>
This reverts commit ff8368c6066faf3962e2f77af7da4954e2ff6a43.

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4419
Reviewed-by: Maufeat &lt;sahyno1996@gmail.com&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[audio] Replace libopus with FFmpeg (#4169)</title>
<updated>2026-09-12T07:59:33+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-09-12T07:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ff8368c6066faf3962e2f77af7da4954e2ff6a43'/>
<id>urn:sha1:ff8368c6066faf3962e2f77af7da4954e2ff6a43</id>
<content type='text'>
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 &lt;lizzie@eden-emu.dev&gt;
Co-authored-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4169
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Reviewed-by: Maufeat &lt;sahyno1996@gmail.com&gt;
</content>
</entry>
<entry>
<title>[opus] proper limit and error code for opus decoder instances (#4384)</title>
<updated>2026-09-10T20:29:35+00:00</updated>
<author>
<name>xbzk</name>
<email>xbzk@eden-emu.dev</email>
</author>
<published>2026-09-10T20:29:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=00a1c392e7252eaad82b50119037e01bf6b92a73'/>
<id>urn:sha1:00a1c392e7252eaad82b50119037e01bf6b92a73</id>
<content type='text'>
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

This is intended to fix Hades II save loading issue.

By analyzing panic dump it was found out that the error code was 0x160A. By decoding firmware it was found that error comes from 'nn::codec::InitializeHardwareOpusDecoder'.

Further decoding revealed that SDK tries to allocate multiple opus instances, up to the fw limit of 24 instances, and when it receives return error ResultOutOfOpusDecoders (385), a software fallback is gracefully used.

Implementing the limitation and the limit reached error code return makes saves load properly, multiple times in a row in both windows and android.

I still wonder why the game allocates too many parallel instances, but the current implementation is a real fw compliant solution, and whether the 24+ is real or some leak may be investigated later, or not.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4384
Reviewed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay (#4238)</title>
<updated>2026-08-28T23:04:02+00:00</updated>
<author>
<name>Maufeat</name>
<email>sahyno1996@gmail.com</email>
</author>
<published>2026-08-28T23:04:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=54cd5fb8ebf11b71c676b72a32811873caef20de'/>
<id>urn:sha1:54cd5fb8ebf11b71c676b72a32811873caef20de</id>
<content type='text'>
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

- Dynamic shader cache reloading capability for qlaunch
- Multi-process improvements (thanks to @frank1734), instead of just using the main application we now respect caller process (also did it for HID devices while I was at it)
- Layer stack masks &amp; shared buffer screenshot for video core, added different masks (screenshot, recording, etc.) this was discovered as an issue due to how in qlaunch the transition was not right between applications. May not be perfect but also fixes screenshots while using qlaunch
- Reworked overlay display management (input and visibility) - instead of random numbers as I've previously did, I decided to add an AppletZIndex enum for better readability. Also split capability of input by touch and gamepad.
- etc.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4238
Reviewed-by: Samuel &lt;lizzie@eden-emu.dev&gt;
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>audio: rewrite IHardwareOpusDecoderManager</title>
<updated>2024-02-21T03:15:38+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-02-21T01:42:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=f5c288e8aebc567315ce877c0c3b8ff1ffbbaf0d'/>
<id>urn:sha1:f5c288e8aebc567315ce877c0c3b8ff1ffbbaf0d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert files to LF eol</title>
<updated>2023-11-04T18:25:40+00:00</updated>
<author>
<name>Kelebek1</name>
<email>eeeedddccc@hotmail.co.uk</email>
</author>
<published>2023-11-04T18:25:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=539b99379d3aa6bc6f9e9f92e2716e7b2a62e110'/>
<id>urn:sha1:539b99379d3aa6bc6f9e9f92e2716e7b2a62e110</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reimplement HardwareOpus</title>
<updated>2023-09-16T15:56:25+00:00</updated>
<author>
<name>Kelebek1</name>
<email>eeeedddccc@hotmail.co.uk</email>
</author>
<published>2023-08-31T14:09:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=07b63b15ad88999703da44615761263f3fa85ee1'/>
<id>urn:sha1:07b63b15ad88999703da44615761263f3fa85ee1</id>
<content type='text'>
</content>
</entry>
</feed>
