Commit Graph

2419 Commits

Author SHA1 Message Date
NicknineTheEagle
b4a71cd5aa RIFF: implemented looping info from CUE chunk 2018-09-21 14:31:56 +03:00
bxaimc
c7487d010e Add .POS looping for .Ogg (SNK Heroines, Sonic Mania) 2018-09-20 15:16:07 -04:00
bnnm
5a9fec3580 Add ADX key [Bakumatsu Renka - Karyuu Kenshiden (PS2)] 2018-09-12 20:01:19 +02:00
bnnm
c045d41670 Fix EA-MT looping for all cases [SSX3 (PS2)] 2018-09-10 13:18:53 +02:00
bnnm
37d7fe83c4 Move NXA Opus to its own file, since it's not very standard 2018-09-10 02:24:59 +02:00
bnnm
804fceb5e7 Remove custom FFmpeg, as custom IO streamfile can be used instead 2018-09-10 02:19:34 +02:00
bnnm
5ed95d07d4 Fix Opus interleave streamfile logical size and cleanup 2018-09-10 01:24:32 +02:00
bnnm
74536e0933 Swap custom FFmpeg OPUS for custom streamfile IO 2018-09-10 01:23:34 +02:00
bnnm
496d2ba534 Clean AIX meta a bit 2018-09-09 20:17:41 +02:00
bnnm
a273d9d9a2 Fix bitrate for layered/segemented layouts 2018-09-09 19:22:32 +02:00
bnnm
fd7d6f513d Simplify get_vgmstream_average_bitrate a bit
removed get_vgmstream_average_bitrate_channel_streamfile since it
doesn't really matter if codec_data streamfiles are retested multiple
times (just like vgmstream streamfiles are)
2018-09-09 16:28:39 +02:00
bnnm
6bee2a6209 Add .utk [The Sims Online (PC), SimCity 4 (PC)] 2018-09-09 15:29:34 +02:00
bnnm
5662dca358 Fix missing layout (was autoselected) 2018-09-09 15:29:23 +02:00
bnnm
06ea6af303 Minor doc 2018-09-09 15:13:58 +02:00
bnnm
e3c5430597 Fix some EA SCHl .bnk 2018-09-09 15:04:23 +02:00
bnnm
210d365df1 Add .sod Ogg extension [Zone 4 (PC)] 2018-09-09 12:24:28 +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
1810d3ced6 Add TXTP commands for looping/time (#i #E #lN #fN #dN #F)
- #i (ignore loop)
- #E (force end-to-end loop)
- #lN (force N loops)
- #fN (fade time)
- #dN (fade delay)
- #F (don't fade after N loops and play song end)
2018-09-07 19:34:31 +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
5e2283f51a Fix some .MSA [Konohana Pack: 3tsu no Jikenbo (PS2)] 2018-09-06 18:09:56 +02:00
bnnm
f519b1ad70 Add DERF DPCM decoder [Stupid Invaders (PC)] 2018-09-06 17:45:34 +02:00
bnnm
00bec4bd70 Extra check when disabling looping 2018-09-06 16:44:42 +02:00
bnnm
131340882b Add TXTP command #sN for subsong N (#N still works) 2018-09-04 23:53:25 +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
4652460aff Add extra validation in vgmstream_open_stream 2018-09-04 17:51:34 +02:00
bnnm
7ad7d3d47b Derive ADX keys automatically if only keystring/keycode is provided 2018-09-04 17:44:06 +02:00
bnnm
9d7d536da7 Add interleaved 2ch XBOX-IMA to TXTH/GENH 2018-09-04 17:11:08 +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
064990f6ff Add extra validation 2018-09-04 17:07:38 +02:00
bnnm
ee7767815b Add ADX key [Kashimashi! Girl Meets Girl (PS2)] 2018-09-04 17:07:24 +02:00
Christopher Snowhill
7b30d8bc9a
Merge pull request #292 from bnnm/hca-bcstm-metas-docs
hca, bcstm, metas, docs
2018-09-02 15:12:49 -07:00
bnnm
d6a682fe8c Add ADX key [Girls Bravo: Romance 15's (PS2)] 2018-09-02 21:37:19 +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
aa4ea4bc3b Document ADX CINF header 2018-09-02 21:06:38 +02:00
bnnm
3113342a71 Minor tweaks 2018-09-02 21:06:15 +02:00
bnnm
bd374a01a7 Improve ATRAC9 loop performance and cleanup 2018-09-02 21:02:11 +02:00
bnnm
91c3fd6afc Fix some Sony .bnk 2018-09-02 16:40: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
Nathan Benichou
9d94fdb033
Update rfrm.c
Support for LABL part in RFRM CSMP files
2018-09-01 15:21:46 +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
5afd33d62a Split idsp.c into idsp_ie.c and nub_idsp.c 2018-08-28 20:40:02 +02:00
bnnm
f7c26a493d Clean IDSPs 2018-08-28 20:35:07 +02:00
bnnm
c6a9396b67 Fix IDSP segfault 2018-08-28 20:34:55 +02:00
bnnm
9720384fbe Fix bcstm 3DS-IMA last interleave and cleanup 2018-08-28 19:43:12 +02:00
bnnm
d5a11d58e8 Add various metas
- DSP: itl, vag (PPP)
- PS2: int (A2M), ahv, msv, sdf, svg, vis
- PC: .aif (Asobo), ao, apc, wv2
- Xbox: xau (Konami)
2018-08-28 18:47:56 +02:00
bnnm
f71e98a5ba Fix missing MSVC dependencies 2018-08-26 22:56:31 +02:00
bnnm
bee3adc95b Document SQEX SCD looping issues in MPEG 2018-08-26 22:37:04 +02:00
bnnm
0231d635ed Fix Next Level IDSP last interleave/jingles [Mario Strikers Charged] 2018-08-26 22:36:36 +02:00
bnnm
751d5c5f0f Clean DSP meta once again 2018-08-26 20:05:38 +02:00
bnnm
cc537270c1 Add RFRM .csmp and cleanup [Donkey Kong Country Tropical Freeze (Wii U)] 2018-08-26 19:16:24 +02:00
bnnm
ce6722181a Move csmp to its own file, since it's not very standard either 2018-08-26 18:55:57 +02:00
bnnm
f2a5b5954f Move wsi to its own file, since it's not very standard 2018-08-26 17:40:40 +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
5aad45ab87 Clean AST meta 2018-08-26 13:48:14 +02:00
bnnm
bc62a689c0 Don't call block_update_x manually when using vgmstream_open_stream 2018-08-26 13:47:48 +02:00
bnnm
c2a0311584 Random tweaks 2018-08-26 13:47:02 +02:00
bnnm
92f35029bb Make generic block_update and auto-call in vgmstream_open_stream 2018-08-26 13:46:07 +02:00
bnnm
b02eeeff04 Fix some .SFL looping and SLI cleanup [Hanachirasu (PC)] 2018-08-26 02:26:38 +02:00
bnnm
88f50985de Optimize segmented layout decode samples 2018-08-26 01:05:07 +02:00
bnnm
ee03726bbc Find loop_segment automatically in segmented_layout + remove from metas 2018-08-26 00:59:31 +02:00
bnnm
c9dc0917ff Fix interleave layout hanging when no interleave size set 2018-08-25 21:15:10 +02:00
bnnm
3130eebf0c Minor layout cleanup + doc 2018-08-25 20:46:54 +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
f86c90c5f9 Use KMA9 custom IO instead of custom ATRAC9 2018-08-25 17:26:49 +02:00
bnnm
9c8dae38dc Fix multilayer XVAG ATRAC9 [flower (Vita), Farpoint (PS4)] 2018-08-25 17:25:02 +02:00
bnnm
1ba2637256 Clean XVAG meta for future changes 2018-08-25 16:23:15 +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
e3255344cf Redo EA-XMA with custom IO for fixes [Skate (X360), NFS: MW (X360)] 2018-08-25 12:48:55 +02:00
bnnm
d8758f0cb5 Fix describe_vgmstream with layered_layout + FFmpeg 2018-08-25 12:22:40 +02:00
bnnm
8cf27cc15e Add .xna XWB [Touhou Makukasai ~ Fantastic Danmaku Festival (PC)] 2018-08-25 12:21:21 +02:00
bnnm
8a57cf4729 Add .dax RIFF [Love Game's - Wai Wai Tennis (PS1)] 2018-08-25 12:20:55 +02:00
bnnm
07ad3250f6 Clean EAAC streamfile and prepare for EA-XMA 2018-08-25 09:57:46 +02:00
bnnm
6654e44517 Improve/fix AWC XMA streamfile for certain cases
It was assuming reads were sequential, though they can skip to offset
(in practice rarely affected), and adjusted packet skip to improve a few
songs.
2018-08-25 09:57:20 +02:00
bnnm
b17719f69c Rename render_vgmstream_nolayout to _flat for clarity/consistency
But not layout_none to layout_flat, since it's used everywhere
2018-08-24 19:37:02 +02:00
bnnm
f576d9568c Rename nolayout.c to flat.c for consistency/clarity 2018-08-24 19:29:39 +02:00
bnnm
b4884522d8 Optimize STDIO/FOO streamfiles slightly
Tries to simplify code, and buffer is not emptied unless we really read
more data (useful for edge reads). get_offset is now reliable (though
never used).
2018-08-24 18:48:42 +02:00
bnnm
6c553882f3 Rename codec_version to codec_config to clarify 2018-08-23 18:07:45 +02:00
bnnm
ad4478ac2c Set dual stereo as a meta flag rather than a static list
Mainly for cleanup/style
2018-08-23 18:00:34 +02:00
bnnm
9ad2f578e6 Fix PSH/VSV loops and glitches [Romancing SaGa (PS2)] 2018-08-23 17:13:46 +02:00
bnnm
d7c2249358 Simplify XVAG looping code 2018-08-23 17:00:52 +02:00
bnnm
41281aa4e9 Tweak .snds priority again 2018-08-22 21:16:25 +02:00
bnnm
6b4f54df92 Add TXTH "loop_flag = auto" to autodetect PS-ADPCM loop points 2018-08-22 21:04:16 +02:00
bnnm
06c8ab1b3f Remove bik2a/bk2a fake extensions since they aren't used 2018-08-22 20:43:19 +02:00
bnnm
dcbc7e5b9b Lower parse priority of raw metas so TXTH has a chance to go first 2018-08-22 20:39:31 +02:00
bnnm
785741e7e1 Rename ps2_mib.c to ps_headerless,c 2018-08-22 20:29:29 +02:00
bnnm
69c791656e Move MIB+MIH to its own meta and fix rare files [Gladius (PS2)] 2018-08-22 20:10:31 +02:00
bnnm
925916690a Parse PS3 .bnk properly and remove ps3_klbs.c [L@ve Once (PS3)] 2018-08-22 19:26:19 +02:00
bnnm
75fb12eed4 Fix PS2 VGS/ASS/VPK/etc samples, glitches and cleanup 2018-08-22 19:19:31 +02:00
bnnm
27038c9ec8 Add .wavebatch PCM8 [Cars 2 (3DS)] 2018-08-21 22:39:47 +02:00
bnnm
58b8b0c8df Fix various .vag issues [Shikigami no Shiro (PS2), Red Star (PS2)]
Also cleanup and loop end was also off by 28 samples in several cases
2018-08-21 22:16:56 +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
cae82e9074 Clean builds and enable VGM_USE_VORBIS/MPEG manually for consistency 2018-08-20 20:08:24 +02:00
bnnm
2f0aaaf4fd Fix some compile ifdefs and warnings 2018-08-20 20:05:44 +02:00
bnnm
bb07299dae Make libvorbis/libmpg123 optional in autotools 2018-08-20 19:21:51 +02:00
Christopher Snowhill
1294f515f2
Merge pull request #276 from Thealexbarney/msvc-fread-fix
Workaround MSVC fseek/fread bug
2018-08-19 16:15:54 -07:00
bnnm
f6417c5430 Use standard buffer size for all metas
There is not no real about having small-ish buffers, simplifies buffer
tuning, and avoids having gigantic buffers on bad reads.
2018-08-19 22:51:14 +02:00
bnnm
a5656eaa2f Optimize buffer_streamfile EOF reads and fix get_offset behaviour 2018-08-19 22:31:12 +02:00
bnnm
2e6f6c8176 Remove unnecessary FFmpeg ifdef 2018-08-19 19:09:37 +02:00
bnnm
485e5b9cf7 Fix blocks hanging with broken files/incorrect offsets
Also removes unnecessary halpst case
2018-08-19 19:02:22 +02:00
bnnm
ca04dbca70 Add old .scd SSCF [Crisis Core FFVII (PSP), Dissidia 012 (PSP)] 2018-08-19 16:42:39 +02:00
bnnm
b083042704 Cleanup 2018-08-19 10:07:27 +02:00
bnnm
3b5be9d28a Fix disabling looping with layered layouts 2018-08-19 00:43:06 +02:00
bnnm
c204127332 Fix .rws subsong segments [Madagascar (PS2)] 2018-08-19 00:40:01 +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
93b66b2aa6 Clean .rws code 2018-08-17 22:47:33 +02:00
bnnm
b71d568acb Improve .sts+int/.x [Shadow of the Colossus (PS2), Ape Escape 3 (PS2)] 2018-08-16 20:06:57 +02:00
bnnm
7734e4d87f Improve BFSTM region handling 2018-08-16 20:06:38 +02:00
bnnm
2e90f4de57 Reject EXST in .int meta and cleanup 2018-08-16 20:06:14 +02:00
bnnm
611e556809 Reject files with incorrect num_streams 2018-08-16 20:05:53 +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
6eaf516b23 Tweak FSB ifdefs 2018-08-15 21:19:25 +02:00
bnnm
a3534d7d11 Fix TXTH divide-by-zero with half_size and ch=0 2018-08-15 21:19:12 +02:00
bnnm
9c8323122c Improve read/seek performance for blocked layouts 2018-08-15 20:21:55 +02:00
bnnm
9e06652264 Redo .nus3bank to parse as a bank with subsongs
Also removes hacky code from idsp, since it's now on its own file
2018-08-15 19:59:10 +02:00
bnnm
1f6c384a48 Fix EA EAAC looping for RAM assets 2018-08-15 17:37:06 +02:00
bnnm
f4189f2482 Minor debug stuff 2018-08-15 17:36:20 +02:00
bnnm
e3b93755cc Add HCA key 2018-08-15 17:34:36 +02:00
bnnm
79cad960ae Add Sony .bnk [Puyo Puyo Tetris (PS4), NekoBuro: Cats Block (Vita)] 2018-08-15 17:34:17 +02:00
bnnm
cab8605959 Add atrac9_parse_config util 2018-08-15 16:42:34 +02:00
bnnm
f9f93e74e7 Fix segfault while reading some .xsb for .xwb 2018-08-15 00:49:17 +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
2c917c0792 Remove some minor unused warnings 2018-08-15 00:16:54 +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
985a3aead6 Clean .bfstm and add region debug code 2018-08-14 20:25:17 +02:00
bnnm
12167c7318 Fix EA SCHl ATRAC3 skip samples and remove .AST (playable with .ABK+AST) 2018-08-14 16:35:50 +02:00
bnnm
d22ee3051a Clean FFmpeg skip samples parsing 2018-08-14 16:35:17 +02:00
bnnm
cb1901eabe Merge branch 'master' of https://github.com/kode54/vgmstream into etc 2018-08-14 00:28:35 +02:00
bnnm
b36646aacf Add .hd3+bd3 [Elevator Action Deluxe (PS3), R-Type Dimensions (PS3)] 2018-08-14 00:28:15 +02:00
Christopher Snowhill
7840d9df1f
Merge pull request #279 from NicknineTheEagle/ea-fixes
EA formats
2018-08-13 14:43:56 -07:00
bnnm
36c6168c27 Add Firebrand Games .wavebatch [NFS: The Run (3DS), F&F: Showdown (3DS)] 2018-08-13 23:03:39 +02:00
bnnm
c26ad84497 Add TXTH sample_mode "blocks" (where bytes = blocks*interleave*channels) 2018-08-13 23:02:31 +02:00
bnnm
fa848c2ccd Fix FSB with CELT disabled 2018-08-12 23:12:09 +02:00
bnnm
c1e7e3b1f9 Enable CELT for MSVC project files 2018-08-12 23:00:28 +02:00
bnnm
2e4b8d6c31 Add multistream ATRAC9 FSB5 [Little Big Planet (Vita)] 2018-08-12 22:56:41 +02:00
bnnm
5720278d2d IDSP cleanup 2018-08-12 18:04:19 +02:00
bnnm
efb01a921c Add .wua IDSP and cleanup [Lego Dimensions (Wii U)] 2018-08-12 17:13:51 +02:00
bnnm
c7f9a47fcd Fix rare EALayer3 with proper loops [Need for Speed: World (PC)] 2018-08-12 14:03:04 +02:00