EmuNewz Network

Full Version: Atrac3+ and r3432
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
In r3432 I've added some major changes that will need extensive testing.

In SettingsGUI I've renamed the Misc tab to Media (all the options are media related anyway) and moved debugger memory option to Memory.

Under the Crypto tab, SAVEDATA encryption is now enabled by default, but the new options disables the SAVEDATA encryption in order to preserve compatibility with unencrypted SAVEDATA.
Also, a new option was added to allow extracting the key to encrypt and decrypt SAVEDATA. This key is unique per game and it will be necessary for a future SAVEDATA handling external tool.

The VideoEngine changes that broke the saving GE to textures option were reverted while I work on a proper fix.

The biggest change is of course the addition of Atrac3+ native decoding. This feature is highly experimental and was achieved by adding Maxim's atrac3plus decoder in Xuggler's internal FFMPEG captive code.
Here are the main changes in my custom Xuggler build:
- AVX is now disabled. This was found by hyakki and ensures proper stability for certain x64 based computers.
- IAudioResampler.resample now wraps libswscale instead of the old audioconvert functions in order to provide proper conversion between the FLTP sample format (atrac3plus) and the supported S16 format.
- In the main java code for Xuggler there's now a wrapper for libavfilter (IFilterGraph). There original idea came from here: https://groups.google.com/forum/#!msg/xu...1sMnCZvLw/
I've complemented Jakub Stachowski's approach with audio filters and other small improvements. This is not being used in JPCSP yet.
- The FFMPEG source code was modified as needed to work with Maxim's decoder. Since the decoder was written for a far more superior version of FFMPEG than the one used by Xuggler, several code rewrites were needed.

I've compiled and added Xuggler's jars as well as binaries for Linux (x86 and x64) and Windows (x86 and x64) builds in r3432. I'm still working on a MacOS port.

All the media functioning should remain unchanged (mpeg, psmf, at3, audio), so any regressions in this area are really important to report.
To test Atrac3+ support, just enable it's option under the Media tab from Settings. Media Engine must be enabled, of course.

Please beware that crashes, bugs or any kind of unexpected behavior is likely to occur as this still needs a lot of testing.

All the reports are welcome. Enjoy! Smile
Thank you for you hard work, I am waiting atrac3+ support for a long time.

Test 32 bit, crashes if you check [X] Enable Atrac3+ decoding (experimental, requires Media Engine) or [X] Decode audio files with SonicStage (must be installed separately and requires Media Engine)
Code:
37160 [ATRAC3plus Voice Thread] ERROR runtime - Catched Throwable in RuntimeThread:
java.lang.OutOfMemoryError: out of native memory        at com.xuggle.xuggler.XugglerJNI.IStreamCoder_decodeAudio(Native Method)        at com.xuggle.xuggler.IStreamCoder.decodeAudio(IStreamCoder.java:382)        at jpcsp.media.MediaEngine.decodeAudioPacket(MediaEngine.java:665)        at jpcsp.media.MediaEngine.decodePacket(MediaEngine.java:615)        at jpcsp.media.MediaEngine.step(MediaEngine.java:723)        at jpcsp.media.MediaEngine.stepAudio(MediaEngine.java:706)        at jpcsp.connector.AtracCodec.atracDecodeData(AtracCodec.java:443)        at jpcsp.HLE.modules150.sceAtrac3plus.sceAtracDecodeData(sceAtrac3plus.java:984)        at _S1_2_89384B0.s(_S1_2_89384B0.java:4)        at _S1_2_8813CF8.s(_S1_2_8813CF8.java:108)        at _S1_2_88140E4.s881415c(_S1_2_88140E4.java:124)        at _S1_2_88140E4.s(_S1_2_88140E4.java:120)        at _S1_2_88139C0.s(_S1_2_88139C0.java:48)        at _S1_2_88139C0.exec(_S1_2_88139C0.java)        at jpcsp.Allegrex.compiler.RuntimeContext.execWithReturnAddress(RuntimeContext.java:668)        at jpcsp.Allegrex.compiler.RuntimeContext.runThread(RuntimeContext.java:709)        at jpcsp.Allegrex.compiler.RuntimeThread.run(RuntimeThread.java:50)

[X] Enable Atrac3+ decoding
[attachment=15385]

[X] Decode audio files with SonicStage
[attachment=15384]


Is good use 64 bit.
test
[X] Use Media Engine
[X] Enable Atrac3+ decoding (experimental, requires Media Engine)
BGM( atrac3plus stereo aduio) is ok
VOICE( atrac3plus mono aduio ) is too fast
atrac3plus aduio( stereo and mono ) in CG movie (pmf) no play
If check [X] Decode audio files with SonicStage also , it will have sound went CG movie is playing. but if pmf use atrac3plus mono aduio, still no sound error.
Actually, the ExtAudio-0.oma found in tmp\gameID\Mpeg-xx-xx Folder is broken.
If you want get the true oma file , you can try extract pmf from ISO, and extract oma from pmf by useing PMFAudioDumper.exe .You can extract wav from oma by useing Atrac3plus2WAV.exe
No voices in MegaManX. Using x64.

Also, my controls for the 360 pad are all messed up (right is left, up is right), etc. Wiped my settings file and configured a ton of times. Regressed since r3383.
I also don't get audio (only sound effects work as usual) after enabling the option in r3432
ikkitousen's sound works, but there's the speed problem with voices, they sound muffled and play at twice the speed (i think, it might be more). they're mono at3+ and as far as i remember, this was also the problem right after introducing the external at3+ decoders.

i can also hear a slight stutter/silence each time the music loops.

as mentioned above, movies that use either atrac3 or plus don't play the sound unless it was pre-decoded earlier and exist in tmp folder. looks like they're not being decoded.

for the record, i enabled at3+ decoding but kept sonicstage disabled since it might be interfering, and i also didn't install it on my new pc anyway.
Thank you all for the reports. I've improved several portions of the decoding process in r3433.
I've also added proper at3+ mono support and improved garbage collection to avoid memory issues.
Could you please test it again? Thanks! Smile

@legend80: I've changed a few things in ControlsGUI that may have restored the way it's settings were being applied. Could you please check if it helped the controller issue?

Note: Atrac3+ audio decoding is still not working for MPEG/PSMF files. The reason behind this is because FFMPEG doesn't support demultiplexing of the MPEG-PS container with an atrac3+ audio stream.
I'm working on an intermediate solution to perform the demuxing manually (using PsmfAudioDemuxVirtualFile) and then decode the stream.
Still no voices in MegaManX - couldn't tell if that was supposed to have been fixed.

Also, my controls are still completely screwed up - all the assignments are wrong AND occasionally I'll need to spam a button for it to be recognized. Something weird is going on there...
thanks for the update Hykem! I'll try again Smile
Just wonder is it Mega Man - Maverick Hunter X ?
(01-10-2014, 06:45 AM)legend80 Wrote: [ -> ]Still no voices in MegaManX - couldn't tell if that was supposed to have been fixed.

Also, my controls are still completely screwed up - all the assignments are wrong AND occasionally I'll need to spam a button for it to be recognized. Something weird is going on there...

Hmm... I'll have to test this. Thanks for reporting.
Pages: 1 2 3