Commit Graph
271 Commits
Author SHA1 Message Date
Unknown W. Brackets ffe7ef1ee2 Avoid spurious warnings in sceAtrac.
Valkyrie Profile for example calls this, doesn't seem like 0 matters.
2015-04-12 10:35:53 -07:00
Henrik Rydgård a269e118b3 Merge pull request #7658 from unknownbrackets/debugger
Make it easier to use memchecks in HLE
2015-04-06 17:03:14 +02:00
Unknown W. Brackets 2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Unknown W. Brackets 0fc64dc717 Return an error when the atrac stream is full. 2015-04-05 17:22:38 -07:00
Unknown W. Brackets ae4811d0d1 Still fudge seek positions for low level.
Since in this case we're tricking it into reading the same buffer area.
2015-03-26 22:34:45 -07:00
Unknown W. Brackets 425eed7bea Keep separate track of ffmpeg pos and decode pos.
FFmpeg buffers, so forcing the pos only makes FFmpeg read in garbage
because it doesn't know that you seeked in the bytestream on it.
2015-03-26 20:23:37 -07:00
Henrik Rydgård 62e621f8a1 Merge pull request #6976 from unknownbrackets/atrac-minor
When seeking to atrac positions, force alignment and start from zero
2015-03-26 00:29:51 +01:00
Unknown W. Brackets fcf0518223 Update all the HLE tables with arg and ret info. 2015-03-22 20:51:55 -07:00
sum2012 35c04e1187 Fix tab 2015-03-22 06:35:49 +08:00
sum2012 2c89d78f9d Add a logging in sceAtracGetRemainFrame 2015-03-22 06:16:28 +08:00
sum2012 1ce1da9e73 Remove another blank 2015-03-20 21:38:13 +08:00
sum2012 b92c0538b6 Remove blank 2015-03-20 21:36:31 +08:00
sum2012 67e847366a Add more log in sceAtrac 2015-03-19 22:34:35 +08:00
sum2012 86c76fc4dc Add remain frame information in sceAtracGetRemainFrame 2015-03-18 00:29:32 +08:00
ChinandHenrik Rydgard 22593cddcc Use pre-increment instead of post-increment for iterators, and use auto for some iterators 2015-03-01 16:55:47 +01:00
ChinandHenrik Rydgard ff5d408c81 Combine two ifs 2015-03-01 16:48:25 +01:00
Unknown W. Brackets f200d5df94 Use structs for the lowlevel at3 lookup tables.
More sensible this way.
2015-02-27 21:02:20 -08:00
daniel229 3b59c72280 at3plusHeaderMap 2015-02-27 22:29:14 +08:00
Unknown W. Brackets a8b59e171b Fix a few type comparison warnings. 2015-02-22 13:31:23 -08:00
sergiobenrocha2 9dbd18e59d Ensure that it will use ffmpeg from ppsspp, not from the system. 2015-02-03 17:46:51 -02:00
Unknown W. Brackets 7a974b364c Cap writable bytes to filesize when streaming.
Otherwise we may ask for more than is possible at the end.
2015-02-01 15:13:52 -08:00
Unknown W. Brackets b36a25f602 Even if we don't get enough data, fill what we can. 2015-02-01 15:13:51 -08:00
Unknown W. Brackets 9a8f61eced Seek forward from 0 as well.
Otherwise we also get incorrect data.
2015-02-01 15:13:51 -08:00
Unknown W. Brackets 97fd19f8cd Seek backwards by force decoding, align seeks.
It seems like we can only (safely) seek to sample boundaries, which makes
sense.  Also, we get wrong data unless we "warm" it by seeking from 0, it
seems like.

This makes looping produce correct data.  Fixes #6970.
2015-02-01 15:13:50 -08:00
Unknown W. Brackets 9a26758a13 Fix a savestate loading issue.
Maybe just older savestates.  Sometimes we have block_align already, but
not a valid atracBytesPerFrame, so skip it.
2015-01-19 09:03:53 -08:00
Unknown W. Brackets 6777dcd0cc Validate the fmt chunk size more correctly. 2015-01-17 16:35:25 -08:00
Unknown W. Brackets 7b29c645ba Correct parsing of the atrac RIFF fmt chunk.
It's just a standard fmt with extra data.  We were reading the block align
incorrectly.

