bnnm
e35bbf59cf
Add UE4OPUS v2 [Travis Strikes Again: No More Heroes (PC)]
2019-10-19 12:13:49 +02:00
bnnm
2969db25de
Clean some streamfile code
2019-10-19 11:11:09 +02:00
bnnm
8973d3238f
Merge branch 'master' of https://github.com/kode54/vgmstream into ogg
2019-10-19 09:41:12 +02:00
Christopher Snowhill
ee3e170026
Fix planar format for mono files
2019-10-18 15:42:46 -07:00
bnnm
15d794bbe2
Allow Ogg decoder to be used like other codecs
2019-10-18 19:34:15 +02:00
Christopher Snowhill
2b1de051e2
Fix FFmpeg for non-planar formats
2019-10-15 19:54:11 -07:00
bnnm
4a338564e6
Minor doc
2019-10-14 00:32:07 +02:00
bnnm
d64f85a02e
Fix MPC missing start samples
2019-10-13 20:13:15 +02:00
bnnm
a05f8cbbec
Clean use of FFmpeg internal
2019-10-13 19:54:52 +02:00
bnnm
7214dfbef7
Fix ATRAC3 clips caused by incorrectly inverted PCM16
2019-10-13 18:55:52 +02:00
bnnm
e5e86d3324
Simplify FFmpeg decoder to remove temp buffer for performance
...
Also changes fuzzy behavior on frame error to mimic ffmpeg.exe
2019-10-13 18:43:13 +02:00
bnnm
15aa8652c6
Tweaks
2019-10-07 00:17:12 +02:00
bnnm
4af3f6bad6
Improve EA-XAS decoding/performance
2019-10-06 17:54:26 +02:00
bnnm
35f5da2ac3
Improve performance of ADX/XA/PSX/HEVAG/DSP decoders
2019-10-05 15:10:40 +02:00
bnnm
95a50a3168
Minor cleanup
2019-09-29 20:09:28 +02:00
bnnm
1b34ef1f01
Fix various leaks and issues found with drmemory
2019-09-29 18:25:24 +02:00
bnnm
97c090886f
Tweak Yamaha/AICA codec naming
2019-09-21 19:15:01 +02:00
bnnm
e372e19057
Fix Yamaha AICA decoding being slightly off and cleanup
2019-09-21 18:52:57 +02:00
bnnm
1bc7e0e410
Add Konami BMP .bin (as .lbin) + decoder [Jubeat Clan (AC)]
2019-09-08 21:12:13 +02:00
bnnm
9669de953e
Tweak Ubi ADPCM codes and accept 6-bit stereo from XIII (PC)
2019-09-08 20:23:06 +02:00
bnnm
5140cabe2d
Misc tweaks
2019-09-02 20:48:33 +02:00
bnnm
a7d220cf97
Add Ubi ADPCM in .SMx/SBx [Spliner Cell (PC), Batman Vengeance (PC/Xb)]
2019-09-02 20:46:42 +02:00
bnnm
057d66cf99
Add Platinum ADPCM for .wem [Bayonetta 2 (Switch)]
2019-08-29 00:54:49 +02:00
bnnm
84038b0fea
Improve raw ATRAC3 decoding accuracy and cleanup
2019-08-26 22:58:43 +02:00
bnnm
6f2999cd3d
Tweak EALayer3 discard modes from debug info and EAAC header
2019-08-26 00:41:17 +02:00
bnnm
22c3266727
Improve RIFF ATRAC3/plus decoding accuracy
2019-08-25 20:46:29 +02:00
bnnm
a3296cd274
Minor tweaks
2019-08-15 22:15:37 +02:00
bnnm
badf3477e3
Add Blitz Games .ima and improve decoder [Lilo & Stitch (PC)]
2019-08-15 16:25:52 +02:00
bnnm
d57b986523
Minor cleanup
2019-08-12 20:13:53 +02:00
bnnm
3bac417a8c
Add Pivotal .psf and decoder [The Great Escape, Conflict: Desert Storm]
2019-08-11 19:38:40 +02:00
bnnm
e08a0d8431
Redo MUSX (.sfx) stream/stream banks/sfx banks and fix various bugs
2019-08-03 23:35:10 +02:00
bnnm
4f5d622edc
Add .idwav/idmsf/idxma [Doom 3 BFG Edition (PC/PS3/X360)]
2019-08-02 21:11:55 +02:00
bnnm
3410f68866
Fix compilation without FFmpeg
2019-07-24 15:46:35 +02:00
bnnm
eac44c37c9
Add multichannel Switch Opus
2019-07-23 22:47:40 +02:00
bnnm
e9cfb8d617
Fix FFmpeg formats that can't seek
2019-07-21 14:41:17 +02:00
bnnm
c7aaabf573
Fix XVAG MPEG encoder delay/gapless looping
2019-06-29 13:24:53 +02:00
bnnm
40e2099fea
Fix installed TXTP loops in HCA files
2019-05-23 23:47:53 +02:00
bnnm
e4465fc117
Fix .hca key detection for newer Tales of the Rays files
2019-04-09 20:41:23 +02:00
bnnm
4f79dc82e8
Fix some .msf/mp3 looping
2019-04-09 20:40:48 +02:00
bnnm
57d724c2b2
Fix 5.1/7.1 .at3 LFE channel order [Devil May Cry 4 (PS3)]
2019-03-30 02:15:22 +01:00
bnnm
9e9417b916
Fix inconsistent PSX channel padding [Gitaroo Man (PS2)]
2019-03-24 03:21:05 +01:00
bnnm
9ac36892f6
Fix .sngw 5.1 channel order
2019-03-24 02:45:03 +01:00
bnnm
703c29775d
Add TXTH padding_size = (value|auto|auto-empty) to skip PS-ADPCM padding
2019-03-16 13:56:22 +01:00
bnnm
80ae4f2ed3
Add 9TAV [Metal Gear Solid 2/3 HD (Vita)]
2019-03-16 00:10:28 +01:00
bnnm
e5d4e2e382
Remove MTAF deblocking code and cleanup
2019-03-11 12:34:23 +01:00
bnnm
c7a8e25ce8
Validate some bytes-to-samples and shadowing tweaks
2019-03-11 01:34:36 +01:00
bnnm
fd9a33d2d0
Add TXTH mpeg bytes-to-samples and tweaks
2019-03-11 01:22:49 +01:00
bnnm
2b4570395a
Add AAC codec for TXTH and bytes-to-samples
2019-03-09 22:57:21 +01:00
bnnm
8850ddacff
Rename internal coding AICA to YAMAHA
...
AICA is simply Dreamcast's sound chip that uses standard Yamaha ADPCM,
codec used by Yamaha in many other places well before the Dreamcast
2019-03-03 02:30:52 +01:00
bnnm
0c39f4cf09
Fix tri-Ace Aska ADPCM .aac [Star Ocean Anamnesis (Mobile)]
2019-03-02 21:12:00 +01:00
bnnm
051cad9462
Minor shadowing fixes and cleanup
2019-03-02 19:23:37 +01:00
bnnm
d9296c6693
Add multichannel layout for OGG/MP4/WEM/FFmpeg and use in foobar
2019-03-02 15:57:41 +01:00
bnnm
3d279ea42c
Fix .ogg multichannel order and cleanup
2019-03-02 11:17:50 +01:00
bnnm
7372ffdc5c
Fix possible pcm_bytes_to_samples overflow
2019-02-24 09:52:48 +01:00
bnnm
e5480f4bb0
Fix minor shadowing issues
2019-02-23 03:15:49 +01:00
bnnm
dd31d1af33
Add Blitz IMA .str+wav [Zapper (PC)]
2019-02-23 00:12:58 +01:00
bnnm
dc22b3d955
Add some BAOs and v6 IMA [Ghost Recon Future Soldier (PC/PS3)]
2019-02-22 23:51:40 +01:00
bnnm
ed281e1c2e
Fix mpeg state not properly resetting in some cases
2019-02-16 01:23:43 +01:00
bnnm
9a402fb797
Minor fixes
2019-02-10 18:43:24 +01:00
bnnm
4c038cb0ea
Add Ocean .DSF, .208 and DSA decoder [Last Rites (PC)]
2019-02-10 01:36:05 +01:00
bnnm
011fe56614
Fix EALayer3 11ch, V1b PCM, V2S loops [Army of Two 3 (PS3), NFS:W (PS3)]
2019-02-09 23:42:59 +01:00
bnnm
a37afdee66
Fix Ubi IMA v2 [Donald Duck: Goin' Quackers (GC)]
2019-01-26 16:16:40 +01:00
bnnm
7b9d50e62b
Add proper .baf [Project Gotham Racing 4 (X360), Geometry Wars (PC)]
2019-01-12 18:01:19 +01:00
bnnm
093fa28a2f
Add OKI16 TXTH/GENH decoder [Sweet Legacy (PS2), Hooligan (PS2)]
2019-01-12 13:02:08 +01:00
bnnm
1f44c2d2de
Rename pcfx_decoder.c to oki_decoder.c
2019-01-12 11:38:20 +01:00
bnnm
5d610be086
Add .gin and EA-XAS v0 decoder [Need for Speed Most Wanted]
2019-01-12 02:26:38 +01:00
NicknineTheEagle
c47ae9632a
Changed decode_pcm4 functions to use int16_t instead of uint16_t
2019-01-10 02:54:52 +03:00
NicknineTheEagle
5190b362a9
Added 4-bit PCM decoder
2019-01-09 22:30:15 +03:00
bnnm
6906a55685
Add unused EA-XA float decoder
2019-01-01 19:02:58 +01:00
bnnm
fa2f95739a
Fix AWC MPEG not seeking back correctly
2018-12-28 11:04:18 +01:00
bnnm
e53740f27f
Add PCFX for GENH/TXTH [Der Langrisser FX (PC-FX)]
2018-12-27 16:14:59 +01:00
bnnm
28ce248992
Increase blank skips for rarer Dragalia Lost songs
2018-12-23 13:35:43 +01:00
bnnm
aeaf2c0b8c
Increase blank skips for rare Dragalia Lost songs
2018-12-23 01:54:50 +01:00
bnnm
2e3add8354
Add doc
2018-12-22 20:13:41 +01:00
bnnm
87972f55eb
Improve HCA key detection for small/silent HCA [Dragalia Lost (iOS)]
2018-12-22 19:44:30 +01:00
bnnm
3ead9f7f4a
Fix MTA2 with empty frames
2018-12-21 22:37:56 +01:00
bnnm
34d4500e54
Add .sps EAMP3 [Need for Speed (PS4)]
2018-12-15 11:17:47 +01:00
bnnm
4c36a5eb09
Fix audacious builds
2018-12-04 00:00:22 +01:00
bnnm
eaa176864c
Simplify debug off_t casting for easier build
...
Also reorder some custom opus funcs that don't depend on ffmpeg
2018-12-01 18:52:30 +01:00
bnnm
7a5cf59951
Remove custom Opus skip_samples for newer FFmpeg + libopus
2018-12-01 18:33:43 +01:00
bnnm
b75b180557
Add minor opus bad data check
2018-12-01 02:39:25 +01:00
bnnm
ef64889a28
Add XMA utils to fix encoder delay stuff
2018-11-18 17:00:48 +01:00
bnnm
ab90e08484
Add ADPCM .xpcm [Eternal Fantasy (PC)]
2018-11-10 00:09:03 +01:00
bnnm
466f3af458
Subfile streamfile cleanup
2018-10-27 23:49:08 +02:00
bnnm
0e16a309e2
Add 2MSF and clean WMSF [Super Robot Taisen OG: The Moon Dwellers (PS4)]
2018-10-27 23:10:03 +02:00
bnnm
3123d1c273
Adjust XOPUS encoder delay
2018-10-20 12:35:50 +02:00
bnnm
e49a688559
Add .xopus decoding [Angry Birds Transformers (Android)]
2018-10-13 21:01:58 +02:00
bnnm
ec0043bf6b
Improve HCA key testing
2018-10-13 19:50:42 +02:00
bnnm
80aad4f15a
Add/fix XWMA start and num samples
2018-10-07 23:27:31 +02:00
bnnm
4e45cbd571
Add FFmpeg encoder delay logs
2018-10-07 21:16:57 +02:00
bnnm
a63dd9eae0
Fix XWMA with buggy bit rates [Saints Row 2 (PC)]
2018-10-07 03:26:31 +02:00
bnnm
65aca53cb5
Fix some XWB + FFmpeg subsongs
2018-10-07 03:26:05 +02:00
bnnm
34676bbdc6
Prepare XMA adjusted loops
2018-10-07 02:23:05 +02:00
bnnm
9f6c1c4da2
Fix rare FFmpeg codecs decoding more samples after data EOF, cleanup
2018-10-06 22:39:34 +02:00
bnnm
1056092bf3
Fix Final Fantasy Tactics A2 IMA decoding
2018-10-04 19:43:37 +02:00
bnnm
2a5516fe7c
Restore G719 max frame size as 2560 bits (0x140) is decoder max
2018-09-27 23:56:44 +02:00
bnnm
d2798c946a
Simplify switch_opus_get_samples usage
2018-09-27 23:39:37 +02:00
bnnm
d7c5c3feaf
Improve UE4Opus/EAOpus encoder delay calculations
2018-09-27 23:31:03 +02:00
bnnm
3269649eec
Add EAOpus [FIFA 17 (PC), FIFA 19 (Switch)]
2018-09-27 23:10:01 +02:00
bnnm
c5b514b577
Improve UE4OPUS encoder delay and fix get_opus_samples_per_frame
2018-09-23 12:17:23 +02:00
bnnm
d717f21189
Add UE4OPUS decoder [Fortnite (PC), ARK: Survival Evolved (PC)]
2018-09-23 04:26:11 +02:00
bnnm
5f3ab0a5fc
Rename *_utils_switch_opus.c to *_custom_opus.c for future changes
2018-09-23 04:22:16 +02:00
bnnm
7d91ef1432
Cast off_t to off64_t when printf'ing for future 4GB file support
2018-09-23 03:01:13 +02:00
bnnm
c045d41670
Fix EA-MT looping for all cases [SSX3 (PS2)]
2018-09-10 13:18:53 +02:00
bnnm
804fceb5e7
Remove custom FFmpeg, as custom IO streamfile can be used instead
2018-09-10 02:19:34 +02:00
bnnm
74536e0933
Swap custom FFmpeg OPUS for custom streamfile IO
2018-09-10 01:23:34 +02:00
bnnm
06ea6af303
Minor doc
2018-09-09 15:13:58 +02:00
bnnm
2b7cd654b2
Allow arbitrary frame sizes for G719 and cleanup
2018-09-09 12:24:08 +02:00
bnnm
a3f2231ba1
Update EA-MT API a bit
2018-09-09 00:51:35 +02:00
bnnm
47b5a189cf
Clean EA-MT code
2018-09-08 23:36:31 +02:00
bnnm
417cc59277
Fix EA-MT looping [SSX3 (PS2)]
2018-09-08 19:22:56 +02:00
bnnm
19f69e14b7
Add ALP IMA decoder [Lego Racers (PC)]
2018-09-06 20:25:04 +02:00
bnnm
800ebfc007
Minor doc
2018-09-06 18:10:47 +02:00
bnnm
f519b1ad70
Add DERF DPCM decoder [Stupid Invaders (PC)]
2018-09-06 17:45:34 +02:00
bnnm
59b303d753
Update libacm to 1.2 and add .WAVC sfx
2018-09-04 22:42:21 +02:00
bnnm
f70852095c
Tweak minor ACM stuff for opaqueness
2018-09-04 18:37:51 +02:00
bnnm
fcc5f59ffe
Add buffer size validations in custom Vorbis
2018-09-04 18:00:59 +02:00
bnnm
fa472d4f70
Fix interleaved 2ch XBOX-IMA [Fairly OddParents: Breakin' da Rules]
2018-09-04 17:10:41 +02:00
bnnm
3a64f8b0d2
Fix some BNSF [Taiko No Tatsujin: Drum Session! (PS4)]
2018-09-04 17:08:01 +02:00
bnnm
bf0d46a476
Rename decode_SASSC to lowercase for consistency
2018-09-02 21:11:15 +02:00
bnnm
c707a29639
Rename SASSC_decoder to lowercase for consistency
2018-09-02 21:09:15 +02:00
bnnm
bd374a01a7
Improve ATRAC9 loop performance and cleanup
2018-09-02 21:02:11 +02:00
bnnm
9c0db7cae3
Improve HCA/clHCA key detection
...
- Only test keys when file is encrypted
- Add clHCA_TestBlock to test a frame with the current key
- Move some key detection code to hca_decoder.c and simplify hca.c
detection
- Decrease number of test frames due to increased accuracy of
clHCA_TestBlock
2018-09-02 16:00:58 +02:00
bnnm
fd52fe0e95
Clean clHCA lib 3 (API)
...
- rename clHCA_DecodeSamples16 to clHCA_ReadSamples16 since it isn't
really decoding
- divide clHCA_Decode into clHCA_DecodeHeader and clHCA_DecodeBlock to
clarify usage
- unify clHCA_IsOurFile0/1 since one would need to call
clHCA_DecodeHeader right after it anyway
- add clHCA_SetKey for easier key handling
- adapt vgmstream wrapper
2018-09-01 20:28:00 +02:00
bnnm
43764d6c8d
Fix HCA num samples/looping [Binary Domain (PC), Octopath Traveller]
...
Decoder has been modified a bit so it's easier to feed an arbitrary
number of discard samples (or at least, easier for me to understand),
since encoder delay can be >1024 (frame size) and would make some calcs
go all wobbly
2018-08-29 23:42:47 +02:00
bnnm
9a2a2e4c2e
Export extra sample values in clHCA_getInfo
2018-08-29 20:48:35 +02:00
bnnm
411fa498bb
Clean HCA meta/decoder for future changes
2018-08-29 20:05:31 +02:00
bnnm
d94485e89e
Minor decode_vgmstream cleanup
2018-08-26 17:07:33 +02:00
bnnm
4ee39206c3
Fix Lunar 2 SCD loops/sample rate/stereo and PCM8 cleanup
2018-08-26 16:36:08 +02:00
bnnm
3765831dbe
Remove usage of atrac9_parse_config
2018-08-25 18:03:58 +02:00
bnnm
a734e9c5cb
Remove custom ATRAC9 in favor of custom IO
...
Formats using custom layouts tend to be weird enough that it's a pain to
add support directly in the decoder.
Instead should use custom layouts and I/O streamfiles that, though a bit
wordy and unwieldy at the moment, are a lot more flexible.
2018-08-25 17:48:01 +02:00
bnnm
9e54efe6d8
Remove FFMPEG_EA_XMA as it's now done with custom IO + layers
2018-08-25 13:22:57 +02:00
bnnm
fe3538520b
Add ps_find_loop_offsets util to find loop point in PS-ADPCM data
2018-08-21 22:14:55 +02:00
bnnm
d93a4b2c7a
Add proper H4M decoding [Resident Evil 0 (GC), Tales of Symphonia (GC)]
2018-08-19 00:38:08 +02:00
bnnm
8d7fb21c8f
Check max filesize to avoid buggy reads
...
It was affecting some truncated Switch Opus that were reporting too many
samples
2018-08-15 22:47:22 +02:00
bnnm
cab8605959
Add atrac9_parse_config util
2018-08-15 16:42:34 +02:00
bnnm
9333a22c16
Remove some minor deprecated warnings
...
Tested with all major codecs we use for FFmpeg, all decode the same
2018-08-15 00:18:05 +02:00
bnnm
65a69982b6
Clean G719/G7221 a bit and remove innecessary use of stack_alloc
2018-08-14 22:20:36 +02:00
bnnm
d22ee3051a
Clean FFmpeg skip samples parsing
2018-08-14 16:35:17 +02:00
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
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
bnnm
953022b983
Add AWC MP3 [Red Dead Redemption (PS3), GTA5 (PS3)]
2017-08-28 15:14:24 +02:00
bnnm
5d12d6fb67
Add big endian mode to coding_PCM16LE_int and rename to coding_PCM16_int
2017-08-27 22:17:13 +02:00
bnnm
7875090f0f
Improve PCMFLOAT
2017-08-27 21:54:43 +02:00
bnnm
adb225c180
Add EA SNU + EA-XAS decoder + SNS blocks [Dead Space, The Godfather 2]
2017-08-20 02:18:48 +02:00
bnnm
c953685c80
Rename ea_decoder to ea_xa_decoder
2017-08-20 02:12:15 +02:00
bnnm
0103f449d0
Pass stream_index to FFmpeg manually for flexibility
2017-08-19 10:28:28 +02:00
bnnm
5cddab629d
Add FFmpeg audio stream selection
2017-08-18 18:56:43 +02:00
bnnm
6642607d0e
Add FSB5 PCMFLOAT + decoder [Anima Gate of Memories (PC)]
2017-08-18 18:54:21 +02:00
bnnm
272b55cb3e
Add DSP hist utils
2017-08-12 18:39:56 +02:00
bnnm
90aef437ea
comments
2017-08-05 17:59:35 +02:00
bnnm
aaa2613802
Add EALayer3 v1 decoder for SCHl [EA games for PS2/Wii/X360/PS3]
2017-08-05 17:54:50 +02:00
bnnm
fadb999207
Add AHX type 0x08 decryption, with .ahxkey files (16b*3, start/mult/add)
2017-08-04 21:48:55 +02:00
bnnm
66219f6b37
Use sample buffers per stream in MPEG custom decoder
...
Simplifies the code somewhat and allows more flexibility for new custom
modes (like EALayer3, that can output PCM blocks before decoding
anything)
2017-08-04 21:29:58 +02:00
bnnm
cb05313b13
Add P3D MPEG decoder [Prototype 1/2 (PS3)], fix debug crap
2017-07-29 23:53:45 +02:00
bnnm
d54492cb95
Update MPEG "interleaved" decoder: now "custom", restructured, added AHX
...
To support future MPEGs of uncertain layout and frame variations (namely
EALayer3) the code has been restructured: mpeg_decoder does stream
procesing and decoding, while mpeg_custom_utils_x does init and parsing
(write to data buffer + update offsets), per MPEG subtype. Internals
have changed but still gives byte-exact results.
AHX has been adapted to this format as a test. Some modes
(P3D/EALayer3/LyN/AWC) are defined for later development but will fail
on init ATM.
2017-07-29 23:14:04 +02:00
bnnm
6308818b77
Simplify MPEG coding/layouts to allow blocked layouts and future changes
2017-07-29 13:05:23 +02:00
bnnm
54ef2b5190
Add Silicon Knights .AUD + SK Vorbis [Eternal Darkness (GC)]
2017-07-29 11:46:53 +02:00
bnnm
fcf8a9485c
Fix outbuf only being partially cleared when trying to read after EOF
2017-07-29 01:25:35 +02:00
bnnm
925934c53c
Rename Vorbis files and cleanup
2017-07-28 23:43:49 +02:00
bnnm
bc8e2e9204
Unify fsb/wwise/ogl Vorbis decoders into a single decoder with subtypes
2017-07-28 23:26:58 +02:00
Christopher Snowhill
cad12760f2
Include system math.h header instead of possible project local header.
2017-07-23 17:08:20 -07:00
bnnm
523daaf18d
Modify eacs_ima to not depend on get_high_nibble, document it's 2ch DVI
2017-07-23 17:08:10 +02:00
bnnm
a88cd8ca1b
Add ima_bytes_to_samples helper
2017-07-23 12:49:10 +02:00
bnnm
366e3fcb9c
Make XBOX_int write sample hist and skip last nibble to fix some files
...
Fixes Gauntlet Dark Legacy (Xbox) scratchy sound and the output is now
byte-exact in EA SCHl streams
2017-07-23 04:31:09 +02:00
bnnm
1fb02da34d
Remove EA hack in XBOX decoder and modify XBOX_int (mono) for EA SCHl
2017-07-23 04:21:07 +02:00
bnnm
604f5ef507
Make EA-XA v2 decode using v1 table for clarity (no byte-diffs)
2017-07-21 21:03:51 +02:00
bnnm
2c61528241
Fix EAXA v1 not clamping ouput PCM hist, leading to small deviations
...
Now it's byte-exact vs EA's tools; EAXA v2 doesn't actually need it as
the encoder ensures no clamping is needed (for performance?)
2017-07-21 20:37:25 +02:00
bnnm
5fe6033442
Fix/improve EAXA naming scheme and detection/handling
...
EA's MT/MicroTalk is not the early version of EAXA as I thought, but a
rarely used VBR codec (ex. FIFA 2001/2002 PS2) seemingly related to
Westwood VBR ADPCM
2017-07-21 19:19:58 +02:00
bnnm
cce72d7aa5
Add EA SCHl Saturn + MT10 mono/int; changed Maxis_ADPCM to Maxis_MT10
...
Also fixed some issues with ADPCM hist in EA SCHl blocks
2017-07-08 00:27:36 +02:00
bnnm
68071467c2
Add MPEG to EA SCHl [Harry Potter and the Chamber of Secrets (PS2)]
2017-07-01 23:55:10 +02:00
bnnm
d85c033c9d
rename some EA related things (cleanup)
...
- eaxa_decoder to ea_decoder
- ea_header to ea_schl
- ea_block* to ea_schl_block*
2017-07-01 23:27:35 +02:00
bnnm
bf34339b41
redo EA SCHl support [EA games from roughly 1997~2010]
...
* tested most variations using EA's tools
* added looping [Need for Speed II PC]
* added DSP support [3DS games]
* fixed PCM/EAXA/MT in some cases [PS2/GC/XBOX/Wii games]
* fixed sample rate/codec defaults, num_samples in some cases
* documented more header patches and other details (ex. "EA ADPCM" is
now EA MT/MicroTalk, as per EA's tools)
* (dev) some internals adapted for EA stuff
2017-07-01 23:02:24 +02:00
bnnm
86cb660f76
Define MPEG interleave type to improve and simplify some internals
2017-06-25 02:09:12 +02:00
bnnm
64500f025d
Add PC XA30 + IMA decoder [Driver: Parallel Lines (PC)]
2017-06-24 23:30:10 +02:00
bnnm
3ca2ac1ee8
Fix segfault when reading MTA2 files after EOF (ex. trunkated)
2017-06-11 22:38:05 +02:00
bnnm
7e42eeca58
Add u-Law decoder + ULW meta [Burnout 1 GC]
2017-06-09 22:26:09 +02:00
bnnm
4263533ba9
Move FFmpeg code from ffmpeg.c to ffmpeg_decoder.c for consistency
2017-05-19 17:21:22 +02:00