Commit Graph

2953 Commits

Author SHA1 Message Date
Unknown W. Brackets
2ec8106809 Ensure FFmpeg doesn't corrupt an early keyframe.
When the analyze func runs, it seems to check between 2-4% (or so?) of the
stream, which for longer videos especially we don't have yet.  Returning a
read failure here seems to truncate that keyframe sometimes.

FFmpeg asks for the total size when this happens, which we were ignoring.
Handling it fixes this, as FFmpeg apparently realizes we ran out of data.
2013-06-14 17:56:27 -07:00
Henrik Rydgard
ce2c18d2fe Remove redundant vmov instructions (seen in wipeout) 2013-06-15 00:19:48 +02:00
oioitff
f2af925015 fix wrong video/audio stream channel. 2013-06-15 01:42:19 +08:00
oioitff
94bc8d0cd6 Implement scePsmfGetNumberOfSpecificStreams. 2013-06-15 01:39:56 +08:00
oioitff
23cefa03c6 Delay video decode until we have enough packets. 2013-06-14 01:16:59 -07:00
Unknown W. Brackets
6192feb27a Don't return less than ffmpeg wants 'til the end.
Fixes #2223 (at least for the games I have.)
2013-06-14 01:14:40 -07:00
Unknown W. Brackets
e36da8b49f Clean up scePsmfPlayer logging.
Move a bunch of things from errors.
2013-06-13 22:33:59 -07:00
Unknown W. Brackets
1af3ef0880 Clean up scePsmf logging. 2013-06-13 22:21:39 -07:00
Unknown W. Brackets
5b17005e31 Correct result of scePsmfGetVideoInfo(). 2013-06-13 22:12:16 -07:00
raven02
9b164958a2 Change to DEBUG_LOG 2013-06-14 07:19:52 +08:00
raven02
0bb7462e2d Implement scePsmfVerifyPsmf 2013-06-14 07:15:57 +08: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
Unknown W. Brackets
16b0a99e5f Adjust some default values for SAS audio. 2013-06-12 08:02:56 -07:00
Unknown W. Brackets
8b4b4a6b8c Use the 1 bit in sceSasRevVON() and cleanup.
Not used yet anyway.
2013-06-12 07:59:54 -07:00
Unknown W. Brackets
8e7c5be2e0 Don't return errors in sceSasSetPause().
-1 is perfectly valid, we just need to not infinite loop in that case by
using a logical shift not an arithmetic one.
2013-06-12 07:56:53 -07:00
Henrik Rydgård
486f88e390 Merge pull request #2230 from oioitff/atrac-fix
Use a hack method to release already finished atrac3 voice.
2013-06-12 06:47:21 -07:00
oioitff
1e00e0f519 Use a hack method to release already finished atrac3 voice. 2013-06-12 20:55:40 +08:00
The Dax
242007057f Further refinement/cleanup. 2013-06-12 05:22:26 -04:00
The Dax
03526eb874 Refine the sceUtilityScreenshot* stubs with a proper placeholder dialog. Same results, but cleaner code. 2013-06-12 05:20:08 -04:00
The Dax
fcc071d960 Fix more logging. 2013-06-12 04:50:40 -04:00
The Dax
d246690252 Fix logging; forgot to remove those. :P 2013-06-12 04:48:21 -04:00
The Dax
4017550e41 Implement some missing syscalls and "fix" one, which fixes a Project Diva 2nd hang, and possibly other games that rely on sceUtilityScreenshotGetStatus to return success, since they tend to wait forever for the dialog to finish. I'd like to implement the dialog and functionality someday, but for now, this works fine.
Also implement stub for sceRtcSetAlarmTick, though Diva 2nd doesn't care if it's implemented or not.
2013-06-12 04:46:06 -04:00
Sacha
5aba914a42 Build fix for non-ffmpeg and non-gcc non-++11. 2013-06-12 10:51:30 +10:00
Henrik Rydgard
e809e39681 Mips interpreter: Use unions instead of ugly casts. Strict-aliasing builds now work, but needs more testing so I don't enable it yet. Also some aliasing fixes for TransformPipeline. 2013-06-11 21:44:37 +02:00
Henrik Rydgard
b60a2fb819 x360 temporary right stick hard bind now configurable in ini file. 2013-06-11 21:29:55 +02: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
aquanull
e52ac677c0 Quick Save Dialog workaround. 2013-06-11 18:21:48 +08:00
Henrik Rydgard
96a15b893c Workaroud for homebrew loading modules from flash0:/kd/ 2013-06-11 11:48:45 +02:00
Henrik Rydgard
a581e0d180 Avoid division by zero in audio envelope processing. Fixes sound FX on android in some games. 2013-06-11 11:05:34 +02:00
Henrik Rydgård
cf7fafc15c Merge pull request #2191 from aquanull/PSPDialog
Psp dialog improvements
2013-06-11 01:49:34 -07:00
aquanull
96f9bfd792 Now the icon is missing. 2013-06-11 16:37:50 +08:00
Unknown W. Brackets
28729fc116 sceSasInit() ignores maxVoices and always does 32.
Weird, I can't find anything that parameter does except generate errors.
Most games call with 32 anyway...

