Commit Graph

157 Commits

Author SHA1 Message Date
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