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
Unknown W. Brackets
fcf0518223 Update all the HLE tables with arg and ret info. 2015-03-22 20:51:55 -07:00
sum2012
b3bb733b0d Add back hleDelayResult in sceMpegAvcCsc
Fix #7549 Dengeki no Pilot: Tenkuu no Kizuna video flickering
But not break Bleach heat of soul 6
2015-03-04 07:21:38 +08:00
Unknown W. Brackets
d49010832c Make sceMpegChangeGetAuMode() operate more sanely.
I'm pretty sure this is what the intention was before, but it still
doesn't do anything useful (since ignore* are... ignored.)
2015-03-01 09:26:53 -08:00
Unknown W. Brackets
f312925374 Fix a log message. 2015-03-01 09:26:08 -08:00
Chin
22593cddcc Use pre-increment instead of post-increment for iterators, and use auto for some iterators 2015-03-01 16:55:47 +01:00
sum2012
b5ee54a653 Fix linux compile 2015-03-01 08:39:48 +08:00
sum2012
cb66412919 Some work in sceMpegGetPcmAu
Fix #6546
2015-03-01 06:52:45 +08:00
Unknown W. Brackets
522f9fabd8 Add some reporting to sceMpeg funcs. 2015-02-28 11:15:02 -08:00
sergiobenrocha2
9dbd18e59d Ensure that it will use ffmpeg from ppsspp, not from the system. 2015-02-03 17:46:51 -02:00
Unknown W. Brackets
ce33a9f128 Try to handle savestates better.
Just in case.  This isn't perfect but it should catch common cases.
2015-01-03 21:46:40 -08:00
Unknown W. Brackets
67cbf2e904 Reverse packetsFree to packetsAvail.
This is the actual value stored in memory, which games may be accessing or
even writing to.

Makes the video/mpeg/ringbuffer/avail test pass.
2015-01-03 18:59:56 -08:00
Lioncash
cac632424c Core: Add missing override specifiers 2014-12-08 15:20:31 -05:00
Lioncash
4ccb838306 Core: Mark some module functions as static 2014-12-08 04:40:08 -05:00
Lioncash
efaba33624 sceMpeg: Remove an unnecessary if statement
stream is previously used in the above memcpy, so this check is not necessary.
2014-12-03 16:49:01 -05:00
Unknown W. Brackets
baf465500a Fix a bad iterator dereference in sceMpeg.
Though not sure it should actually reach here, let's at least not crash.
2014-08-31 21:15:04 -07:00
sum2012
21e024eeda sceMpegRingbufferAvailableSize might use a different
Based on http://code.google.com/p/jpcsp/source/detail?r=1813
Fix #5112
2014-07-27 23:40:46 +08:00
Unknown W. Brackets
ef4847b6f5 Don't double decrease g_inCbCount.
Happened when a thread was deleted, it seems like.  Fixes #6542.
2014-07-12 09:57:13 -07:00
Henrik Rydgard
1d0cc3417c Audio stuff: Cleanup, delete dead code 2014-06-22 14:01:23 +02:00
Unknown W. Brackets
de2a3834e0 Abuse esBuffer to track the vid/aud stream id. 2014-06-21 09:27:39 -07:00
Unknown W. Brackets
aa6355a9e5 Reschedule after many cases of eating cycles.
All of these eat enough cycles they could cause issues in a loop, and I'm
pretty sure they would reschedule.
2014-06-13 00:30:21 -07:00
Sacha
37b7667038 Remove some unnecessary #ifdef's relating to Symbian. 2014-06-10 23:06:00 +10:00
sum2012
f047320a9c Revert "Apply hleDelayResult to sceMpegAvcCsc"
Fix video 's screen dislocation in Bleach heat of soul 6
#5535
2014-05-18 12:25:32 +08:00
Unknown W. Brackets
eae4c9cc49 Check for no audio more directly.
This fixes some cases where the flag was set wrong.
2014-04-26 09:38:13 -07:00
raven02
5b7035b71a Missing default case :( 2014-04-18 21:32:02 +08:00
raven02
fd330b4d93 Use getMpegVersion to get ctx->mpegVersion 2014-04-18 20:27:17 +08:00