Affects only sceSasGetEndFlag() and sceSasGetPauseFlag() really.
2013-06-11 00:43:52 -07:00
Unknown W. Brackets
b5ac7eead1 Cleanup some SAS constructors. 2013-06-11 00:37:29 -07:00
Unknown W. Brackets
2ce4cd245f Allow a video end a couple packets from end.
Fixes #2206, Patapon 3.  Possibly we don't even need this check at all,
but I'm not sure.
2013-06-10 23:18:36 -07: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
Henrik Rydgard
4bc25c91d8 Add option to have PPSSPP stay on top of other windows. Fixes #2199 2013-06-10 23:45:12 +02:00
Henrik Rydgard
43af3d81d1 Add STATE_SUSTAIN code similar to JPCSP, should fix sound fx again in some games.
Please comment in the github commit if this breaks anything. Fixes #2189
2013-06-10 22:18:50 +02:00
evilcorn
ffd2211925 Use Button X to Confirm option also changes osk select and delete buttons 2013-06-10 13:50:26 -06:00
aquanull
b5440ecb65 Unify some common elements of dialogs. 2013-06-10 21:24:49 +08:00
aquanull
3c140106be Auto-height the "borders" of the message text area.
More dialog tweaks.
2013-06-10 21:24:48 +08:00
aquanull
ddc85988ab Improve PSP system dialogs' looks.
Format date according to configurations.
Swap positions of button tips.
Fix text wrapping with non-top-left text alignment.
2013-06-10 21:24:48 +08:00
Sacha
2450c0d28d We can't use S2 or D1. Use alternative means. 2013-06-10 19:28:53 +10:00
Unknown W. Brackets
f8d6bda678 Add a better signal for VRAM copies in the GPU. 2013-06-09 23:55:32 -07:00
Henrik Rydgård
3185594d3c Merge pull request #2186 from unknownbrackets/sas-minor2
Add some error handling in sceSas, delay sceSasCore()
2013-06-09 23:48:25 -07:00
Henrik Rydgård
1998dcb468 Merge pull request #2185 from unknownbrackets/sas-minor
Correct envelope scaling in sas mixing
2013-06-09 23:47:59 -07:00
Unknown W. Brackets
3aaabfb987 Revert #1974, the other fixes are better.
This is no longer needed for games I have, and it breaks Final Fantasy
Tactics' sound effects.

Looking at JPCSP for insight, I saw that it re-enables loops if you set a
voice even with a different address (I think?) but that seems strange.
2013-06-09 22:47:01 -07:00
Unknown W. Brackets
b7d494f34e Delay in sceSasCore per tests.
Not sure if this fixes anything, but scheduling issues can be tricky.
2013-06-09 20:56:09 -07:00
Unknown W. Brackets
ea5996bf02 Don't restart release on double keyoff.
Fixes Kingdom Hearts bug, #2066.
2013-06-09 20:38:54 -07:00
Unknown W. Brackets
1d35cc46a4 Validate parameters in sceSasInit(). 2013-06-09 20:32:01 -07:00
Unknown W. Brackets
b7152c2f27 Correct envelope scaling in sas mixing.
Sound effects seem a bit loud, but this matches what JPCSP does and I've
added comments based on my understanding of it.  It makes sense.

