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
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
Henrik Rydgard
a7f7410668
Merge branch 'master' into plugindownload
2013-06-05 16:13:55 +02:00
oioitff
156c4ca78a
Fix crash for invalid mpeg header.
2013-06-05 15:46:04 +08:00
Henrik Rydgard
394a6a0f5c
Merge branch 'master' into plugindownload
2013-06-04 23:54:50 +02:00
Henrik Rydgard
74638ef4ae
More autodownload UI work etc
2013-06-04 22:32:52 +02: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
Henrik Rydgard
0c7833796b
Merge branch 'master' into plugindownload
...
Conflicts:
Core/Core.vcxproj
Windows/PPSSPP.vcxproj
native
2013-06-03 23:42:49 +02: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
Henrik Rydgard
e5090e36c2
More plugin stuff
2013-06-02 14:38:22 +02: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
Sacha
b39a572043
Buildfixes.
...
Fix C++11 usage.
Remove redundancy.
Fix st_*time re-usage.
2013-06-02 13:26:39 +10: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
Henrik Rydgård
0e65c23346
Merge pull request #2020 from oioitff/mpeg-support
...
Rewrite some core functions for sceMpeg with ffmpeg.
2013-06-01 14:24:48 -07:00
oioitff
e099b8d954
Rewrite and implement MediaEngine.
2013-06-02 01:29:22 +08:00
oioitff
e0e8b2ec81
Add MpegDemux for demuxing audios.
2013-06-02 01:25:53 +08:00
Henrik Rydgard
1e84dd23d7
Hide atrac3+ option if no codec dll/.so installed
2013-06-01 19:12:11 +02:00
raven02
25b8007407
Toggle Atrac3+ in [Sound] section
2013-06-01 23:10:31 +08:00
Henrik Rydgard
3d06c6784c
Buildfix
2013-05-30 19:13:39 +02:00
Henrik Rydgard
839e5eccc6
Copy at3plusdecoder.so to internal memory to solve android permission issues on devices with no-exec mounted SD cards.
2013-05-30 19:06:56 +02:00
Henrik Rydgard
ae23c26af1
Print more debug info if the library load fails.
2013-05-30 18:14:52 +02:00
Henrik Rydgard
f9af7007d2
Add support for loading at3plusdecoder.so on Android. Make sure the .so files are at /PSP/libs/armeabi-v7a and/or /PSP/libs/armeabi on your Android external storage.
2013-05-30 15:26:12 +02:00
Henrik Rydgard
820fd52c48
Load at3plus decoders through "at3plusdecoder64.dll" under win64.
...
This way 32 and 64-bit builds can coexist in the same folder.
2013-05-30 13:58:10 +02:00
Henrik Rydgard
169ca97377
Change atrac3plus decoder dll name to be neutral. Add basic non-windows support for loading it (not tested yet).
2013-05-30 13:51:44 +02:00
oioitff
852a07d347
Remove all dshow stuff.
2013-05-30 19:14:18 +08:00
oioitff
b0a3f803e0
Add support for new atrac3plus decoder
2013-05-30 17:33:47 +08:00
Unknown W. Brackets
42ced72b13
Fix undead VAG loops, KeyOff should stop them.
2013-05-28 23:05:34 -07:00
Henrik Rydgård
0abf322c1d
Merge pull request #1961 from unknownbrackets/savestates
...
Fix some missing things from save states
2013-05-28 00:41:01 -07:00
Henrik Rydgård
d76d05b338
Merge pull request #1957 from unknownbrackets/perf
...
Small performance improvement in VAG decoding
2013-05-28 00:39:43 -07:00
Unknown W. Brackets
4e76d45bca
Add pcmIndex to sas voice DoState().
...
Otherwise we can get crashes.
2013-05-27 23:49:46 -07:00
Unknown W. Brackets
1107571af5
Don't cap predict_nr, just make the table bigger.
2013-05-27 18:16:41 -07:00
Unknown W. Brackets
e8be3d8da2
Decode VAG samples in one shot, not two.
2013-05-27 18:16:40 -07:00
Unknown W. Brackets
7b154f9a2e
Fix VAG looping.
2013-05-27 16:48:59 -07:00
Henrik Rydgård
ce873ccbeb
Merge branch 'master' of https://github.com/raven02/ppsspp into raven02-master
...
Conflicts:
Core/HW/audioPlayer.cpp
2013-05-27 19:45:57 +02:00
raven02
83cb0869f4
Add NOTICE_LOG to indicate the filter load successfully
2013-05-26 23:55:54 +08:00
Henrik Rydgard
2ef4a05a49
Disable auto-loading the directshow filter by default as it's unstable. Add new INI setting [Sound] AutoLoadDShow to turn it back on.
2013-05-25 17:01:18 +02:00
Sacha
260cc305f5
Fix Linux/Harmattan builds.
2013-05-25 14:38:34 +10:00
Henrik Rydgård
f6acdabc59
Merge pull request #1874 from oioitff/atrac3plus
...
Use filter directly without register.
2013-05-24 06:44:05 -07:00
Henrik Rydgård
2bf1beb8d8
Merge pull request #1898 from oioitff/audio-fix
...
Implement pcm voice correctly
2013-05-23 13:14:20 -07:00
oioitff
338f7ae700
Use another method to scale by envelopValue.
2013-05-24 04:08:37 +08:00
oioitff
99f8041375
Implement pcm voice correctly.
2013-05-24 00:42:15 +08:00
oioitff
69e1671a90
Bug fix when loading filter failed.
2013-05-21 02:03:36 +08:00
oioitff
c700f90503
Use filter directly without register.
2013-05-21 00:57:17 +08:00
Henrik Rydgård
28908f993b
Merge pull request #1870 from oioitff/atrac3plus
...
Remove an useless command in audioPlayer.
2013-05-20 07:18:26 -07:00
oioitff
b28d72ed27
Remove an useless command in audioPlayer.
2013-05-20 22:16:40 +08:00
Henrik Rydgård
a1060ffabd
Merge pull request #1803 from oioitff/atrac3plus
...
Add atrac3plus filter for windows
2013-05-19 08:09:01 -07:00
Unknown W. Brackets
3931f07852
Fix a couple bad bounds checks in VAG/Mpeg.
2013-05-18 10:19:12 -07:00
oioitff
5e27af6eea
Remove the dependency on DirectShow SDK.
2013-05-14 19:41:08 +08:00
oioitff
9b0c22f87d
Add atrac3plus lib.
2013-05-14 19:01:33 +08:00
oioitff
8d10724b64
Implement volume control for _sceSasCoreWithMix.
...
Tested with Fate Unlimited Code.
2013-05-11 04:30:02 +08:00
raven02
2b89ccfa50
Use Dark Grey to identify CG is running instead of black
2013-04-28 10:43:31 +08:00
oioitff
62f79989bd
Implement _sceSasCoreWithMix correctly.
...
The inoutAddr should be both input and output buffer address.
2013-04-23 22:00:14 +08:00
oioitff
3ff492646b
Add simple mono support for sasaudio
2013-04-13 19:01:22 +08:00
oioitff
828b5a0be8
Implement pcm voices for sasaudio.
...
Tested with NPJH 50569: Ore no Imouto2.
2013-04-13 18:58:13 +08:00
Henrik Rydgård
6a8096c0de
Merge pull request #1187 from raven02/patch-7
...
Add default ADSR rate/ curvetype and default volume
2013-04-06 00:46:57 -07:00
raven02
87b5b195e3
Add default volume value for left/right channel
2013-04-06 15:41:49 +08:00
raven02
e4f3571e05
Add default ADSR value for rate and curve type
2013-04-06 15:39:28 +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
c20251ab30
Organize mem access a bit in SasInstance::Mix().
...
It's a bit faster but this isn't really the hottest part...
2013-03-16 11:59:44 -07:00
raven02
19599a27d2
Shift << 3 in sasAudio
2013-03-12 21:21:10 +08:00
raven02
4b86fd7567
Fake VOICETYPE_PCM code
2013-03-12 09:14:31 +08:00
Unknown W. Brackets
2cb2601456
Fix crash executing the sascore test.
2013-02-23 18:35:22 -08:00
Unknown W. Brackets
363d1dbe19
Fix some misc. warnings.
2013-02-18 08:44:59 -08:00
Henrik Rydgard
686c083b6f
sceSas: initialize some stuff
2013-02-16 14:07:04 +01:00
Unknown W. Brackets
a4032c5170
Simplify savestate code so it's all automagical.
...
If you can't beat 'em, join 'em?
2013-02-04 08:27:01 -08:00
Unknown W. Brackets
2a6457b6ab
Cut down on h files including PointerWrap.
...
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -08:00
Henrik Rydgard
ddd0ce4c18
Implement a PSP model checking function, comment fix
2013-02-02 12:38:24 +01:00
raven02
a4c78888c0
Set predict_nr = 0 when predict_nr greater than VAG array length
2013-01-31 22:16:15 +08:00
raven02
693619ed6e
Init loop to true which ignore VAG loop and set sampleRate for each voices
2013-01-31 15:00:58 +08:00
Unknown W. Brackets
74f3b81846
Check for a null pointer when writing video.
2013-01-28 02:16:06 -08:00
raven02
4a1218387d
Add effectLeft and effectRight
2013-01-27 22:34:14 +08:00
raven02
523f026c3d
Restore shift volume to 15
2013-01-27 22:16:15 +08:00
Henrik Rydgard
0930b5b587
Typo + warning fix
2013-01-25 19:08:28 +01:00
Henrik Rydgard
4deaec8924
Make ADPCM audio a little less crackly in a hacky way..
2013-01-25 18:36:05 +01:00
Henrik Rydgard
31b73a0b99
No need for double precision in ADPCM decoder
2013-01-25 18:29:15 +01:00
Unknown W. Brackets
cb0538c4db
Can't just do that, might get the vtbl. Arg.
2012-12-29 03:19:13 -08:00
Unknown W. Brackets
6f9f9e1c98
Merge branch 'master' into mediaengine.
...
Note: doesn't compile, just fixes conflicts.
Conflicts:
Core/HLE/sceKernel.cpp
Core/HLE/sceKernelThread.cpp
Core/HLE/sceKernelThread.h
2012-12-28 22:32:56 -08:00
Unknown W. Brackets
bcecd881b1
Savestate cleanup + be more careful with vectors.
...
For some reason I debugged it going into std::string so I just made
them all more explicit which fixed everything.
2012-12-28 13:55:31 -08:00
Unknown W. Brackets
e665618891
Fix kernel object loading (ouch) from save states.
...
Also a fix to SAS voices not saving right.
2012-12-28 13:55:30 -08:00
Unknown W. Brackets
7a2adfd8a5
Don't store pointers in VagDecoder directly.
...
I'm assuming it's fine to not fix read_ when end_ happens.
Shouldn't be any performance penality, really.
2012-12-28 13:55:29 -08:00
Unknown W. Brackets
19aaca2705
Start save stating audio, plus minor fixes.
2012-12-28 13:55:29 -08:00
Unknown W. Brackets
fbe4fd396e
Add a mechanism to restore event callback ptrs.
...
Ugh, more duplicates. Maybe can find a good way to refactor.
2012-12-28 13:55:24 -08:00
Henrik Rydgård
ddd3e4384f
audio: need to clear the rest of the buffer at end of sample.
2012-12-26 19:12:23 +01:00
Henrik Rydgård
27e8e4c6fb
Stop ADPCM decoder from running off into space. improves motogp audio.
2012-12-26 09:07:52 +01:00
Henrik Rydgård
fb238c685e
SasAudio: voice.samplePos -> voice.sampleFrac. Gets rid of annoying overflow errors.
2012-12-26 08:53:19 +01:00
Henrik Rydgård
38a7059bdd
Initialize some stuff in SasAudio, fixes some audio issues on my mac
2012-12-25 10:08:57 +01:00
Unknown W. Brackets
3464fd6b00
Fix crash with unitialized var in mpeg code.
2012-12-24 11:56:51 -08:00
raven02
c7a9c40827
Fix audio crash in FF type-0
2012-12-23 23:27:54 +08:00
Unknown W. Brackets
217bdc275e
Fix some type-conversion warnings.
2012-12-21 16:07:38 -08:00
Henrik Rydgard
2b8419e0ff
Attempt more accurate frame timing (windows). Increase audio volume.
2012-12-18 10:25:57 +01:00
Henrik Rydgard
ab35c7f612
Merge branch 'master' into mediaengine
2012-12-18 00:05:09 +01:00
Henrik Rydgard
c3819ec721
Fix a possible crash in audio code
2012-12-17 21:59:43 +01:00
Henrik Rydgard
913f392d66
Move the SasInstance to the heap. Some cleanup.
2012-12-17 21:43:31 +01:00
Henrik Rydgard
b5808eaf47
optimizin', bugfixin'
2012-12-17 20:43:43 +01:00
Henrik Rydgard
9acfd50139
Fix one cause of audio choppiness - we were dropping samples when audio functions blocked. Also some cleanup.
2012-12-17 20:15:23 +01:00
Henrik Rydgard
bc214dcf37
Merge branch 'master' into mediaengine
...
Conflicts:
Common/LogManager.cpp
Core/CMakeLists.txt
Core/Core.vcxproj
Core/Core.vcxproj.filters
Core/CoreParameter.h
Core/HLE/sceAudio.cpp
Core/HLE/sceKernel.cpp
Core/HLE/sceKernelThread.cpp
Core/HLE/sceMpeg.cpp
android/jni/Android.mk
2012-12-17 18:48:32 +01:00
Henrik Rydgard
1400237d0e
Lots of various work on sceSas. ADSR envelopes, correct looping, etc etc... Still far from perfect but better.
2012-12-17 18:07:25 +01:00
Henrik Rydgard
369afa5b93
sceSas: Resample audio according to pitch
2012-12-16 21:20:16 +01:00
Henrik Rydgard
15b7c1c96c
sceSas cleanup
2012-12-16 20:40:49 +01: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
Henrik Rydgard
1127c72124
some initial mediaengine work
2012-11-12 20:53:16 +01:00
Henrik Rydgard
1b90a8b327
Another memstick ioctl, minor fixes
2012-11-09 10:01:54 +01:00
Henrik Rydgard
d086c18db7
MemoryStick HW
2012-11-06 15:45:13 +01:00