Commit Graph
117 Commits
Author SHA1 Message Date
Henrik Rydgård 812b3f8bf7 Merge pull request #2582 from oioitff/mpeg-fix
Try to open MediaEngine as a real PSP.
2013-07-02 11:28:22 -07:00
oioitff 97c6b96408 Remove IsAudioEnd(), use IsNoAudioData() instead. 2013-07-02 17:20:46 +08:00
oioitff 9c11d0542c Do savestate for mpegheader. 2013-07-02 01:26:31 +08:00
oioitff e503ed15ec Try to open MediaEngine as a real PSP. 2013-07-02 01:04:19 +08:00
Unknown W. Brackets d8eede0b9a Add some unknown syscalls from reporting.
These are being linked in by games, so defining them will log them when
they are hit.
2013-06-30 12:05:14 -07:00
oioitff 64a042d7f8 Correct sceMpegAvcDecode/sceMpegAvcDecodeYCbCr behavior. 2013-06-30 20:24:20 +08:00
oioitff 6b87524077 sceMpegGetAvcAu should return
PSP_ERROR_MPEG_NO_DATA at first call before mpegAvcDecode.
2013-06-28 22:06:20 +08:00
Henrik Rydgård 872366a137 Merge pull request #2284 from oioitff/mpeg-fix2
Use ringbuffer as a real PSP instead the huge buffer.
2013-06-26 13:55:50 -07:00
Lioncash b823bb7543 Change PSPPointer function name Valid to IsValid.
Improves readability and shows intent better.
2013-06-25 09:51:39 -04:00
oioitff c970a7e689 Use ringbuffer as a real PSP instead huge buffer. 2013-06-25 00:16:38 +08:00
Henrik Rydgård 25e8041076 Merge pull request #2401 from unknownbrackets/mpeg-minor
Eat cycles in sceMpegRingbufferAvailableSize() and cut down memcpy()
2013-06-22 09:55:41 -07:00
Henrik Rydgard 4eb1638cc3 Merge remote-tracking branch 'origin' into mp3-support
Conflicts:
	Core/HLE/sceAudio.cpp
	Core/HLE/sceMp3.cpp
2013-06-22 18:08:43 +02:00
Unknown W. Brackets 0b4e93a671 Clean up sceMpegRingbufferAvailableSize().
Avoid a memory copy, some crash checks.
2013-06-22 08:39:25 -07:00
Unknown W. Brackets ca78dd4e6d Eat cycles in sceMpegRingbufferAvailableSize().
Some games call this in a loop, so it affects perf.  And, this eats quite
a few cycles, implying it does a lot more work than I thought it did.
2013-06-22 08:36:31 -07:00
Unknown W. Brackets 2863e74e52 For now, ignore duplicate sceMpegInit()/Finish()'s.
Need to properly handle module unload for this to work right.

