122 Commits

Author SHA1 Message Date
Unknown W. Brackets
1ed8edb0d3 Avoid some dangerous hex constant widths. 2013-08-22 23:23:48 -07:00
Ced2911
aa1787411e endian for scempeg 2013-08-16 09:17:51 +02:00
Unknown W. Brackets
8830d3603e Fix some overflow/null deref warnings. 2013-08-12 23:33:52 -07:00
Unknown W. Brackets
0b5bdeb1d3 Fix some compile failures under big endian. 2013-07-28 21:04:17 -07:00
sum2012
a0faeb7849 Fix "for The variable 'ringbuffer' is being used without being initialized"
in Second Novel Kanojo no Natsu 15 fun no Kioku
2013-07-23 20:26:33 +08:00
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 Castelli
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