Commit Graph
82 Commits
Author SHA1 Message Date
Henrik Rydgård c2bcdd3076 Buildfix with system ffmpeg 2024-04-12 16:45:45 +02:00
Henrik Rydgård 5ed77b58ca Improve the AudioDecoder API to avoid having to call a function to get the bytes consumed 2024-04-11 16:49:00 +02:00
Henrik Rydgård bf280eb410 Remove "SetExtraData" from AudioDecoder, pass in the data at creation instead 2024-04-11 14:39:59 +02:00
Henrik Rydgård c6c67695b1 Hook up ATRAC3 too 2024-04-11 14:39:59 +02:00
Henrik Rydgård c902973688 Setup more of the setup 2024-04-11 14:39:59 +02:00
Henrik Rydgård 8d4716cab6 WIP: Add AT3/AT3plus files, get it to compile (though will fail to link if we use it) 2024-04-11 14:39:59 +02:00
Henrik Rydgård db929ea042 Use minimp3 for in-game mp3 decoding. Doesn't solve any issues it seems, but works like before. 2024-04-11 14:19:22 +02:00
Henrik Rydgård 3de85c8d14 Remove more unnecessary accessors 2024-04-11 14:18:07 +02:00
Henrik Rydgård 5b3be0d720 Update USE_FFMPEG checks 2024-04-10 18:40:02 +02:00
Henrik Rydgård 8adca6492c Move class SimpleAudio into the cpp file 2024-04-10 13:03:19 +02:00
Henrik Rydgård 1805910fac More refactoring 2024-04-10 12:22:58 +02:00
Henrik Rydgård 1938d3b876 More prep for plugging in alternate audio decoders 2024-04-10 12:14:58 +02:00
Henrik Rydgård 32ca7ab59a Minor code cleanups 2024-04-10 12:07:03 +02:00
Henrik Rydgård 88eb2c2e0b Add a virtual base class so we can implement alternative decoders 2024-04-10 00:45:02 +02:00
Henrik Rydgård ddbe0e853b Remove unused code 2024-04-10 00:40:16 +02:00
Andrew Udvare 930b7f644d ffmpeg: Improved fix for checking if const AVCodec* is necessary 2024-02-05 14:37:09 -05:00
Andrew Udvare 402f9acb5e Fix compilation with newer ffmpeg versions 2024-01-13 00:12:21 -05:00
Henrik Rydgård 0a13c78788 Revert "ffmpeg: Don't ask for multi-threaded decoding"
This reverts commit b173e0f4a4.

Turns out it's not actually known to fix anything, should have closed
that old PR.
2023-01-12 16:23:39 +01:00
Henrik Rydgård b173e0f4a4 ffmpeg: Don't ask for multi-threaded decoding
For whatever reason, our version of ffmpeg has problems with it,
and I don't care enough to dig deep.

