Commit Graph

255 Commits

Author SHA1 Message Date
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgard
fcbc20f240 Small changes to make Common and Core build under my preliminary UWP setup. 2017-02-24 18:59:41 +01:00
Henrik Rydgard
19d321bd8c Fix a bad memory leak in sceMpeg 2017-02-20 11:12:39 +01:00
sum2012
957dfa1288 Add timing of sceMpegDelete
based on JPCSP 8e4e6334da762be37a90855a686a7decbc29bacf
2017-02-08 05:18:22 +08:00
Unknown W. Brackets
f70f05668f Mpeg: Return errors when no audio is available.
Before, we were only returning an error once, in an effort to log only
once.  This meant sometimes games would not realize they needed to add
packets.

Un-reverted from e866d83.  No longer breaks Patapon with other mpeg fixes.
2016-09-24 17:54:40 -07:00
Henrik Rydgård
eac18489e6 Merge pull request #8867 from unknownbrackets/mpeg
Improve mpeg parsing / corruption issues
2016-08-06 18:14:17 +02:00
Unknown W. Brackets
e55198f7e7 Correct some initialization order warnings.
Also, another missing init with IRBlocks.
2016-08-05 10:46:11 -07:00
sum2012
1cc645b5e4 Revert "Temporarily disable PMP video for non-windows"
This revert
5e20ba1811
2016-07-25 20:21:53 +08:00
Unknown W. Brackets
558b4620e8 Mpeg: Parse video streams from PSMF header.
Without doing this, FFmpeg will try to probe the streams to detect them
instead.  When it does this, sometimes it tries to read beyond the data
that's available - and then gets confused by EOFs.

Parsing this way allows us to control the situation.

An example is Valkyrie Profile, corruption in the first frames of the
second video during the intro.  Thi doesn't fix it yet, but now it's just
a matter of buffering.
2016-07-24 15:58:06 -07:00
Unknown W. Brackets
266ee632e8 Cleanup FFmpeg funcs deprecated in 3.x. 2016-07-24 12:53:54 -07:00
Unknown W. Brackets
04dcaeae1d Mpeg: Move, rather than resetting, packetsAvail.
When we've got garbage data, this has to stay incorrect.  Without this,
Megaman X gets confused when playing its video (because it enqueues
garbage packets.)

See #3318.
2016-06-04 18:16:23 -07:00
Unknown W. Brackets
4ee39f82e4 Mpeg: Validate added packets.
Older libraries only, but this will cause it to reject packets that don't
make sense.  So far, this seems to mirror the behavior of various garbage
packets sent to the real firmware.
2016-06-04 18:16:22 -07:00
Unknown W. Brackets
41f2999a2b Mpeg: Write into the ringbuffer using actual ring.
This mimics behavior with clamped sizes and wrap around, and also makes it
easier to implement the garbage data handling the PSP has.
2016-06-04 18:16:21 -07:00
Unknown W. Brackets
6d14c17f26 Mpeg: Treat negative available packets as zero. 2016-06-04 18:16:19 -07:00
Unknown W. Brackets
deffb246ae Mpeg: Require less memory for older lib versions.
It seems it started requiring 64k at 1.05.
2016-06-04 18:16:18 -07:00
sum2012
5e20ba1811 Temporarily disable PMP video for non-windows 2016-04-13 20:06:51 +08:00
Henrik Rydgard
c8457d39ed Fix a bunch of compiler warnings, delete some unused code 2016-03-13 15:17:31 +01:00
Henrik Rydgard
e866d83547 Temporarily revert "Mpeg: Return errors when no audio is available."
This reverts commit c03f6c23ed.

This caused trouble as seen in #8464, but is probably right - needs other fixes though so
it will have to wait until after 1.2.0.
2016-01-23 17:08:01 +01:00
Unknown W. Brackets
f60aef2e16 Add a more specific interface for video frames.
Since we know more about them.  No functional change yet.
2016-01-17 12:57:26 -08:00
Unknown W. Brackets
74d40115a0 Mpeg: Initialize esBuffer to safer values.
Makes the audio work properly in Dan Ball Senki W (#4786.)
2016-01-17 00:31:22 -08:00
Unknown W. Brackets
c03f6c23ed Mpeg: Return errors when no audio is available.
Before, we were only returning an error once, in an effort to log only
once.  This meant sometimes games would not realize they needed to add
packets.
2016-01-17 00:22:46 -08:00
Henrik Rydgard
351baa101c Some Android warning fixes 2015-09-22 18:30:57 +02:00
Henrik Rydgård
33c39636c8 Don't use deprecated FFMPEG codec IDs. Tries to solve #7955.
Simpler alternative to #7959.
2015-09-12 10:45:03 +02:00
Unknown W. Brackets
c0dde25e5a Set the sid on StreamInfo.
It's not used anyway, but if we have it there it might be later.
2015-04-08 11:57:58 -07:00
Unknown W. Brackets
2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00