Commit Graph

138 Commits

Author SHA1 Message Date
raven02
b28f224fe2 sceMpeg: Add all missing invalid memory check and cleanup format 2014-01-04 16:55:20 +08:00
Unknown W. Brackets
4e929764c8 Set the audio/video streams per sceMpegGet*Au().
This fixes #2226, thanks to @raven02 for finding the issue.  Could also
help e.g. Xyanide: Resurrection and a few other games.

The video codec change path is not super well tested, because I couldn't
find a game that triggered it, but it should work.
2014-01-03 09:29:37 -08:00
Unknown W. Brackets
183b4cb45c Add a static method for creating PSPPointers.
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -08:00
Unknown W. Brackets
5220115708 Reduce sceMpegRingbufferAvailableSize() logspam.
It's really mostly interesting when it changes only.
2013-12-14 14:56:03 -08:00
Unknown W. Brackets
ae0560a1db Ignore bad video decode addresses.
Instead of crashing, even if that's more fun.
2013-12-11 08:21:01 -08:00
Henrik Rydgård
0e54e24b24 Revert "Use swap code from native instead. Remove all other versions of it."
Broke movie playback.

This reverts commit 9fcb08a326.

Conflicts:
	native
2013-10-28 17:24:03 +01:00
Sacha
9fcb08a326 Use swap code from native instead. Remove all other versions of it. 2013-10-28 03:07:32 +10:00
shenweip
b1f81999fa Fix someting wrong. 2013-10-05 00:04:51 +08:00
raven02
e51a9b6dd6 Fix missing intro CG in GTA series 2013-09-21 12:03:54 +08:00
shenweip
6bcf1705ec Typo 2013-09-18 18:19:08 +08:00
shenweip
d0c5a721b0 fix wrong var name 2013-09-18 16:21:18 +08:00
shenweip
440b6197d7 Change DEBUG_LOG_REPORT to DEBUG_LOG and change internal funcs name as @unknownbrackets 's advice 2013-09-18 16:19:05 +08:00
shenweip
a62e9f15e9 Implemented sceMpegAvcConvertToYuv420. 2013-09-18 14:05:09 +08:00
The Dax
d102baacd0 Prep PPSSPP for Visual Studio 2013. 2013-09-17 10:27:06 -04:00
Unknown W. Brackets
50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Henrik Rydgard
8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
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