Commit Graph
108 Commits
Author SHA1 Message Date
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
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
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
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
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
liushuyuandB3N30 452ac7b874 audio_core: hle: mf: use more enum 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 be764e4f88 audio_core: hle: mf: multiple fixes...
... more smart pointers and re-arrange code
2019-02-09 11:57:36 +01:00
liushuyuandB3N30 4bc6bfd51f audio_core: hle: mf: re-arrange comments 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 972b527374 audio_core: hle: mf: cleanup headers 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 2c40ef2a90 audio_core: hle: mf: rename functions 2019-02-09 11:57:36 +01:00
liushuyuandB3N30 ea8a1f8754 Media Foundation Memory Fix
* audio_core: hle: mf: more smart pointers

* audio_core: hle: mf: fix memory leaks

* audio_core: hle: mf: even more smart pointers
2019-02-09 11:57:36 +01:00
liushuyuandB3N30 10f876653d audio_core: hle: mf: transition to use smart pointers 2019-02-09 11:56:51 +01:00
liushuyuandB3N30 bee5ba3e33 audio_core: hle: mf: fix a regression...
... an introduction in 8f591d3b85714383196fd21e744a7eed5302ff0a
2019-02-09 11:56:51 +01:00
liushuyuandB3N30 06316be8a7 audio_core: hle: mf: minor fix 2019-02-09 11:56:51 +01:00
liushuyuandB3N30 c03861c2d9 audio_core: hle: mf: address another batch of reviews from @B3N30 2019-02-09 11:56:51 +01:00
liushuyuandB3N30 7f5b54fda4 audio_core: hle: mf: address reviews from @B3N30 2019-02-09 11:56:51 +01:00
liushuyuandB3N30 11e277149c audio_core: hle: fix compile 2019-02-09 11:56:51 +01:00
B3N30 80b4dd21d2 audio_core: dsp_hle: add Media Foundation decoder...
* appveyor: switch to Media Foundation API
* Travis CI MinGW build needs an update with the container image
2019-02-09 11:56:51 +01:00
B3N30 1581dea6de more reviews addressed 2019-02-09 11:55:12 +01:00
liushuyuandB3N30 8fe3e37df5 audio_core: fix msvc include issue 2019-02-09 11:55:12 +01:00
B3N30 bd9984b5f8 Addressed reviews 2019-02-09 11:55:12 +01:00
B3N30 847003cc1c FFmpegDL: Added external_dlls folder to user folder
AACDecoder: addressed reviews
2019-02-09 11:52:31 +01:00
B3N30 45b5de7a18 Fixup: Merge conflict with dsp lle 2019-02-09 11:52:31 +01:00
B3N30 c521f3b7d6 CoreAudio::HLE: Add FFmpeg aac decoder 2019-02-09 11:52:31 +01:00
Weiyi Wang 104829ae58 remove all occurance of specifying endianness inside BitField
This commit it automatically generated by command in zsh:
sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.)

BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
2019-01-28 22:09:43 -05:00
Weiyi Wang 6f6ffceec4 audio_core/hle,lle: implement UnloadComponent 2018-12-21 20:49:21 -05:00
Weiyi Wang 4add509b20 audio_core/hle: move implementation of LoadComponent 2018-12-21 20:49:21 -05:00