Commit Graph
130 Commits
Author SHA1 Message Date
liushuyu c7869ff332 audio_core/hle/ffmpeg_decoder: make avcodec const 2022-02-21 00:51:17 -07:00
bunneiandSachinVin 4f737c329e android: audio_core: Remove noisy log. 2021-09-29 22:51:11 +05:30
Marshall MohrorandGitHub ab6c605e59 Merge pull request #5609 from gal20/enable-fdk-patch
Enable fdk decoder for flatpak version
2020-12-30 11:59:18 -06:00
1aaec7938f Initial implementation of partial_embedded_buffer_dirty handling (#5548)
* Initial implementation of partial_embedded_buffer_dirty handling

* Apply suggestions from code review

Co-authored-by: Marshall Mohror <mohror64@gmail.com>

* Serialize physical address, fix LOG_TRACE

* Add bracket

* Avoid crash in partial update behavior

Co-authored-by: Marshall Mohror <mohror64@gmail.com>
2020-11-17 17:31:05 -05:00
gal20andGitHub 5683f86ed3 Remove pessimistic sanity check
This check creates false positive when using the flatpak runtime library
2020-11-14 20:06:25 +02:00
FearlessTobiandLC 51d348b087 General: Make use of std::nullopt where applicable
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.

This also makes it consistent how we return empty optionals.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-10-03 17:25:54 +02:00
xperia64andGitHub b4ec50ba21 Actually return true if InitMFDLL succeeded (#5470) 2020-07-23 00:46:10 -04:00
Pengfei ZhuandGitHub 2632b421c2 Merge pull request #5266 from xperia64/audio_ticks_tweak
Adjust audio_frame_ticks
2020-06-11 22:37:30 +08:00
xperia64 b0a20180ee Update comments after hardware testing 2020-06-10 23:05:02 -04:00
xperia64 62e2cd6239 Use samples_per_frame instead of hardcoded 160 2020-06-10 17:10:50 -04:00
xperia64 20d823a42a Fix WMF AAC decoder bug 2020-06-10 16:58:09 -04:00
xperia64 a0e8255b65 Update cycles and explanation 2020-04-26 03:14:54 -04:00
xperia64 3a1601a534 Change audio_frame_ticks with length explanation 2020-04-21 23:40:34 -04:00
xperia64andGitHub 38c3c9c74b Add sample rate field to AAC decoder (#5195)
* Add sample rate field to AAC decoder

* Fix TODO comment

* Remove unneeded conversion
2020-04-21 20:34:50 -05:00
Hamish Milne 828f88d20a Merge branch 'master' into feature/savestates-2 2020-04-12 11:24:06 +01:00
Marshall MohrorandGitHub 9c7da35382 Merge pull request #5083 from zhaowenlan1779/video-dumping-update
video_core, citra_qt: Video dumping updates
2020-04-03 21:15:32 -05:00
Hamish Milne 92640fc29c Code review actions (plus hopefully fix the linux CI) 2020-03-31 17:54:28 +01:00
James RoweandGitHub a6ee1bf913 HLE Audio: Increase frame position by input buffer sample rate (#5049)
* HLE Audio: Increase frame position by input buffer sample rate

Currently the frame position moves ahead by the number of samples
output, but thats a fixed number based on the 3ds native sample rate.
Instead, based on a homebrew by cyuubi and looking at the lle audio,
this sample position should be moved forward by the number of samples
from the input buffer that was read, based on the buffer's sample rate.
2020-03-28 10:39:50 -05:00
Hamish Milne 025960bcdd Attempt to fix flatpak CI 2020-03-28 15:10:35 +00:00
Hamish Milne 7049af744f Merge remote-tracking branch 'upstream/master' into feature/savestates-2 2020-03-28 12:33:21 +00:00
Hamish Milne 232b52a27d Minor cleanup 2020-03-28 09:59:45 +00:00
Hamish Milne 3d1180ee21 DSP now works... committing this!! 2020-03-27 22:19:29 +00:00
BreadFish64 37384174d9 fix formatting for media-ndk 2020-03-17 21:15:33 -05:00
zhang weiandGitHub 3410b96400 mediandk for android (#4921) 2020-03-16 21:07:22 -05:00
Hamish Milne da3ab3d56e Merge branch 'master' into feature/savestates-2 2020-03-07 21:23:08 +00:00
zhupengfei 3c6765e87c core: Properly std::move things around 2020-02-27 16:55:09 +08:00
liushuyuandGitHub cff00f38c5 Implements fdk_aac decoder (#4764)
* audio_core: dsp_hle: implements fdk_aac decoder

* audio_core: dsp_hle: clean up and add comments

* audio_core: dsp_hle: move fdk include to cpp file

* audio_core: dsp_hle: detects broken fdk_aac...

... and refuses to initialize if that's the case

* audio_core: dsp_hle: fdk_aac: address comments...

... and rebase commits

* fdk_decoder: move fdk header to cpp file
2020-02-23 11:01:21 +01:00
Hamish Milneandzhupengfei c983528862 Reworked DSP serialization 2020-02-13 17:42:12 +08:00
James RoweandGitHub 5fd1ff08d7 Merge pull request #5024 from jroweboy/temp-hle-audio-fix
Prevent out of memory errors when the game passes in an improper length value
2020-01-21 15:30:20 -07:00
James Rowe e53a2ac411 Reenable AAC FFMPEG decoding
Simple cut/paste issue where initialized is only set to true when the
emulation attempts to init the Binary Pipe, but we used it to test if
the FFMPEG decoder was valid and disabled it if it wasn't. Just return
the value of have_ffmpeg_dl instead so when dynamic loading is added
it'll still work.
2019-12-16 19:23:43 -07:00
James Rowe 87facaa2e2 Prevent out of memory errors when the game passes in an improper length value
HACK

In Luigi's Mansion Dark Moon in HLE audio, the game mysteriously passes
in an extremely large value for length, which without any checks, causes
HLE audio to allocate an extremely large buffer.

This value seemingly is caused by some other HLE audio feature is missing,
and Luigi's Mansion subtracts two values to get a length, without
checking for overflow first. This appears to be caused by an incorrect
HLE audio emulation, as its fixed entirely by only changing to LLE. As
such, further investigation is required, but in the meantime, completely
eating up our users RAM is unacceptable.
2019-12-14 18:18:59 -07:00
James Rowe 337ac73915 Improve aac decoder selection 2019-12-08 16:18:39 -07:00
James Rowe b395efe804 Dynamically load Media Foundation 2019-12-08 13:54:27 -07:00
liushuyu 8021361bb4 audio_core: dsp_hle: use better f32 to s16...
... conversion by clamping and clipping sample to [-1,1] and use
different masks for negative and positive samples
2019-05-01 15:58:26 -06:00
Weiyi WangandGitHub 8f2bd97277 Merge pull request #4655 from tgsm/gcc-version
Remove GCC version checks
2019-02-22 16:21:21 -05:00
tgsm 433ab35e7e Remove GCC version checks
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
2019-02-19 16:39:34 -05:00
tgsm a400e49338 audio_core: use nested namespaces 2019-02-17 23:41:48 -05:00
liushuyu a4ba35fe3a audio_core: hle: mf: lint 2019-02-13 15:15:11 -07:00
liushuyu 671ac441e9 audio_core: hle: mf: move transform initializer to ctor 2019-02-13 14:32:14 -07:00
liushuyu 6178cc08b7 audio_core: hle: mf: conform to RAII as possible 2019-02-13 14:08:34 -07:00
liushuyu f0e041e27a audio_core: hle: mf: correctly handle stream change 2019-02-09 16:49:48 -07:00
liushuyu 01e0902fa4 audio_core: hle: mf: fix a memory accessing issue 2019-02-09 13:55:54 -07:00
liushuyu 6281660844 audio_core: hle: mf: address yet another batch of reviews 2019-02-09 13:55:42 -07:00
liushuyuandB3N30 ab1f47ed15 audio_core: hle: mf: make DetectMediaType return a struct 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 168f2ee79a audio_core: mf: make initialize function return smart pointer 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 c91f5029ff audio_core: hle: mf: fix a regression...
... where the sample copying logic is incorrect due to the wrong usage
of `std::array`
2019-02-09 11:57:36 +01:00
liushuyuandB3N30 6332e57069 audio_core: hle: mf: return values as std::optional 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 25fa10327b audio_core: hle: mf: use object proxy 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 26b3b41788 audio_core: hle: mf: wrap enum in class 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 633f02b9b2 audio_core: hle: mf: avoid name conflicts 2019-02-09 11:57:36 +01:00