This makes all the sounds that never get muted when the envelope hits 0 go
away.  Hurray.

Thanks to help from @i1x.
2013-06-09 19:28:21 -07:00
Unknown W. Brackets
1c1293826c Return correct errors on terminating thread.
Fixes Final Fantasy 4 hangs when playing videos a second time.
2013-06-09 18:56:36 -07:00
Henrik Rydgard
9e345132b9 Shortcut IdentifyFile (which is now used by GameInfoCache) by trusting the file extensions. 2013-06-09 23:10:26 +02:00
Henrik Rydgård
e5050442be Merge pull request #2177 from oioitff/mpeg-fix
Improve mpeg timestamp.
2013-06-09 14:05:03 -07:00
oioitff
32fb534375 Improve mpeg timestamp.
Read 6 bytes timestamp instead.
2013-06-10 04:21:36 +08:00
Unknown W. Brackets
46227c8473 Don't delay psmf video when the audio has ended.
Lunar shows logos without any audio, which means the audio pts is always
0.  That meant it delayed more each frame...
2013-06-09 10:53:49 -07:00
Henrik Rydgård
2846d3ce61 Merge pull request #2169 from unknownbrackets/rtti
Add a safety check for non-rtti
2013-06-09 10:39:41 -07:00
Henrik Rydgård
b8f6d6d559 Merge pull request #2170 from oioitff/mpeg-fix
Improve some functions for scePsmfPlayer.
2013-06-09 10:37:59 -07:00
oioitff
cdebf89584 Improve some functions for scePsmfPlayer.
Fix video end issue for Mahou Shoujo Nanoha A's Portable: The Gears of
Destiny
2013-06-10 01:07:43 +08:00
Unknown W. Brackets
fe1c26f2b2 Add a safety check for non-rtti. 2013-06-09 08:35:54 -07:00
Sacha
104a3a316b Revert extra regs allocation. Causes some crashes with ffmpeg. 2013-06-10 00:29:08 +10:00
Henrik Rydgård
35b28150a4 Merge pull request #2167 from oioitff/atrac-fix
Improve Atrac id generating and fix crash.
2013-06-09 06:21:02 -07:00
Sacha
637d75f47d Unlock the other 16 regs that are available for NEON. 2013-06-09 23:15:59 +10:00
oioitff
64b73ee51d Improve Atrac id generating and fix crash. 2013-06-09 21:10:41 +08:00
Sacha
29d1e40c79 Buildfix for Blackberry, Linux, Symbian, non-ffmpeg platforms, Meego, ... 2013-06-09 22:53:22 +10:00
Henrik Rydgård
62f8727bca Merge pull request #2165 from oioitff/atrac-fix
Implement __sceSasConcatenateATRAC3 and tiny bug fix for sceAtrac.
2013-06-09 04:54:45 -07:00
Henrik Rydgard
04d24012e1 Prevent crashing the emu in stepVideo when things have gone very wrong. 2013-06-09 13:45:48 +02:00
Sacha
583927988c Armjit Update: Improvements
Implement vsat0 and vsat1
Introduce VMOV for immediates.  Use in MOVI2F where possible by detecting if float val can be encoded.
Combine some vneg ops in ApplyPrefixST.
2013-06-09 21:27:16 +10:00
oioitff
c98adee757 Implement __sceSasConcatenateATRAC3.
.
2013-06-09 19:07:02 +08:00
oioitff
406a6adf6d Improve _AtracGenarateContext.
Fix tiny bug for savestate.
2013-06-09 19:06:24 +08:00
Henrik Rydgard
2afbc94734 Turn off RTTI, simulate it where needed. 2013-06-09 13:02:16 +02:00
Henrik Rydgard
645e8a7705 More NewUI, bugfix in ParamSFO where strings were created to include the trailing zero. 2013-06-09 12:41:12 +02:00
Henrik Rydgård
2513e52279 Merge pull request #2162 from unknownbrackets/scheduling
Don't allow the game to force wake from HLE delays
2013-06-09 00:46:25 -07:00
Unknown W. Brackets
2aae25026d Forget blocking audio threads that die/release. 2013-06-08 23:42:59 -07:00
Unknown W. Brackets
0c41d4e952 Don't allow release wait for HLE delays.
Although, presumably the thread would stop waiting, I guess the HLE func
in most cases probably checks and re-waits?