Also, set the block align to help FFmpeg.
2015-01-17 15:47:36 -08:00
Unknown W. Brackets 5687f10801 Improve atrac file parsing.
Seems like it is willing to parse multiple RIFF chunks.  This may generate
more accurate errors, at least they match tests better.
2015-01-17 15:25:11 -08:00
Unknown W. Brackets 61d43f1616 Fix some glitches in the new AA3 handling.
Matches a test better.
2015-01-04 16:34:58 -08:00
Unknown W. Brackets db5af4f838 Correct sceAtracSetAA3*() handling.
This is used to send OMA / AA3 files, which have a different format.

Couldn't have been working before, may not work correctly still.
2015-01-04 12:56:28 -08:00
Lioncash 4ccb838306 Core: Mark some module functions as static 2014-12-08 04:40:08 -05:00
Lioncash f830d5dec7 Core: Mark some functions as const 2014-12-03 15:16:11 -05:00
Unknown W. Brackets adef5bbe59 Discard packet data when seeking. 2014-10-03 23:23:36 -07:00
Unknown W. Brackets 50e4eded75 Actually use the temp packet. 2014-10-03 23:08:16 -07:00
Unknown W. Brackets 72e8e6448f Don't eat packet data when using a temp packet. 2014-10-03 22:17:25 -07:00
Unknown W. Brackets cf7e280185 Attempt to ensure we don't decode partial frames. 2014-10-03 22:11:45 -07:00
Unknown W. Brackets f421453bf9 Align samples even after a loop.
This corrects the amount of audio after certain loops, but it doesn't seem
to output the right data when this happens.

Possibly, seeking isn't doing the right thing and resetting state that
shouldn't be reset when a loop happens.  Not sure... but it was already
wrong before, this just reads the right amount of it.
2014-10-03 21:33:45 -07:00
Unknown W. Brackets 2f443f52a6 Ensure we request s16 samples.
We won't get these for atrac3+, but we should for atrac3 (seems to be the
default anyway, but better to be clear.)
2014-10-03 20:05:08 -07:00
Unknown W. Brackets 24ab84a0fe Centralize atrac frame decode logic. 2014-10-03 20:04:54 -07:00
Unknown W. Brackets 398646411a Properly handle atrac packets with multiple frames.
This gets us decoding the start of a file and near loops way more
correctly.
2014-10-03 19:48:39 -07:00
Unknown W. Brackets 1b520ea673 Correct first next sample calculation.
If it's exactly matching a frame size, we need to return a full frame,
rather than 0.  Fixes #6967.
2014-10-03 07:49:35 -07:00
Unknown W. Brackets 2221951cd9 Correct atrac looping offset by one frame. 2014-09-28 15:19:30 -07:00
Unknown W. Brackets 3856a53503 Handle atrac files with larger "fact" chunks.
Ends up with the a separate offset for loops, it seems like.  This corrects
looping information for these files.
2014-09-28 15:19:29 -07:00
Unknown W. Brackets 58afdfac60 Return an error for MOut on a stereo stream.
It seems like it won't downmix, it returns an error.
2014-09-28 15:19:29 -07:00
Unknown W. Brackets c88b66b308 d3d9: Emulate some logic ops with blending.
This makes Brave Story's intro visible.  Also add for GLES2/GLES3, but
doesn't seem to work on GLES2.
2014-09-23 21:13:47 -07:00
Unknown W. Brackets 0ebe5325d4 Correct the end from sceAtracGetSoundSample().
I think it's meant to be the last *valid* sample.
2014-09-23 11:33:21 -07:00
Unknown W. Brackets e717a87f9f Add extra frames if we run out of atrac data.
We could probably insert frames instead for GHA phase shifting, but this
will solve other bugs too, I think.
2014-09-23 11:33:21 -07:00
Unknown W. Brackets fa42426d21 Clamp the final sample count during decode.
Some games depend on / expect this, or else they'll let important data get
overwritten.
2014-09-23 11:33:20 -07:00
Unknown W. Brackets 68f4a1e7f7 Return the correct next sample at the beginning. 2014-09-23 11:33:20 -07:00
Unknown W. Brackets 0aa7247fea Fix seeking in atrac after the start.
Not sure the very start is right though, arg.
2014-09-23 11:33:19 -07:00