Commit graph

5870 commits

Author SHA1 Message Date
raven02
fbbd37d707 Delay thread for sceMp3Decode() 2014-04-15 21:55:28 +08:00
Unknown W. Brackets
089fea7185 Ignore uncached/kernel bits in texture cache.
Although I suppose we could respect uncached and never cache...

Possibly #5879.
2014-04-14 07:58:00 -07:00
kaienfr
c6a1b0e743 Provide a new method AuCtx::AuCreateCodecContextFromSource()
This method can automatically read audio information from file (as channels, sample rate etc) via ffmpeg,
and create accurate ffmpeg's codec context.
Especially used for unknown audio format but supported  by ffmpeg.
2014-04-14 13:23:10 +02:00
kaienfr
73d8786078 Change error log to info in sceMp3LowLevelInit 2014-04-14 12:00:19 +02:00
kaienfr
cc933d6fc9 Merge remote-tracking branch 'origin/master' into Universal_Audio_Branch 2014-04-14 11:49:27 +02:00
kaienfr
d5fde0baee implement sceMp3GetFrameNum 2014-04-14 11:47:28 +02:00
Unknown W. Brackets
ed99c33cd7 Interpret iForceMaxEmulatedFPS based on 1.001 NTSC. 2014-04-13 21:47:11 -07:00
Henrik Rydgård
36c751976a Merge pull request #5872 from unknownbrackets/texcache
Use flags to avoid hashing textures when unchanged
2014-04-14 00:06:08 +02:00
Henrik Rydgard
f285b12dcf Make strcpy_limit slightly more sane. 2014-04-13 23:43:32 +02:00
Henrik Rydgard
c9eb4a1916 VFSFileSystem too 2014-04-13 23:34:08 +02:00
Unknown W. Brackets
4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Henrik Rydgard
a53ecd7da3 More elegant way of solving #5839 (d_private in sceIoDread)
We flag filesystems as being FAT32 instead of checking for "ms0:".
2014-04-13 23:22:17 +02:00
kaienfr
6db28f0691 more cleanup 2014-04-13 21:42:46 +02:00
kaienfr
d5e583ee14 correct some comments. 2014-04-13 21:15:41 +02:00
kaienfr
ba34b211f1 Support sceMp3LowLevel*
Gundam G custom BGM is supported now :)
2014-04-13 21:11:04 +02:00
kaienfr
74476ad328 Merge remote-tracking branch 'origin/master' into Universal_Audio_Branch 2014-04-13 15:06:41 +02:00
kaienfr
4eedd7a3cd Merge remote-tracking branch 'origin/master' into Universal_Audio_Branch 2014-04-13 14:39:56 +02:00
kaienfr
7ef2678cc9 Update sceAac module in using universal audio context class (AuCtx) 2014-04-13 14:38:42 +02:00
raven02
6fb2934a6e Only write d_private for memory stick 2014-04-13 20:10:47 +08:00
raven02
3a0b17a50f Put in parameters for sceMp3LowLevelInit/Decode 2014-04-13 17:18:18 +08:00
Unknown W. Brackets
dde2f3ade6 Re-replace functions after loading a savestate.
Might need to clear before saving too... anyway, this makes testing a bit
easier for certain areas.

Also, correctly decrease downcount on x86.
2014-04-12 15:49:20 -07:00
Henrik Rydgård
d67f91d899 Merge pull request #5841 from unknownbrackets/ge-signals
Improve sync and pause GE signal handling
2014-04-12 23:40:27 +02:00
kaienfr
e25bc6908a Fix nonsmooth sound issue and incomplete frame at the end of source and pcm buffers.
using a std::string to save the source buffer, and changing the loading strategy so as we will not get any incomplete frame.
2014-04-12 23:16:38 +02:00
Unknown W. Brackets
d247a7def6 Don't reschedule when writing to stdout.
Let's still capture the output, though.
2014-04-12 13:21:35 -07:00
Unknown W. Brackets
829f70dacd Initialize textStart/textEnd for fake modules.
Otherwise we try to unload random memory, sometimes this breaks weird
things.
2014-04-12 13:09:33 -07:00
kaienfr
d5c1d58506 Audio Speed Hack (fill pcm buffer)
Dead or alive will be better to using this hack, but some other games will be too fast.
So, it's optional.
2014-04-12 17:16:31 +02:00
kaienfr
976c9bbfdc Fix Dead and live freezing issue.
Just a typo in sceMp3 when using the universal class.
2014-04-12 15:46:35 +02:00
kaienfr
b3a7568811 change the way in AuGetInfoToAddStreamData and AuNotifyAddStreamData.
readPos and available buffer is firstly updated in AuGetInfoToAddStreamData then notified in AuNotifyAddStreamData.
Since, some games as Dead and alive may not call NotifyAddStreamData after GetInfoToAddStreamData
2014-04-12 14:54:25 +02:00
kaienfr
c6ed59ec0b Merge branch 'Mp4_branch' into test_branch
Conflicts:
	Core/HW/SimpleAudioDec.cpp
	Core/HW/SimpleAudioDec.h
