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
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
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
Unknown W. Brackets
3464fd6b00
Fix crash with unitialized var in mpeg code.
2012-12-24 11:56:51 -08:00
Henrik Rydgard
8053c244b8
Implement large chunks of sceMpeg and scePsmf with JPSCP as a guide.
...
Not yet hooked up to FFMPEG and doesn't quite work yet.
2012-11-13 18:07:20 +01:00