See PR #13806
2023-01-12 12:13:10 +01:00
Unknown W. Brackets c44d787df4 Mpeg: Check memory access range on GetPointer(). 2023-01-09 16:53:10 -08:00
Unknown W. Brackets a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Henrik Rydgård e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Unknown W. Brackets d45fe93588 Mp3: Output PCM data using even/odd buffer slot.
This makes sense since the audio APIs are all async.
2022-01-27 00:22:44 -08:00
Unknown W. Brackets 914d022eef Mp3: Allow decode with NULL out pointer. 2022-01-27 00:22:44 -08:00
Unknown W. Brackets 4903e14aae Mp3: Cleanup AuCtx constructor. 2022-01-27 00:22:43 -08:00
Henrik RydgårdandGitHub 2f3bc2d373 Merge pull request #14056 from unknownbrackets/debugger-mem
Track memory allocations and writes for debug info
2021-02-21 10:18:11 +01:00
Unknown W. Brackets b19e39efb0 Audiocodec: Update to latest FFmpeg packet pump. 2021-02-18 00:20:27 -08:00
Unknown W. Brackets 2362d71d70 Mpeg: Remove deprecated codec register calls. 2021-02-18 00:20:27 -08:00
Unknown W. Brackets f7740edc6d Debugger: Add more metadata for memory usage. 2021-02-15 15:01:21 -08:00
Unknown W. Brackets 463fc3c792 Mp3: Allow decode without pcm pointer.
Just like other audio decoding, you're allowed to skip audio.
Also prevents a crash if the mp3 is not yet inited.
2021-01-25 23:51:55 -08:00
sum2012 942ce775cc Fix AuCheckStreamDataNeeded function
fix #13633
2020-11-08 22:47:32 +08:00
Unknown W. Brackets b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets 4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Unknown W. Brackets 4ee5d2b611 Mp3: Correct seek to specific frame.
Before, it treated it as an (incomplete) seek to a byte position, which
didn't make much sense.  This matches PSP behavior per tests.
2019-04-29 04:47:59 -07:00
Unknown W. Brackets bfa9aa009d Mp3: Properly flush the buffer on reset. 2019-04-29 04:47:59 -07:00
Unknown W. Brackets 4b4c0f9bda Mp3: Always output data in decode, except at end.
Turns out this doesn't return 0 until the end, even if there's no data
available to decode.  It just writes zeros in that case.
2019-04-29 04:47:59 -07:00
Unknown W. Brackets fde59c955d Mp3: Use a vector for the temp buffer.
Hopefully will move to reading RAM directly.  I think this was not always
adding data properly, as I got wrong output after decode.  Makes more
sense as a vector, anyway.
2019-04-29 04:45:36 -07:00
Unknown W. Brackets ac43e55194 Mp3: Loop correctly from an offset.
If the offset points to an ID3 tag or the middle of a frame, that's fine -
it should just search forward to the next sync.  FFmpeg just returns a
decode error, so we do this first.
2019-04-28 08:35:35 -07:00
Unknown W. Brackets e4817b4e83 Mp3: Reset sum decoded on loop.
And only on loop, not when getting add info (which clearly doesn't loop,
from tests.)
2019-04-28 07:55:29 -07:00
Unknown W. Brackets a3640f303b Mp3: Correct sum decoded sample count.
It shouldn't consider both channels of stereo.  This could've been causing
some games to think they were playing audio at an incorrect speed.
2019-04-28 07:30:56 -07:00
Unknown W. Brackets bc1e6e12f5 Mp3: Return total frame count in sceMp3GetFrameNum.
This might fix games failing to play mp3s correctly.
2019-04-28 07:10:26 -07:00
Unknown W. BracketsandGitHub df9c922198 Merge pull request #10783 from LunaMoo/fillSoundBuffer
Remove "sound speed hack"
2019-04-28 06:20:13 -07:00
LunaMoo 0a4dc1f883 Remove "sound speed hack". 2019-04-25 04:15:31 +02:00
Unknown W. Brackets 0d6570e8ad Mp3: Correct sceMp3GetMaxOutputSample.
Was based on output buffer size, rather than frame size, before.

Fixes choppy audio in Velocity.
2019-04-24 14:31:12 -07:00
Unknown W. Brackets be6710ea4a Mp3: Fix errors for a bunch of init getters. 2019-04-24 14:13:46 -07:00
Unknown W. Brackets e4d2712897 Mp3: Apply offset to stream read buffer.
Handle errors for sceMp3CheckStreamDataNeeded as well.
2019-04-23 21:14:54 -07:00
Unknown W. Brackets f9863c3be2 Mp3: Align CheckStreamDataNeeded with InfoToAdd.
May cause problems if they don't match.
2019-04-23 20:42:13 -07:00
Unknown W. Brackets f1eaf9dc0e Mp3: Don't change buffer accounting until add.
If we just ask what we should add, that is meant to stay static until we
do actually add it.

This also reduces the max we ask for at a time, which better matches
correct behavior and might impact game behavior.
2019-04-23 20:18:16 -07:00
Henrik Rydgard fcbc20f240 Small changes to make Common and Core build under my preliminary UWP setup. 2017-02-24 18:59:41 +01:00
Unknown W. Brackets 266ee632e8 Cleanup FFmpeg funcs deprecated in 3.x. 2016-07-24 12:53:54 -07:00