bnnm
98c5f0a65d
Fix EA-XMA in .SPS
2017-12-24 01:32:20 +01:00
bnnm
bf31573204
Fix minor bytes-to-samples round error in some IMA formats
2017-12-24 01:31:43 +01:00
bnnm
a3b991ac3f
Modify SCD/P3D/FSB/XVAG interleave and fix short last interleave
...
Previously, the streams' offsets needed to be pre-adjusted with the
interleave; now assumes all streams start in the same offset (first
stream).
This simplifies short last interleaves (SCD/P3D) and makes
layout_mpeg_custom unnecessary (also allows theoretical variable-sized
interleaves).
2017-12-17 19:25:10 +01:00
bnnm
bd88cc2a65
Minor comments/SPS block adjust
2017-12-17 17:38:54 +01:00
bnnm
b65765a56e
Fix multistream MPEG SCD [Final Fantaxy XIII-2 (PS3)]
2017-12-17 16:39:36 +01:00
bnnm
765af1994a
Move bitstream reader to coding_utils
2017-12-09 17:06:21 +01:00
bnnm
666d47ef84
Remove layout_interleave_byte as NGC_DSP_subint is used instead
...
The layout was designed to do subframe deinterleave (when
less-than-a-frame bytes of each channel are interleaved) in an array and
pass it to "mem" decoders.
In practice this only happens in a handful of formats, was only used
with DSP, and since making "mem" decoders is required it's simpler to
make normal decoders handling the byte layout directly.
In an effort to simplify vgmstream's layouts, code, and other esoteric
features I changed the old decode_ngc_dsp_mem for decode_ngc_dsp_subint;
results are byte-exact.
2017-12-06 21:12:42 +01:00
bnnm
98b4f8c5b1
Add NGC DSP subinterleave decoder
...
Meant to replace layout_interleave_byte
2017-12-06 21:04:04 +01:00
bnnm
3380451c80
Code cleanup (renames, comments, nitpicks)
2017-12-06 15:32:52 +01:00
bnnm
7e27445f85
Enable EALayer3 bit reservoir fix (needs libmpg123 1.25.8+)
2017-12-03 17:27:13 +01:00
bnnm
48795333e1
Fix mpeg_bytes_to_samples in newer libmpg123, by saving initial info
2017-12-03 17:24:32 +01:00
bnnm
6072d17f50
Add EA MicroTalk decoder [FIFA 2001 PS2, Ultima IX voices]
2017-12-03 13:44:55 +01:00
bnnm
94de52ec2d
Clean EA-XA and fix some subsongs (don't use channel_start_offset)
...
Also fix 'sample' type shadowing and Maxis-XA skipping a frame in mono
2017-12-03 01:37:56 +01:00
bnnm
b9c3bd9a01
Add Neversoft .OGG [Gun (GC)]
2017-12-02 16:33:43 +01:00
bnnm
8f8b14f80f
Fix EALayer3 multichannel and looping bugs
2017-12-01 20:04:33 +01:00
bnnm
7d9e5a93e4
Make MPEG custom decoder use their own data buffer instead sharing one
...
In rare cases (ex. EALayer3) mpg123 may need several passes to feed one
stream's data buffer, and meanwhile other streams would overwrite it
2017-12-01 20:02:30 +01:00
bnnm
d12a5bd294
Fix EALayer3 v1b and v2
2017-12-01 17:32:12 +01:00
bnnm
e2c059bc31
Add EA .SNS+SNR / .SPS [Burnout Crash, NFS Hot Pursuit PS3]
2017-12-01 17:27:49 +01:00
bnnm
d0be7e0c36
Minor tweaks/comments/renames/etc
2017-11-25 00:43:18 +01:00
bnnm
2a312e8562
Fix memset not memsetting all channels on failure
2017-11-24 23:42:11 +01:00
bnnm
b371f1de73
Reorder IMA code a bit so it's easier to simplify in the future
2017-11-24 21:23:01 +01:00
bnnm
8363e26b88
Unify IMA/IMA_int with standard IMA decoder + add stereo IMA
2017-11-19 03:32:21 +01:00
bnnm
ea634ad473
Add 3DS IMA for BCSTM and fix old IMA regression (HWAS/SWAV/SAD/AUD/etc)
...
Standard IMA algorithm was changed for BCSTM, subtly altering regular
IMA's waveforms (not too audible). Now this 3DS variation is separate.
2017-11-18 22:25:44 +01:00
bnnm
8f6c76364c
Fix standard IMA segfault when external init is wrong
2017-11-18 02:06:51 +01:00
bnnm
4a2cf9dd91
Fuse EACS and DVI IMA decoder into a configurable IMA decoder
...
EACS was just DVI (high nibble first) with stereo and mono modes, while
old DVI was mono only.
This unifies both decoders, so DVI_IMA (not interleaved) works with mono
and stereo while DVI_IMA_int (interleaved) forces mono.
Some metas needed to explicitly set DVI_IMA_int but others work with no
change.
2017-11-17 17:18:17 +01:00
bnnm
4dfbc3cf6a
Improve CD-XA detection and RIFF-less support; minor XA code cleanup
2017-11-16 19:47:42 +01:00
bnnm
56cb2a98bd
Fix some multichannel MPEG FSB4 [Transformers: Fall of Cybertron (PC)]
2017-11-05 17:32:55 +01:00
bnnm
66be677f56
Add Ubisoft .sb0..N + ss0/ls0..N banks + Ubisoft ADPCM [Ubi PoP trilogy]
2017-11-05 17:06:40 +01:00
bnnm
801383382d
Add util to open stream in the same dir
2017-11-05 17:05:39 +01:00
bnnm
1ff0cecca8
Fix minor compiler warnings (missing const/static/case defaults/etc)
2017-10-28 01:34:32 +02:00
bnnm
e6cb6facbc
Fix coding_XBOX_int so it properly works with any interleave; comments
2017-10-27 18:56:34 +02:00
bnnm
d09dc9739b
Add encrypted ATRAC3 BGW [Final Fantasy XI PC]
2017-10-27 18:50:06 +02:00
bnnm
4d4307ae9a
Fix/clarify rare custom FFmpeg seek bug
2017-10-27 18:09:43 +02:00
bnnm
7f8f315660
Minor comment (FSB MPEG garbage at the beginning seems normal)
2017-10-27 18:08:09 +02:00
bnnm
229783f5f0
Make decoder init functions for G722.1/G719
2017-10-14 12:41:59 +02:00
bnnm
c770490b3d
Add AL2 meta + A-law decoder [Conquest of Elysium 3 (PC)]
2017-10-08 17:51:54 +02:00
bnnm
874694bd0a
Tweak XMA1 and Wwise XWMA sample counts, XMA2 looping, XMA1 channels
2017-10-08 17:34:07 +02:00
bnnm
16786b78d4
Add .opus [Lego City Undercover]
2017-09-30 01:27:47 +02:00
bnnm
abaefd17cd
Rename wwise_opus to switch_opus as it's apparently so
2017-09-30 00:16:40 +02:00
bnnm
c63866aad6
Fix Wwise Opus abrupt end
2017-09-29 23:29:06 +02:00
bnnm
8aae6ed794
Fix multichannel EA-XMA [Dante's Inferno (X360)]
2017-09-29 23:28:27 +02:00
bnnm
0bb62ce57d
Minor comments/documentation
2017-09-29 23:26:42 +02:00
bnnm
f25d559f68
Add Wwise Opus
2017-09-24 18:55:25 +02:00
bnnm
a8370b4892
Add EA-XMA for EA SNU [Dante's Inferno (X360)]
...
only 1/2ch works correctly as multichannel layout need to be
investigated
2017-09-24 18:52:09 +02:00
bnnm
be8357926d
Fix compiling with codecs disabled
2017-09-24 18:45:39 +02:00
bnnm
6da7a86cc4
Add FFmpeg custom IO callbacks for data transmogrifiers
...
Those are custom read/seeks that can transform data on the fly, for
games that use variations of regular FFmpeg codecs. When FFmpeg tries to
read N bytes, the code may read less/more but still fill the buffer with
N transformed bytes. Must handle "real" (data) and "virtual"
(transformed) offset/sizes.
Works with fake headers too, but "virtual" offset/size now include the
fake header, as I found hard to keep in mind when the header_size was
being added/substracted (could be clearer).
2017-09-24 18:40:59 +02:00
bnnm
952962f91b
Fix AWC MP3 channel desync in some songs [Red Read Redemption (PS3)]
2017-09-17 03:36:01 +02:00
bnnm
9ed189ffe8
Fix Ogg leak
2017-09-17 03:35:24 +02:00
bnnm
ab4e1234d9
Remove unneeded MT info
2017-08-28 20:42:37 +02:00
bnnm
41b22c2699
Add AWC PCM/IMA (non-encrypted only) [GTA5 (PC)]
2017-08-28 16:07:09 +02:00