Commit graph

166 commits

Author SHA1 Message Date
Henrik Rydgård
05dfd27db8 Merge pull request #2638 from bagnz0r/master
Audio optimization, usability fixes, sound peak blowout fix, Polish translation, bugfixes
2013-07-18 02:54:03 -07:00
Unknown W. Brackets
aef5555327 Fix arithmetic warning in mpeg demux. 2013-07-07 20:31:05 -07:00
Unknown W. Brackets
9608067ca2 Cleanup initialization order. 2013-07-07 20:31:04 -07:00
bagnz0r
669216fcab This should be better, previous values still caused a peak blowout. Also
limited sound SE and BGM value to 8, because any higher and you have
garbage.
2013-07-06 23:40:05 +02:00
bagnz0r
26654555b4 Updated block values so that we will have lower latency audio...
Additionally I have fixed the issue with too loud sound effects and broken
buttons in audio settings screen. Before this fix, you wouldn't be able to
set the volume above 5 despite the fact that 8 is the default value.
5
2013-07-06 23:23:17 +02:00
Henrik Rydgard
acf94a35f8 Minor audio optimization 2013-07-06 22:21:52 +02:00
raven02
6c3895491e Add preliminary volume control for BGM and SE 2013-07-06 16:54:13 +08:00
oioitff
97c6b96408 Remove IsAudioEnd(), use IsNoAudioData() instead. 2013-07-02 17:20:46 +08:00
Unknown W. Brackets
4ca084b9ad Add a bit more space for the smoothness hackery.
Prevents a buffer overflow error I was getting randomly.
2013-06-29 16:06:24 -07: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
Henrik Rydgard
67c185f8ea Update native to not wait in the opensl callback. Some minor audio optimizations. Also it seems ffmpeg has changed so update it. 2013-06-22 17:37:09 +02: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
Henrik Rydgård
5c14ec134c Add support for external at3plus decoders on MacOSX 64bit. 2013-06-16 12:43:37 +02: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
Unknown W. Brackets
16b0a99e5f Adjust some default values for SAS audio. 2013-06-12 08:02:56 -07:00
Unknown W. Brackets
8b4b4a6b8c Use the 1 bit in sceSasRevVON() and cleanup.
Not used yet anyway.
2013-06-12 07:59:54 -07:00
Sacha
5aba914a42 Build fix for non-ffmpeg and non-gcc non-++11. 2013-06-12 10:51:30 +10:00
Henrik Rydgard
b8959b956b sceMpegGetUserDataAu: return ERROR_MPEG_NO_DATA. Add some notes for later implementing mpeg user data. Fixes part of #2172. Thanks to [unknown] 2013-06-11 19:27:02 +02: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
Henrik Rydgard
a581e0d180 Avoid division by zero in audio envelope processing. Fixes sound FX on android in some games. 2013-06-11 11:05:34 +02:00
Unknown W. Brackets
b5ac7eead1 Cleanup some SAS constructors. 2013-06-11 00:37:29 -07: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
Henrik Rydgard
43af3d81d1 Add STATE_SUSTAIN code similar to JPCSP, should fix sound fx again in some games.
Please comment in the github commit if this breaks anything. Fixes #2189
2013-06-10 22:18:50 +02:00
Henrik Rydgård
3185594d3c Merge pull request #2186 from unknownbrackets/sas-minor2
Add some error handling in sceSas, delay sceSasCore()
2013-06-09 23:48:25 -07:00
Unknown W. Brackets
3aaabfb987 Revert #1974, the other fixes are better.
This is no longer needed for games I have, and it breaks Final Fantasy
Tactics' sound effects.

Looking at JPCSP for insight, I saw that it re-enables loops if you set a
voice even with a different address (I think?) but that seems strange.
2013-06-09 22:47:01 -07:00
Unknown W. Brackets
b7152c2f27 Correct envelope scaling in sas mixing.
Sound effects seem a bit loud, but this matches what JPCSP does and I've
added comments based on my understanding of it.  It makes sense.

This makes all the sounds that never get muted when the envelope hits 0 go
away.  Hurray.

Thanks to help from @i1x.
2013-06-09 19:28:21 -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 Rydgård
62f8727bca Merge pull request #2165 from oioitff/atrac-fix
Implement __sceSasConcatenateATRAC3 and tiny bug fix for sceAtrac.
2013-06-09 04:54:45 -07:00
Henrik Rydgard
04d24012e1 Prevent crashing the emu in stepVideo when things have gone very wrong. 2013-06-09 13:45:48 +02:00
oioitff
c98adee757 Implement __sceSasConcatenateATRAC3.
.
2013-06-09 19:07:02 +08:00
Henrik Rydgård
00d589e1af Merge pull request #2150 from oioitff/atrac-fix
Partly implement _sceAtracGetContextAddress and __sceSasSetVoiceATRAC3.
2013-06-08 11:00:11 -07:00
oioitff
883d60fad3 Use a pointer for sampleQueue in SasAtrac3. 2013-06-09 01:58:06 +08:00
oioitff
3c13b574e3 Partly implement __sceSasSetVoiceATRAC3.
Fix Sol Trigger hang up issue.
2013-06-09 01:34:38 +08:00
Henrik Rydgard
f3224a60e1 Return "libat3plusdecoder.so" as at3plus decoder filename on non-Win/android platforms 2013-06-08 17:44:18 +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