Commit Graph
87 Commits
Author SHA1 Message Date
Unknown W. Brackets af411e6b1e Check for AV_NOPTS_VALUE from ffmpeg pts values.
Apparently it's returning this now.  If we don't have it, just increment.

Fixes #5217.
2014-01-25 14:59:28 -08:00
Unknown W. Brackets f19d8d2eae Handle alternating video streams a lot better. 2014-01-21 01:16:16 -08:00
Unknown W. Brackets 2a9e674045 Reset "no audio data" flag when adding more data.
It might have audio data.  Although, probably, we should detect this when
sceMpegGetAtracAu() is called.
2014-01-10 16:15:03 -08:00
Unknown W. Brackets 936f34a6b7 Check the audio buffer size just in case.
This way we definitely won't overfill it.
2014-01-04 01:25:42 -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 82a7680bab Remove the 5 packet min for openContext.
Should be safer, and with retrying, it's no longer necessary.
2014-01-01 21:00:29 -08:00
Unknown W. Brackets 2c38805791 Retry opening the context if it fails at first.
This fixes #4550, the hang on the crash video in FF4.
2014-01-01 20:47:10 -08:00
Unknown W. Brackets c1dcebce07 Fix savestates when videos are playing. 2014-01-01 20:44:51 -08:00
Unknown W. Brackets ce7c5e0cf9 Initialize m_decodingsize to 0.
Fixes #4609, intermittent video issues in Lunar.
_PsmfPlayerFillRingbuffer() expects getRemainSize() to return something
useful even before the context is opened.
2014-01-01 15:14:22 -08:00
Unknown W. Brackets 8e797796e5 Wait for only 5 frames before seeking mpegs.
Workaround for Mana Khemia, ugh... must be more complex logic.  Valkyrie
Profile still works.
2013-12-17 02:00:57 -08:00
Unknown W. Brackets 3204ec94fb Forget video end when more packets are added.
Good for looping videos, for example Burnout.
2013-12-14 11:33:32 -08:00
Unknown W. Brackets 20b81ef552 Don't try to seek the video with too few packets.
Conservatively we seem to need approximately 6, which any video ought to
be longer than.
2013-12-14 11:18:08 -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
Sacha 3e762f2864 Make !USE_FFMPEG savestates compatible. 2013-11-12 18:06:43 +10:00
Sacha efad755ccc Buildfix !USE_FFMPEG 2013-11-12 17:52:43 +10: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
Unknown W. Brackets ad8c4af936 Respect the bgm vol setting for at3, mp3, video. 2013-10-26 19:33:25 -07:00
Henrik Rydgard f5a63d7d41 Better fix for the UINT_64 define issue on android 2013-10-20 13:52:31 +02:00
Henrik Rydgård be40289d6c Use ffmpeg for Atrac3+ decoding during video playback as well. 2013-10-19 23:09:26 +02:00
Henrik Rydgård ac2334386a Move BufferQueue out of the at3 plugin header 2013-10-17 12:31:22 +02:00
Unknown W. Brackets 8fb2cb5bf6 Check log level from ffmpeg, use levels. 2013-09-21 17:19:57 -07: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 0c6fbb461d Tweak ffmpeg logging in mp3/atrac as well. 2013-09-16 08:40:38 -07:00
Unknown W. Brackets d13d8ad946 Avoid writing to stdout/stderr from ffmpeg.
This will log some errors in the log even in release.
2013-09-16 08:35:32 -07: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 bbe13f1d74 Avoid a crash when a bad video stream is specified. 2013-08-29 00:41:22 -07:00
Unknown W. Brackets 8d00ab61e3 Remove the gpu->Resized() on video play.
Doesn't seem necessary anymore, can cause blinking.
2013-08-22 23:55:02 -07:00
Henrik Rydgård 171e202019 Warning fixes 2013-08-20 19:20:03 +02:00
Ced2911 7f6dd0d58b endian for media engine 2013-08-16 09:18:45 +02:00
The Dax 489748ffc0 Change nullptr to NULL to avoid possible issues with platforms that don't support C++11. 2013-07-27 02:16:06 -04:00
The Dax 349d4eba2b 64-bit PPSSPP(Windows): Attempt to fix games that crash with Atrac3plusdecoder64.dll. It seems to be caused by m_audiocontext being null.. 2013-07-27 00:38:42 -04:00
oioitff 97c6b96408 Remove IsAudioEnd(), use IsNoAudioData() instead. 2013-07-02 17:20:46 +08:00
oioitff dc04584ca1 Add a new option to enable
Linear Filtering only for CGs.
2013-06-30 03:35:28 +08:00
oioitff 2b9f9283c2 Improve getRemainSize for MediaEngine.
It's more accurate now.
2013-06-25 00:17:04 +08:00
oioitff 7f7e7adfe2 Free loaded data in Ringbuffer only while
ffmpeg is requiring more data. Clean up some codes.
2013-06-25 00:16:59 +08:00
oioitff b1cc94b9bf Bug fix for mpeg. 2013-06-25 00:16:46 +08:00
oioitff 7bde93d534 Fix corrupted frames and implement savestate
for mpeg.
2013-06-25 00:16:42 +08:00
oioitff c970a7e689 Use ringbuffer as a real PSP instead huge buffer. 2013-06-25 00:16:38 +08:00
Lioncash ee164a3977 Fix a case where a pointer was being used before its null check in MediaEngine.cpp 2013-06-24 03:42:13 -04: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
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