Fixes #2364.
2013-06-20 01:53:07 -07:00
oioitff 09d5a404e2 Both video/audio timestamp seem to start from firstTimeStamp in sceMpeg.
Fix video playback for Castlevania Dracula X Chronicles.
2013-06-13 21:03:17 +08:00
Henrik Rydgard b8959b956b sceMpegGetUserDataAu: return ERROR_MPEG_NO_DATA. Add some notes for later implementing mpeg user data. Fixes part of #2172. Thanks to [unknown] 2013-06-11 19:27:02 +02:00
Henrik Rydgård 6b84743082 Merge pull request #2217 from oioitff/mpeg-fix
Add support for multiple video/audio stream.
2013-06-11 07:42:19 -07:00
oioitff 77a17cacc5 Add support for multiple video/audio stream. 2013-06-11 19:04:14 +08:00
Unknown W. Brackets 4cbd44a6ca Add fixes to sceMpegAvcDecodeYCbCr().
It seems a lot like sceMpegAvcDecode(), these are just copy/paste.
2013-06-10 23:18:08 -07:00
Henrik Rydgard e115ed4187 Work-around crash in sceMpeg with bad ringbuffer address.
Add reminder on first run to access the ingame menu with ESC on windows.
2013-06-11 00:51:10 +02:00
oioitff 32fb534375 Improve mpeg timestamp.
Read 6 bytes timestamp instead.
2013-06-10 04:21:36 +08:00
Henrik Rydgard 51daa1f878 Delete the "Use Media Engine" option. 2013-06-08 22:53:36 +02:00
Unknown W. Brackets 14034fd9c1 PSP can decode directly to vram, so detect that.
Not sure if any games do this but I did it in a test.
2013-06-08 04:52:37 -07:00
Unknown W. Brackets 4de27773d2 Detect audio end separately from video end.
Fixes Crisis Core, broken by Wipeout Pure fix.
2013-06-08 03:00:50 -07:00
Unknown W. Brackets 0852d8734a Try to handle video end more correctly. 2013-06-08 03:00:49 -07:00
Unknown W. Brackets 6844c7cab6 Don't read more than total packets per mpeg put.
And add notes on how it's supposed to really work.
2013-06-08 03:00:47 -07:00
Unknown W. Brackets 8544cf2359 Delay sceMpegCreate() a bit to match PSP firmware. 2013-06-08 03:00:47 -07:00
Unknown W. Brackets 8b25545849 Don't allow sceMpegInit() twice. 2013-06-08 03:00:46 -07:00
oioitff 156c4ca78a Fix crash for invalid mpeg header. 2013-06-05 15:46:04 +08:00
oioitff c913f92427 More improvement for mpeg pts.
The mpeglastTimeStamp is probably wrong in some videos. So a video is
end only if there is no more data for decoding.
2013-06-04 23:03:09 +08:00
oioitff a9ba797ce5 Improve mpeg pts.
A real PSP return a value start from 0.
2013-06-03 17:00:58 +08:00
Unknown W. Brackets b32a52f35c Convert videos directly to the desired format.
This still converts at least in some cases, but less.  But these seem
backwards, why are the BGR formats converting to RGB?
2013-06-02 00:31:16 -07:00
Unknown W. Brackets 3d1e426e4a Send games a free packet count that makes sense. 2013-06-01 15:33:47 -07:00
oioitff 0b23e0389f Rewrite and implement sceMpeg with MediaEngine. 2013-06-02 01:29:59 +08:00
Unknown W. Brackets 4f069a23d9 Since we don't use readlength yet, don't add it.
This would actually go negative often enough, making us consume packets
more slowly than we should, or even never finish consuming.  4 is probably
too small, though.
2013-05-26 17:59:13 -07:00
Unknown W. Brackets 45b72c8b4a Add a couple more unknown syscalls. 2013-05-23 23:41:10 -07:00
Unknown W. Brackets 8580780194 Add more unknown syscalls from reporting. 2013-05-22 01:19:25 -07:00
Unknown W. Brackets 86ce95a658 Add some syscall entries from reporting. 2013-05-19 22:12:38 -07:00
Florent CastelliandHenrik Rydgard 501f705ba3 Merge mp3 support from Orphis' old FFMPEG code.
Conflicts:
	CMakeLists.txt
	Core/HLE/sceAudio.cpp
	Core/HLE/sceMp3.cpp
	Core/HLE/sceMpeg.cpp
2013-05-12 19:13:10 +02:00
Jacky TSUI 95addc09b1 Separate sceMp3 from sceMpeg 2013-05-06 21:14:58 +08:00
Unknown W. Brackets 273080a48b Add delays to the sceMpegGet*Au() functions.
Mostly from JPCSP.  I'm having trouble building a good test that
replicates these, but this fixes #1198 and seems right.
2013-04-20 23:17:10 -07:00
Unknown W. Brackets a296bba3e1 Also delay inside sceMpegAtracDecode().
This is just from JPCSP but we don't have the function working properly
yet anyway.
2013-04-20 22:42:51 -07:00
Unknown W. Brackets 3914742485 Make sceMpegAvcDecode() reschedule, based on tests.
Timing seems variable but this should be safe-ish.
2013-04-20 22:38:56 -07:00
Unknown W. Brackets a232764728 Fix error code for empty ringbuffer in mpeg. 2013-04-20 22:16:41 -07:00
Unknown W. Brackets 1bb66ea7eb Respect looping in sceMp3Decode(). 2013-04-15 02:00:03 -07:00
Unknown W. Brackets 40067470c2 Initial sceMpegGetUserdataAu() from JPCSP.
Because I got the stub wrong, so now it does something.
2013-04-08 00:47:25 -07:00
Unknown W. Brackets 4974124587 Fix some small constant-comparison type warnings. 2013-04-05 20:58:35 -07:00
Unknown W. Brackets 832edb0a8f Fix some x64 type conversion warnings. 2013-04-05 20:29:20 -07:00
Unknown W. Brackets b80a3e83c3 Reset video pts when registering new streams. 2013-04-01 07:56:43 -07:00