Commit Graph

745 Commits

Author SHA1 Message Date
bnnm
0d0296d4ec Add reverse engineered Namco Siren14 codec
Accurate to Namco's variation, less dubious license and a bit faster
than the float reference decoder
2020-01-12 11:57:20 +01:00
bnnm
a980a3cec6
Merge pull request #545 from simontime/tgc
Implement Tiger Game.com ADPCM
2020-01-11 23:24:13 +01:00
Simon Aarons
49c1a0d985 Fix formatting 2020-01-11 22:33:27 +11:00
Simon Aarons
5106ccba68 Implement Tiger Game.com ADPCM 2020-01-11 21:52:24 +11:00
Lukas Cone
10ab263092 Added FWSE format 2020-01-07 18:44:20 +01:00
bnnm
310c3b2cb4 Fix HEVAG clip glitches 2020-01-02 22:19:15 +01:00
bnnm
e4e367daf0 Add .fda Relic Codec AIFC [Homeworld 2 (PC)] 2019-12-27 01:29:56 +01:00
bnnm
cca2a64a20 Fix some MP3 num_samples [Marc Ecko's Getting Up (PC)] 2019-12-08 00:00:04 +01:00
bnnm
ce5bdedd2a Adjusted VAG full loops 2019-12-07 23:58:30 +01:00
NicknineTheEagle
08e135a07e Fixed PSX loop points scanner not working on mono files 2019-12-05 15:35:46 +03:00
bnnm
0de95ee919 Fix AFC in AST 2019-11-16 22:32:19 +01:00
bnnm
cc4f70806f Fix CRLF<>LF for some files 2019-11-10 21:26:31 +01:00
bnnm
6eecc5303d Improve SCHl MP2/EALayer3 V1a gapless 2019-11-06 23:06:21 +01:00
bnnm
bf14fccc97 Small detection tweaks 2019-11-04 23:31:23 +01:00
bnnm
5167cc9252 Fix FFmpeg slowness in MSVC 2019-11-04 23:29:34 +01:00
bnnm
3208863d75 Minor cleanup/comments 2019-11-03 22:58:33 +01:00
bnnm
0dfe352c7b Improve streamfile float reading 2019-11-02 20:12:12 +01:00
bnnm
f6b4df6680 Tweak EALayer3 comment 2019-11-02 16:10:54 +01:00
bnnm
73e60d64b1 Improve AFC/DTK/FADPCM/PROCYON/LSF/ASF/DSF/XMD/MTAF/MTA2 performance 2019-11-02 16:10:23 +01:00
bnnm
4d5ec06d76 Improve raw MP3 total samples reading 2019-11-02 15:49:10 +01:00
bnnm
c279e10722 Tweaks 2019-10-28 00:01:30 +01:00
bnnm
409a10172a Improve MPEG FSB/EA-MP3/AHX reads 2019-10-27 23:55:32 +01:00
bnnm
2e509b8fff Improve EALayer3 reads in SPS to avoid rebuffering 2019-10-27 23:55:02 +01:00
bnnm
abd281e7c8 Add raw interleaved XA subsong handling 2019-10-27 23:50:48 +01:00
bnnm
cf618362ff Optimize float-to-int in ffmpeg 2019-10-20 23:50:29 +02:00
bnnm
c4b259f5d8 Clean MSADPCM frame size and add extra check 2019-10-20 16:35:52 +02:00
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