Commit Graph
53 Commits
Author SHA1 Message Date
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
Sacha 5aba914a42 Build fix for non-ffmpeg and non-gcc non-++11. 2013-06-12 10:51:30 +10: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 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
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 Rydgard 04d24012e1 Prevent crashing the emu in stepVideo when things have gone very wrong. 2013-06-09 13:45:48 +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
oioitff 156c4ca78a Fix crash for invalid mpeg header. 2013-06-05 15:46:04 +08: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
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
Sacha aa67301618 Buildfix for non-ffmpeg platforms. 2013-06-02 20:05:40 +10:00
Unknown W. Brackets 777bcc36b2 Android/etc. buildfix.
I keep thinking enums can be forward declared... and MSVC allows it.
2013-06-02 02:46:16 -07:00
Unknown W. Brackets d69da21189 Also convert directly inside sceMpegAvcCsc().
Erp, needed this too, what was I thinking?
2013-06-02 01:47:55 -07:00
Unknown W. Brackets 8dfeeee4a1 Handle 16-bit video conversion correctly.
Still directly converting, turns out colors are swapped and linesize needs
adjustment.  Oops.
2013-06-02 01:37:16 -07: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
Henrik Rydgard 230d0b3679 Buildfixes 2013-06-01 23:37:51 +02:00
oioitff e099b8d954 Rewrite and implement MediaEngine. 2013-06-02 01:29:22 +08:00
Unknown W. Brackets 3931f07852 Fix a couple bad bounds checks in VAG/Mpeg. 2013-05-18 10:19:12 -07:00
raven02 2b89ccfa50 Use Dark Grey to identify CG is running instead of black 2013-04-28 10:43:31 +08:00
Unknown W. Brackets 4974124587 Fix some small constant-comparison type warnings. 2013-04-05 20:58:35 -07:00
raven02 c7d2626bca Set fake image to black 2013-03-18 19:28:10 +08:00
Unknown W. Brackets 74f3b81846 Check for a null pointer when writing video. 2013-01-28 02:16:06 -08:00