bnnm
07bb40071a
Add FSB CELT decoder [Vessel (PC), Runner2 (PC)]
...
Corresponding libs will be added later
2018-08-12 00:58:20 +02:00
bnnm
9e0c4ebd3d
Fix rare ATRAC9 memleak
2018-08-11 17:54:08 +02:00
bnnm
6384b91f8f
Fix FSB4 MPEG weird padding bug [Mafia II (PS3)]
2018-08-04 20:40:02 +02:00
bnnm
d4c0362c30
Minor info (algorithm verified)
2018-08-03 00:47:54 +02:00
bnnm
e1434bc432
Clean DTK decoder to clarify similarities with XA
2018-08-03 00:46:36 +02:00
bnnm
16f2474a50
Add .WV6 IMA [The Fairly OddParents: Breakin' Da Rules (PC)]
2018-08-02 18:22:01 +02:00
bnnm
a4f67bf077
Add Cricket Audio .cks/ckb [Part Time UFO, Mega Man 1-6 (Android)]
...
Includes Cricket Audio's MSADPCM variation, also cleaned up MSADPCM code
2018-08-02 17:15:09 +02:00
bnnm
87bd10073d
Adjust ASF shift modes after debugging info
2018-07-27 17:13:10 +02:00
bnnm
61034484ab
Add XMD decoder [Silent Hill 4, Castlevania: Curse of Darkness (Xbox)
2018-07-27 17:11:11 +02:00
Christopher Snowhill
637ec27998
Merge pull request #265 from NicknineTheEagle/ea-formats
...
More EA formats
2018-07-23 19:08:02 -07:00
Christopher Snowhill
eee451aa68
Merge pull request #266 from bnnm/xa-aif-eamt
...
XA, AIF, EA-MT
2018-07-23 19:07:35 -07:00
Christopher Snowhill
e799a27446
Update ASF decoder based on decompilation of original decoder.
2018-07-23 18:56:35 -07:00
bnnm
65b80e5fd7
Fix .adp raw XA [Phantasy Star Collection (SAT)]
2018-07-23 19:36:08 +02:00
bnnm
e6f7abe20e
Fix EA-MT full loops not being properly reset
2018-07-23 00:28:21 +02:00
bnnm
b71739de5e
Fix XA missing num_samples at the end
2018-07-22 23:19:10 +02:00
bnnm
0dc2c81ab9
Handle XA ADPCM in a more standard way
...
It was decoding one 28-sample subframes and blocked layout handled
frames, doing some voodoo to skip CD sectors.
Now decodes one 28*8-sample frame and blocked layout handles CD sectors.
Decoding is byte-exact vs before.
2018-07-22 23:08:09 +02:00
NicknineTheEagle
04debd021e
Merge remote-tracking branch 'origin/master' into ea-formats
...
# Conflicts:
# src/meta/ea_schl.c
2018-07-22 05:34:26 +03:00
bnnm
4439047fd1
Minor doc
2018-07-22 00:47:31 +02:00
NicknineTheEagle
d5745c9d6e
EAAC tweaks
2018-07-21 23:09:44 +03:00
bnnm
af70e95877
Tweak PS-ADPCM decoding [inFamous (PS3)]
...
- Code now more verbose, but easier to understand (by me, at least)
- Unify normal and badflags code
- Fix hist1 not being properly clamped, though not noticeable
- Fix inFamous (PS3) which seemingly wasn't using the extended table but
hitting some compiler weirdness? (failed in foobar and worked in test)
- Use int math for PSX-cfg, which should be minimally more accurate
2018-07-21 20:15:07 +02:00
bnnm
2129afaf75
Fix some EA-XMA [Need for Speed: The Run (X360)]
2018-07-18 00:53:09 +02:00
bnnm
d6795b63c3
Add ASF decoder [Croc 2 (PC), Aladdin: Nasira's Revenge (PC)]
2018-07-18 00:52:24 +02:00
bnnm
bbd50c78ee
Minor doc
2018-07-18 00:37:14 +02:00
bnnm
572cd6a621
XA code cleanup
...
Decoding is still the same (byte-exact)
2018-07-14 23:08:07 +02:00
bnnm
9af7eadbcb
Fix some Ubi LyN [Michael Jackson the Experience (PS3)]
2018-05-27 17:28:48 +02:00
bnnm
a975eff1a2
Fix TXTH XMA multichannel and num_samples
2018-05-12 13:53:43 +02:00
bnnm
ab6cc8c6ce
Adjust EALayer3 V2 discard modes
2018-04-21 03:31:24 +02:00
bnnm
6e900315ab
Load Vorbis setup in fsb/wwise from array first, as it's most common
2018-04-15 01:16:45 +02:00
bnnm
6f4388045e
Add ps_cfg_bytes_to_samples for clarity
2018-04-12 23:21:53 +02:00
bnnm
bf4898a770
Fix 6ch EAlayer3 in EA SCHl [Medal of Honor 2010 (PC)]
2018-04-07 13:56:20 +02:00
bnnm
41e60f29da
Add Ubi LyN (.sns/son/wav) [Adventures of Tintin, From Dust (multi)]
2018-04-07 11:31:43 +02:00
bnnm
7a08ea263f
Add FFmpeg fake header/header_size check to simplify some calls
2018-03-31 13:07:26 +02:00
bnnm
00aaf8fe02
Remove old XMA2 v3 to v4 transformation since FFmpeg now parses both
2018-03-30 22:14:32 +02:00
bnnm
ad755b85c6
Fix mono/interleave/PCM16 .spsd [Giga Wing 2, Virtua Tennis 2 (Naomi)]
2018-03-28 22:58:25 +02:00
bnnm
eb52b3fb57
Add stereo AICA to GENH/TXTH (no interleave) [SF3 Double Impact (DC)]
2018-03-28 00:30:59 +02:00
bnnm
1708dcaf63
Remove PCM16-XOR decoder and use decryption streamfile instead
...
The encryption is built on top of the data, so this way mimics the
actual setup and removes another superfluous decoder
2018-03-27 23:24:24 +02:00
bnnm
0f529ea1a7
Remove BMDX decoder and use decryption streamfile instead
...
The encryption is built on top of PS ADPCM data, so this way mimics the
actual setup and removes a superfluous decoder
2018-03-27 22:39:05 +02:00
bnnm
eb4168f9b9
Rename aica_decoder.c to yamaha_decoder.c for clarity
...
AICA ADPCM is not really exclusive to Dreamcast as Yamaha used it in
their sound chips before.
2018-03-24 12:20:22 +01:00
bnnm
d821ecb117
Improve Dreamcast AICA decoding (not very noticeable)
...
On decoding start step_size was 0, but Yamaha ADPCM is supposed to start
at 127 so there was some deviation, usually minor as most files start in
silence.
2018-03-24 12:13:04 +01:00
bnnm
fbd8e94e41
Add Yamaha/NXAP ADPCM decoder
2018-03-24 12:08:16 +01:00
bnnm
49331423e2
Add true multichannel XBOX-IMA
2018-03-23 21:21:44 +01:00
bnnm
79194a0178
Fix some CAFF IMA4 [Endless Fables 2 (iOS), Vectros (iOS)]
2018-03-17 19:57:54 +01:00
bnnm
05dc3df6e0
Simplify mus_acm_codec_data into acm_codec_data
2018-03-16 18:02:17 +01:00
bnnm
ce9a69aad1
Clean ACM init/free/reset
2018-03-16 15:42:01 +01:00
bnnm
3ad6261208
Add check when calling free/seek/reset codec
...
It's possible to set a "coding" that triggers calls to the above while
codec_data is still null, when using special layouts like AAX
2018-03-10 16:59:00 +01:00
bnnm
67a2f29f75
Minor FADPCM cleanup
2018-03-08 22:55:50 +01:00
bnnm
b97fc632be
Fix minor compiler warnings
2018-03-03 19:07:59 +01:00
bnnm
5e50819778
Add FSB FADPCM decoding [Dead Rising 4 (PC), Sine Mora EX (Switch)]
2018-02-25 10:05:28 +01:00
bnnm
ac8a94c2b9
Fix XBOX-IMA decoding, 4ch and tweak layout [Dynasty Warriors 4 (Xbox)]
...
Now writes header sample and skips last nibble, as seen in MS's XDK
code, and simplifies multichannel layouts and fixes some theoretical
configurations
2018-02-24 22:30:17 +01:00
bnnm
3579858ef4
Write header sample in FSB-IMA (now is byte-exact vs FMOD's tools)
2018-02-23 23:17:13 +01:00
bnnm
6eba6b7022
Tweak WWISE-IMA as interleave and use "MUL" nibble expansion
...
Clarify it's just basically mono XBOX-IMA; "MUL" expansion apparently
used per decompilation (not really noticeable due to small headered
frames)
2018-02-23 23:01:44 +01:00
bnnm
42f44925f4
Fix possible segfault with some FFmpeg versions
2018-02-17 23:21:41 +01:00
bnnm
7c41cb22bf
Add wwise_ima comment about alternate nibble expand
2018-02-17 19:44:18 +01:00
bnnm
05916bdf26
Fix REF-IMA ADPCM decoding/num_samples, as it's based on MS-IMA
2018-02-17 18:19:28 +01:00
bnnm
5e00485948
Fix msadpcm_bytes_to_samples not counting small last block samples
2018-02-17 17:44:47 +01:00
bnnm
e73023d6e2
Fix MS-IMA ADPCM decoding/bytes_to_samples missing 1 sample per block
...
Now correctly follows Microsoft's spec and matches other players.
2018-02-17 17:23:52 +01:00
bnnm
9cf9416665
Add/use xbox_ima_bytes_to_samples, rename coding_XBOX to XBOX_IMA
...
Currently same as ms_ima_bytes_to_samples, but this will change; renamed
for consistency with all other IMA variations. Also clean a bit some
metas since I was testing anyway.
2018-02-17 12:30:14 +01:00
Christopher Snowhill
73933aae95
Merge pull request #187 from Thealexbarney/opus-fixes-switch
...
Fixes for Switch Opus reading
2018-02-15 16:37:19 -08:00
bnnm
68041f4c98
Fix some SCHl EALayer3 [GoldenEye: Rogue Agent (Xbox)]
2018-02-10 17:45:49 +01:00
Alex Barney
a4431c3d5d
Fix getting samples per frame for Switch Opus
...
Switch Opus uses the same output format that opus_demo writes. Each frame has an 8-byte header.
The first 4 bytes contain the length of the frame. The second 4 bytes contain the final state of the range coder.
8299edfc0c/src/opus_demo.c (L658-L681)
2018-01-29 18:07:08 -06:00
bnnm
86ce73d181
Rename Wwise Vorbis enums with prefix for clarity
2018-01-28 00:47:06 +01:00
bnnm
448d52fa4e
Remove BGW ATRAC3 mode in FFmpeg in favor of custom streamfiles
2018-01-27 13:01:30 +01:00
bnnm
cbe4b19b92
Add .KM9 [Nobunaga no Yabou - Souzou (Vita)]
2018-01-13 17:47:40 +01:00
bnnm
ef4ef28ace
Simplify xa_init_get_high_nibble call
2018-01-04 23:59:30 +01:00
bnnm
757e4cde69
Rename init_x_codec_data to init_x for consistency
2018-01-04 23:22:03 +01:00
bnnm
166b9d411e
Rename makefile.audacious to makefile.autotools, as now can build more
...
Not sure about the naming convention but hopefully clear enough
2018-01-04 22:59:07 +01:00
bnnm
51061c1316
Add ATRAC9 decoder
...
Requires furrybob's libatrac9, plus enabling VGM_USE_ATRAC9 in
vgmstream.h/compiler flag
2018-01-04 17:46:38 +01:00
bnnm
f00040f287
Add extended PS-ADPCM table (inFamous PS3)
2018-01-04 17:31:37 +01:00
Christopher Snowhill
c2cc114bbe
Merge pull request #166 from bnnm/atrac9pre-etc
...
ATRAC9pre, etc
2017-12-28 16:30:32 -08:00
bnnm
8789c5918e
Prepare ATRAC9 decoder hooks (disabled, not usable at the moment)
2017-12-29 00:29:33 +01:00
bnnm
8538aa1a75
Rename at3_decoder.c to at3plus_decoder.c and add init function
2017-12-27 01:02:24 +01:00
bnnm
ae71256c68
Fix ms_ima_bytes_to_samples when last block is shorter than frame
2017-12-26 18:18:41 +01:00
Daniel Richard G
bc45567208
Various updates to the Autotools build system:
...
Makefile.audacious.am:
* Add test/ subdirectory to the Autotools build
* Add version.h to EXTRA_DIST so that "make distcheck" passes
audacious/Makefile.audacious.am:
* Install Audacious plug-in into the appropriate directory
* No need to include CXXFLAGS in AM_CXXFLAGS, as the former is already
included in the compiler invocation
configure.ac:
* Need to link to libvorbis in order for static-library builds
(--disable-shared) to link correctly
* Only add GCC-specific compiler flags if GCC is detected
* Tightened up the GCC warning flags
* Don't set LIBS, so that different targets can link against different
libraries
* Generate makefile for test/ subdirectory
src/Makefile.audacious.am:
* Install libvgmstream into the library directory
* Removed GCC-specific flag from AM_CFLAGS
* No need to include CFLAGS in AM_CFLAGS, as the former is already
included in the compiler invocation
* Add libvgmstream dependencies via LIBADD instead of global LIBS var
test/Makefile.audacious.am:
* New makefile template for test/ subdirectory
unbootstrap:
* Also remove "compile" script from bootstrap
2017-12-25 22:18:55 -05:00
bnnm
2f9c16ae9b
Add mu-Law with internal interleave decoder
...
This is needed for blocked layout, as it can't do normal interleave.
Probably could be fixed in the future to remove several superfluous
_int/block decoders
2017-12-24 01:39:24 +01:00
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