Commit Graph
250 Commits
Author SHA1 Message Date
Henrik Rydgard 67c185f8ea Update native to not wait in the opensl callback. Some minor audio optimizations. Also it seems ffmpeg has changed so update it. 2013-06-22 17:37:09 +02:00
Sacha 0839a6ed07 Fix frozen black screens for non-FFMPEG platforms 2013-06-20 01:34:34 +10:00
Sacha 45775d4fc2 Fix for non-ffmpeg platforms. Thanks unknownbrackets!
Can now get past videos on platforms such as Meego and Symbian.
Also fix some spacing and type issues.
2013-06-19 01:14:14 +10:00
Henrik Rydgård 5c14ec134c Add support for external at3plus decoders on MacOSX 64bit. 2013-06-16 12:43:37 +02:00
Unknown W. Brackets afdaa1e299 Write video images with zeroed alpha.
Fixes #2277, Sword Art Online.
2013-06-15 10:01:57 -07:00
Unknown W. Brackets f6534c3809 Fix a possible buffer over/underflow issue in mpeg.
Atrac seems to have a problem here, so let's be safe.
2013-06-14 23:21:12 -07:00
Unknown W. Brackets 9406561492 The seek callback should return new offset.
Like lseek().  Not the passed param.
2013-06-14 23:12:56 -07:00
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
oioitffandUnknown W. Brackets 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 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
Sacha 5aba914a42 Build fix for non-ffmpeg and non-gcc non-++11. 2013-06-12 10:51:30 +10: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
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
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
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
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
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 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
oioitff 32fb534375 Improve mpeg timestamp.
Read 6 bytes timestamp instead.
2013-06-10 04:21:36 +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
oioitff c98adee757 Implement __sceSasConcatenateATRAC3.
.
2013-06-09 19:07:02 +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
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 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 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 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
Unknown W. Brackets b04b601958 Make sure to decode reordered mpeg frames. 2013-06-08 03:00:48 -07:00
Unknown W. Brackets 17907b204b Return a more accurate mpeg ringbuffer decode pos. 2013-06-08 03:00:46 -07:00
oioitff 49ecb1bdc0 Add support for mono CG audios. 2013-06-07 17:14:26 +08:00
Henrik Rydgard a7f7410668 Merge branch 'master' into plugindownload 2013-06-05 16:13:55 +02:00
oioitff 156c4ca78a Fix crash for invalid mpeg header. 2013-06-05 15:46:04 +08:00
Henrik Rydgard 394a6a0f5c Merge branch 'master' into plugindownload 2013-06-04 23:54:50 +02:00
Henrik Rydgard 74638ef4ae More autodownload UI work etc 2013-06-04 22:32:52 +02:00
oioitff a3788162c5 Add ffmpeg logs for MediaEngine in debug mode 2013-06-05 00:27:22 +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
Henrik Rydgard 0c7833796b Merge branch 'master' into plugindownload
Conflicts:
	Core/Core.vcxproj
	Windows/PPSSPP.vcxproj
	native
2013-06-03 23:42:49 +02: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 3d5f818095 Add a bounds check to writeVideoImageWithRange().
Fixes crash in Jeanne d' Arc, which sends 480x480.
2013-06-02 11:40:38 -07:00