Commit Graph

468 Commits

Author SHA1 Message Date
Henrik Rydgard
26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01: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
Henrik Rydgård
baf01ab99d Fix #9196 - bug with new audio interpolation when delay was bigger than grainsize. 2016-12-30 09:52:32 +01:00
Henrik Rydgård
ad04f97acb Fix bug causing stack overflow in SasAudio, #9190. Move the mixbuffer off the stack for easier-to-diagnose error (this trashed the info I needed to debug pretty badly...) 2016-12-27 18:32:47 +01:00
Henrik Rydgård
88ad1cb3d8 Attempt to workaround #9190 2016-12-27 11:55:45 +01:00
Henrik Rydgard
1e095951dd Replace while loop with division (technically a right shift). 2016-12-20 22:02:40 +01:00
Henrik Rydgard
ff4b99dd97 Replace for-loop with multiplication 2016-12-20 21:52:25 +01:00
Henrik Rydgard
6782f7c75d Just figure out how many samples to read, then read it, instead of one-by-one. 2016-12-20 21:47:50 +01:00
Henrik Rydgard
e802fb0b73 Remove the verification. 2016-12-20 21:42:11 +01:00
Henrik Rydgard
451388070a Fix bug. Now use the quick inner loop, just need to redo the sample reader... 2016-12-20 21:37:31 +01:00
Henrik Rydgard
064795216e Add parallel resampling algorithm that reads directly from the temp buf 2016-12-20 21:05:23 +01:00
Henrik Rydgard
47df134b66 Optimization step 1: Separate the loops, save history from buffer. 2016-12-20 20:50:34 +01:00
Henrik Rydgard
61f80edda3 SasAudio: Straightforward implementation of linear interpolation.
Not sure about the performance impact, but calling ReadSamples with 1 as
an argument can't be terribly fast. So this might need some redesign
before merge, but should be a good starting point.
2016-12-20 20:23:00 +01:00
Henrik Rydgard
dee686b9d4 Add a setting to make the audio buffer sizes bluetooth-friendly on Android.
Replaces #8846
2016-12-01 21:36:44 +01:00
Unknown W. Brackets
209500ac0e Read only the mpeg header when reading packets.
When trying to convince FFmpeg to read only the header, this was allowed
to get longer.  But we only really need the actual header here, and that
can prevent FFmpeg mis-parsing later packets.
2016-09-24 17:45:51 -07:00
Henrik Rydgard
a465104e28 Minor code cleanup in StereoResampler (remove inner class) 2016-09-10 12:17:19 +02:00
Unknown W. Brackets
83469d5b18 Fix a type conversion warning. 2016-09-05 19:14:48 -07:00
Chris Burgener
7d089a0f76 Clean up various files 2016-09-03 19:23:17 -04:00
Chris Burgener
645cb4d69e Add Audio Dumping to File 2016-09-03 14:05:38 -04: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
980d4194c0 Io: Add a config setting for memstick status. 2016-08-05 21:27:53 -07:00
Unknown W. Brackets
bf7a020c6a Io: Notify callbacks on memstick insert/remove. 2016-08-05 21:05:48 -07:00
Unknown W. Brackets
9e488e8be4 Io: Correct some memstick devctl accuracy issues.
This makes it pass the right values in a few more cases, and unregister
callbacks properly.  Also handles duplicate callbacks.
2016-08-05 20:42:58 -07: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
dcc2541b71 Mpeg: Ask FFmpeg not to look beyond the header. 2016-07-24 15:58:05 -07:00
Unknown W. Brackets
57ae9a1181 Mpeg: Ensure garbage is not read from header.
In cases where we did not have a full 64k at first, we would potentially
send FFmpeg garbage if it asked for it.
2016-07-24 15:58:04 -07:00
Unknown W. Brackets
ff95fcd321 Mpeg: Minor cleanup to header parsing.
Make sure we don't read garbage.
2016-07-24 15:58:03 -07:00
Unknown W. Brackets
266ee632e8 Cleanup FFmpeg funcs deprecated in 3.x. 2016-07-24 12:53:54 -07:00
Unknown W. Brackets
c8d0270bb4 Mpeg: Validate data more during demux.
This also parses a bit earlier, not requiring a full 2048 bytes ahead at
all times.
2016-06-04 18:16:21 -07:00
Unknown W. Brackets
4d16835990 Mpeg: Validate the pack header. 2016-06-04 18:16:20 -07:00
Unknown W. Brackets
b191fd2914 Mpeg: Make sure not to demux outside the buffer. 2016-06-04 18:16:19 -07:00
Unknown W. Brackets
2e1986d0c8 Fix a few reorder warnings. 2016-05-01 09:50:03 -07:00
Unknown W. Brackets
f5b93bc6f0 Remove global num videos hack. 2016-05-01 08:53:48 -07:00
Unknown W. Brackets
3593a7963e Cleanup and clarify texture swizzling funcs. 2016-03-26 21:55:32 -07:00
Henrik Rydgard
b68f2deca8 Set the reverb type when loading a savestate. May help #8528 2016-01-31 11:20:26 +01:00
Unknown W. Brackets
0b1102a622 Mpeg: Correctly handle mono audio in videos. 2016-01-21 23:19:03 -08:00
Unknown W. Brackets
fb831b0f48 Add a global volume config setting.
This applies to all audio, UI, game, etc.  Fixes #7749.
2016-01-17 22:47:29 -08:00
Unknown W. Brackets
0a5bf7e12c Add a means to apply volume in the resampler. 2016-01-17 22:34:48 -08:00
Unknown W. Brackets
48729b90d8 Correct buffer size when writing a video range. 2016-01-17 12:57:27 -08:00
Unknown W. Brackets
3687be42bc Jit: Invalidate blocks after IO reads.
Fixes #7617.
2015-12-27 21:58:29 -08:00
Unknown W. Brackets
23441d12fb Sas: Estimate time taken for mixing.
Tests seem to show it's not affected by mhz.
2015-11-25 18:44:34 -08:00
Unknown W. Brackets
6290ac6cbd Sas: Process SAS on a separate thread.
Remaining issues:
 * Need a config setting.
 * Locking for voices / config?
 * Locking for atrac interop?
2015-11-25 18:44:30 -08:00
Unknown W. Brackets
723a2c98af Minor warning fix. 2015-11-18 22:03:35 -08:00
Unknown W. Brackets
09f77509d9 Sas: Reduce ECHO effect repeat level.
Previously, it sounded horrible in Sol Trigger - can be observed in
tutorial boxes when going into battle, for example, and also several other
effects.  Halving this value sounds a lot more correct.

It's not clear what value exactly is correct.
2015-11-08 12:25:30 -08:00
Unknown W. Brackets
6b413a808f Atrac: Handle SAS end the same way as other types.
It makes sense to match, and this sounds right in Sol Trigger.  Haven't
tested in detail yet, but it should prevent cutting off sounds.
2015-11-08 12:23:32 -08:00
Unknown W. Brackets
11ec29212e Sas: Correct reverb volume going negative.
0x1000 (max vol) << 3 is negative, of course when signed...
2015-11-01 21:30:01 -08:00
Unknown W. Brackets
1aac569e73 Sas: Add in zeroes like the PSP seems to. 2015-11-01 20:56:34 -08:00
Unknown W. Brackets
9c378c4eda Sas: Properly support the OFF reverb type. 2015-11-01 20:33:42 -08:00
Unknown W. Brackets
42222ad497 Sas: Support the dry flag as well as wet. 2015-11-01 20:32:35 -08:00