2014-04-12 12:08:46 +02:00
kaienfr
54f812c867 Merge remote-tracking branch 'origin/master' into Mp4_branch 2014-04-12 11:53:54 +02:00
kaienfr
5a8735d009 minor changes to improve latency in aac playing base on 3a12cf2ad7.
Test on Fortix even better than before.
2014-04-12 11:53:20 +02:00
Henrik Rydgård
b4244fb4d9 Merge pull request #5842 from unknownbrackets/hashmap
Fix hashmap crashes with games that load modules
2014-04-12 11:33:23 +02:00
Unknown W. Brackets
76e61e10a9 Fix hashmap crashes with games that load modules.
This should properly unload and reload the functions as necessary.
2014-04-12 01:16:32 -07:00
Unknown W. Brackets
26933384a7 Don't mark a list complete too early.
This would matter probably mostly if we implemented CONTINUE properly.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
4561440df7 Handle GE pause signals per tests.
They really should pause, but we were resetting them incorrectly.
And most importantly, sceGeContinue() inside the signal handler absolutely
must work.  Games use this a lot.
2014-04-11 23:50:20 -07:00
kaienfr
a7691737b5 Transfer old mp3 savestate into new mode; Rename class functions sceAu... to Au...
Tests on games are just ok.
2014-04-12 02:12:25 +02:00
kaienfr
ee1d541c28 Update minor comments 2014-04-11 23:42:07 +02:00
kaienfr
3a12cf2ad7 Universal Audio Class
Based on my implementation in sceAac https://github.com/hrydgard/ppsspp/pull/5836
I've created a class AuCtx included in My SimpleAudioDec.cpp/.h which aims at providing a standard easy implementation to support all codecs in ffmpeg.
Here, I also completely re-code sceMp3 file with this class to give an example how to use this class, and it has solved all mp3 issues I've observed in the current master.
Tests on different freq and channels mp3 audios as:
Miku custom BGM (48kHz, stereo), Hanayaka Nari Wa ga Ichizoku(32kHz, mono, a little fast but better than before now), downstreet panic (44.1kHz, stereo), and learn jp09(44.1kHz, stero) are just all right.
Especially, I am very glad to see that Miku's Custom BGMs have no repetition issues in first tone any more and no longer stopped in the first second neither. :)
We will come into a new age to fast support new audio formats from now on I hope :P
2014-04-11 22:56:59 +02:00
kaienfr
caa3cb9148 still change logs 2014-04-11 15:13:28 +02:00
kaienfr
c216b535ee Save current changes 2014-04-11 15:09:31 +02:00
kaienfr
9dc331885b Also show some important step from debug_log into info_log 2014-04-11 09:56:12 +02:00
kaienfr
a8d375b8da Cleanup! Change some INFO_LOG to DEBUF_LOG to only point out important messages in release mode. 2014-04-11 09:32:35 +02:00
kaienfr
ee3417a96c Implementation of sceAac module
Test on Fortix is all right. Savestate is also ok.
I've tried a New and Easy way implement and it works well, I think it could be totally applicable to other audio modules as sceMp3 etc.
Code your own way is really much easier to fix other bugs :)
2014-04-11 09:03:13 +02:00
raven02
c711f76eaa Use ctx->mp3Channels instead of setting frame.channel in case of FF incomplete frame 2014-04-10 20:48:16 +08:00
raven02
97c68de661 Parse MP3 header to correct set the channel and samplerate 2014-04-10 20:08:34 +08:00
kaienfr
a059957317 Merge remote-tracking branch 'origin/master' into Mp4_branch 2014-04-10 13:36:31 +02:00
kaienfr
f72e1aa4d2 update the current work but not finished 2014-04-10 12:45:59 +02:00
kaienfr
604a97bf50 Custom BGM is fixed
Based on this commit https://github.com/hrydgard/ppsspp/pull/5828 on improvements to sceMp3
Custom BGM can be update now. Test on "Miku" is just all right :)
2014-04-10 05:19:03 +02:00
Henrik Rydgård
f328cfe655 Merge pull request #5816 from raven02/patch-8
No need to init packet as 0
2014-04-09 15:01:00 +02:00
sum2012
292e9baa08 Fix Integer divide in zero in sceMp3Decode 2014-04-08 23:11:55 +08:00