Fixes breakage in Jeanne d' Arc, which constantly releases from wait the
main thread, but calls things like sceMpegCreate which do block.
2013-06-08 23:39:49 -07:00
Unknown W. Brackets
4c730a60c9 Eat cycles in devctl 0x02425823, fix params.
I can't seem to reproduce a way to change its return value, though...

Significant performance improvement for Star Ocean, especially in intro.
2013-06-08 18:03:28 -07:00
Henrik Rydgard
533541615f Merge branch 'master' of github.com:hrydgard/ppsspp
Conflicts:
	UI/GameInfoCache.h
2013-06-08 23:01:49 +02:00
Henrik Rydgard
51daa1f878 Delete the "Use Media Engine" option. 2013-06-08 22:53:36 +02:00
Henrik Rydgård
928ef3782e Merge pull request #2152 from oioitff/atrac-fix
Scale volume in sceP3daBridgeCore and avoid overflow.
2013-06-08 13:43:34 -07:00
Unknown W. Brackets
f0cdc230d0 Savestate the context thing properly.
Just to make sure we don't leak kernel memory on load state.
2013-06-08 12:30:40 -07:00
oioitff
bfb66cc2ab Scale volume in sceP3daBridgeCore and avoid overflow. 2013-06-09 02:27:30 +08:00
Henrik Rydgård
00d589e1af Merge pull request #2150 from oioitff/atrac-fix
Partly implement _sceAtracGetContextAddress and __sceSasSetVoiceATRAC3.
2013-06-08 11:00:11 -07:00
oioitff
883d60fad3 Use a pointer for sampleQueue in SasAtrac3. 2013-06-09 01:58:06 +08:00
oioitff
3c13b574e3 Partly implement __sceSasSetVoiceATRAC3.
Fix Sol Trigger hang up issue.
2013-06-09 01:34:38 +08:00
oioitff
cac9b89823 Basically implement _sceAtracGetContextAddress. 2013-06-09 01:31:45 +08:00
oioitff
6fb2abd0fb Add sceAudiocodec stuff 2013-06-09 01:28:58 +08:00
Henrik Rydgard
3b07090682 Give GameInfo some new powers, like deleting savedata (no UI yet) and computing file sizes. Recognize directories with EBOOT.PBP in them as "games" in their own right, makes things a little cleaner. 2013-06-08 17:52:51 +02:00
Henrik Rydgard
f3224a60e1 Return "libat3plusdecoder.so" as at3plus decoder filename on non-Win/android platforms 2013-06-08 17:44:18 +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
dbb2dfdcff Invalidate FBOs when it's obvious they should be.
This fixes videos not being visible in for example Star Ocean.
Most likely any games doing a copy directly from the mpeg decode.
2013-06-08 04:51:57 -07:00
Unknown W. Brackets
f628b4319f Invalidate GPU cache in sceDmacMemcpy(). 2013-06-08 04:51:57 -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
1a987dda26 Fix crash in sceKernelGetThreadmanIdType(). 2013-06-08 03:00:50 -07:00
Unknown W. Brackets
be7fd47fc2 Calculate packets left based on decode, not read.
This seems to be more correct.  Fixes #2039.
2013-06-08 03:00:49 -07:00
Unknown W. Brackets
0852d8734a Try to handle video end more correctly. 2013-06-08 03:00:49 -07:00
Unknown W. Brackets
073282217c Cut down on void *'s for easier debugging.
Nice to be able to see inside structs with the debugger.
2013-06-08 03:00:49 -07:00
Unknown W. Brackets
36eb90293e Don't use m_pFrame->pkt_duration directly.
Docs say you're supposed to call this func instead.
2013-06-08 03:00:48 -07:00
Unknown W. Brackets
6f9a879aad Set video end only when we run out of frames. 2013-06-08 03:00:48 -07:00