Commit Graph

929 Commits

Author SHA1 Message Date
bnnm
973c4bff1d Added namco XMA (.xma), Soul Calibur II HD XMA (.past) variations 2016-12-26 13:27:47 +01:00
bnnm
ea7b8d2570 Added short VAG variation (SGXD type 5 found in PS3 Afrika) 2016-12-21 23:00:34 +01:00
bnnm
0b3050cf0a Added PSVita HEVAG (original algorithm by daemon1) 2016-12-21 20:44:16 +01:00
bnnm
4c25807b3d Prepare loop finder for HEVAG and minor touches 2016-12-21 00:48:47 +01:00
bnnm
75485c388e Moved VAG loop finder to function; comments, code preps 2016-12-20 23:29:36 +01:00
Christopher Snowhill
6a4577f561 Fixed MSS sample count handling, hopefully. 2016-12-18 19:54:41 -08:00
Christopher Snowhill
ad85fc8bc3 Make XMA support dependent on FFmpeg inclusion, for now. 2016-12-18 11:41:26 -08:00
bnnm
8140800587 Added proper/looped .XMA 2016-12-18 18:12:27 +01:00
bnnm
c1c1cd1ba6 init_ffmpeg accepts any generic header; init_seek edge cases (for XMA) 2016-12-18 13:10:08 +01:00
bnnm
27868be723 Fixed v5 header coef positions 2016-12-16 20:34:44 +01:00
bnnm
2a7b645d23 Fixed PS2 MSS sample count and description 2016-12-16 20:29:02 +01:00
bnnm
76dc236b41 Added .pos support for .vgmstream (FFmpeg) files not directly supported
The format is LE 4+4 [loop_start loop_end], or LE 4+4+4 [loop_start
loop_end num_samples] when FFmpeg can't determine correctly num_samples
2016-12-11 13:05:54 +01:00
bnnm
e6334e72af MAIATRAC3PLUS: use fact_samples if possible (manual calcs can be off) 2016-12-10 16:07:54 +01:00
bnnm
cdfd47eb7b FFmpeg: expose block/frame size, rename totalFrames for clarity 2016-12-10 15:53:29 +01:00
bnnm
22d7708d68 Added FFmpeg MP4/AAC 2016-12-06 17:12:56 +01:00
bnnm
c5066fdd09 Check for segfault 2016-12-06 11:53:54 +01:00
bnnm
80c72166e5 AT3: read skip samples to fix edge loops 2016-12-06 00:28:16 +01:00
bnnm
6568acc305 Favor FFMPEG over MPEG due to inaccurate looping and worse MPEG support 2016-12-04 23:10:18 +01:00
bnnm
2ac3db4d03 SGDX fixes: AT3/AC3 codecs (via FFmpeg), ADPCM interleave, unify code 2016-12-04 23:10:18 +01:00
bnnm
bf7d3da39a Load HCA encryption keys from external file (songname.extkey or .extkey) 2016-12-04 23:10:17 +01:00
bnnm
0faa3286aa Don't manually check framesRead and rely on FFmpeg's EOFs
FFmpeg's duration isn't always reliable (ie. bad headers) and the
decoder detects EOFs already, extra decoding attempts should be ignored.
This way vgmstream can use other values without modifying
ffmpeg_codec_data's state.
2016-12-03 11:42:38 +01:00
bnnm
80c8791288 Improve init_seek: don't add existing index, find packet size (for M4A) 2016-12-03 01:56:27 +01:00
bnnm
8cdce2c196 Check on init if seek to 0 works (buggier demuxers may fail) 2016-12-02 22:33:51 +01:00
bnnm
609bfb5d61 Minor fixes and cleanup 2016-12-01 23:49:00 +01:00
bnnm
47be992b4b Fix for demuxers that can't seek to 0 (FFmpeg bugs, see init_seek) 2016-12-01 20:11:17 +01:00
Christopher Snowhill
fa4498d964 Merge pull request #44 from bnnm/ffmpeg-fixes2
FFmpeg fixes
2016-11-27 14:10:09 -08:00
bnnm
f5e8e8ad8e Open key using streamFile, needed to allow user-defined callbacks 2016-11-27 22:42:42 +01:00
bnnm
088fb4a480 Add Gunhound EX PSP key; try to get key from external file
Needed for files which incorrectly guess its XOR key (like Gunhound).
The format for ADX keyfiles is 6 bytes with start/mult/add (ex.
0x111122223333).
2016-11-27 19:41:36 +01:00
bnnm
69116cb6ad Fix VGM_USE_MPEG #ifdef 2016-11-26 15:15:50 +01:00
bnnm
75dd0d0d8b FFmpeg fixes
- add samplesPerBlock to FFmpeg struct (for clarity)
- delete functions defs already in meta.h
- comments as I tried to understand the code better
2016-11-26 13:43:59 +01:00
bnnm
eb491e0e1b Added WMSF variation; AT3/MP3 support via FFMPEG 2016-11-25 22:29:07 +01:00
bnnm
a359dd1816 Null FFMpeg codecdata pointer on failure to avoid segfault 2016-11-25 19:35:52 +01:00
bnnm
ae5d71e377 Allow FFMPEG and MAIATRAC3PLUS to coexist 2016-11-14 22:20:00 +01:00
bnnm
ec2a652b29 Document AINF header 2016-11-13 21:08:11 +01:00
bnnm
eddd789222 Add loop support for Zero Time Dilemma (PC) 2016-11-13 21:08:11 +01:00
bnnm
5cd11594e2 Merge remote-tracking branch 'upstream/master' 2016-10-31 00:37:17 +01:00
Christopher Snowhill
82609f8cf6 Merge pull request #37 from bnnm/format-ps2-svag-snk
Support for PS2 SNK SVAG
2016-10-30 15:07:32 -07:00
bnnm
3c96211b06 LF was actually ok (they where CRLF previously but this is a unix file) 2016-10-30 18:59:09 +01:00
bnnm
ef8653569b attemp to fix LF 2016-10-30 12:53:34 +01:00
bnnm
5d9b186625 Less C99 2016-10-30 10:36:29 +01:00
bnnm
5ff5f8adf9 support for looping and v2 format (GANTZ) 2016-10-29 10:20:45 +02:00
Chris Moeller
94309292d9 Remove C99-isms for MSVC 2010. 2016-10-28 16:50:39 -07:00
bnnm
b5a9db8ae2 support for PS2 SNK SVAG 2016-10-27 23:21:12 +02:00
bnnm
f1b0b0ea82 fixed AT3plus sample count (needed for non-looped files) 2016-10-26 23:53:58 +02:00
Christopher Snowhill
713883d9bc Merge branch 'master' of github.com:kode54/vgmstream 2016-08-24 17:34:13 -07:00
Christopher Snowhill
36aa6bf9cd Add .sgb extension for RIFF WAV parser. 2016-08-10 18:31:06 -07:00
Christopher Snowhill
8337395ba9 Fix bitrate reporting for FFmpeg. 2016-08-10 18:30:48 -07:00
Arne Morten Kvarving
e6a8e8890d fixed: coding_FFmeg is conditionally defined 2016-07-31 14:54:57 +02:00
Arne Morten Kvarving
e3666934c1 fixed: move #endif into proper position 2016-07-31 14:51:47 +02:00
Christopher Snowhill
add0dba4eb Fix for compiling without FFmpeg. 2016-07-25 20:41:26 -07:00
Chris Moeller
cbe9bc3d6b Added FFmpeg support, and fixed a long standing issue with broken loops locking up the decoder. 2016-07-16 23:02:27 -07:00
Chris Moeller
b31ee39a95 Merge branch 'master' of gitlab.kode54.net:kode54/vgmstream 2016-06-30 15:48:12 -07:00
Christopher Snowhill
ecff4c7a28 Merge branch 'dbzdokkan_key' into 'master'
Add Dragon Ball Z: Dokkan Battle ADX key



See merge request !2
2016-06-30 18:47:48 -04:00
Chris Moeller
800a3da0da Undo an erroneous change to MP4 and HCA meta handlers that could crash. 2016-06-30 15:34:40 -07:00
Chris Moeller
5200ed4a91 Fixed file handle leak in HCA and MP4 decoders. Minor casting fixes. 2016-06-28 19:27:30 -07:00
Chris Moeller
33563f4e7c Add HCA support. 2016-06-28 00:20:37 -07:00
Adam Gashlin
d3b3b9623d Add Dragon Ball Z: Dokkan Battle ADX key 2016-05-03 02:25:43 -04:00
Adam Gashlin
fa6c98696b Accept 0x00010102 in header for CWAV
This is supposedly in files from Fire Emblem Fates and
Hyrule Warriors Legends.
2016-04-26 11:02:11 -04:00
Chris Moeller
961e57d8d0 Updated to reflect actual mp4v2 API 2015-08-01 05:45:19 +00:00
Chris Moeller
833a7a20a5 Fix inline array declaration for MSVC 2015-07-14 08:01:46 +00:00
Chris Moeller
6e4be8dafd Merge pull request #20 from soneek/master
Update to fix PCM16 decoding in BCSTM and BFSTM
2015-07-07 21:23:16 -07:00
Joseph Gibbs
9600e5f7d1 Fix typo 2015-07-07 15:54:23 -07:00
Joseph Gibbs
50bf81d269 Updated reading of sections for bcstm and bfstm. Fixed start offset for PCM16 b(c/f)stms 2015-07-07 15:46:08 -07:00
smt
e101fc8dc8 Add new ADX key. 2015-07-06 09:06:41 -07:00
Joseph Gibbs
51dfc3339a Added support for Xenoblade Chronicles 3D adx 2015-05-16 15:30:15 -07:00
Chris Moeller
f6367fb0a8 Fixed a .JOE file with 0 dataInterleave, assuming 16 byte interleave for such files. 2015-04-10 13:00:08 -07:00
Chris Moeller
64be1ead91 Crash fix for random files passing into this function and attempting to allocate negative channel count arrays 2015-01-24 21:09:00 -08:00
Chris Moeller
1ad884287b Added G.719 decoding support to BNSF input 2015-01-24 21:08:25 -08:00
Chris Moeller
a4f8a09541 Change the first use of variable length array declarations to use a xiph.org stack_alloc.h header, and define how to use it for MinGW, Unix (-DVAR_ARRAYS) and for MSVC (-DUSE_ALLOCA) 2015-01-21 17:50:27 -08:00
Chris Moeller
758615222f Removed C99-isms for old compilers 2015-01-21 17:31:44 -08:00
soneek
b015ae9982 Merge branch 'master' of github.com:soneek/vgmstream 2015-01-21 19:29:12 -05:00
soneek
46f21d977b Update to build with mingw, added at3plus support to Winamp plugin, Capcom mca, WiiU btsnd, MH3U dspw 2015-01-21 19:28:43 -05:00
MrCheeze
d98050547d Fixed bug making SSB4 music unopenable 2015-01-04 19:09:46 -05:00
Chris Moeller
6e4abd55e3 Sign extension bad! Fixed BFSTM format support. 2014-12-14 21:55:46 -08:00
Chris Moeller
922ab0e06f Update IDSP for Super Smash Bros. Wii U from patch by crediar 2014-12-13 17:04:33 -08:00
soneek
709c727401 Update bfstm for any header size 2014-12-11 20:31:01 -05:00
zeromus
52728a82d3 fix compiling in vs2008 (missing adds in vcproj, C90 variable declarations) 2014-10-20 02:58:33 -05:00
soneek
f1c571ca05 Fixed BFWAV interleave 2014-10-19 19:34:03 -04:00
soneek
76062dbbdc Add Hyrule Warriors G1L 2014-10-19 17:10:31 -04:00
soneek
115da3222f Fix byte order for 16-bit bfstm 2014-10-18 20:28:25 -04:00
soneek
52d3f06162 First BFSTM support (needs work for 9+ channels), experimental NSMBU bfwav support 2014-10-18 17:54:31 -04:00
Chris Moeller
9a03256df2 CSMP for Metroid Prime 3 and DKCR, from Antidote 2014-09-16 16:34:08 -07:00
Chris Moeller
0ebc29f236 IDSP as in SSB4 3DS 2014-09-16 16:31:59 -07:00
Chris Moeller
c83eb6c1fe fix FSB MPEG broken in r1034
thanks to CyberBotX for the catch and fix
2014-09-16 16:18:44 -07:00
Brandon
673107726a Fixed linking issue due to undefined references 2014-08-10 12:19:27 -07:00
Brandon
4c05726e28 Seems there is a missing file required to link test 2014-08-05 01:33:27 -07:00
Chris Moeller
4a573f48a4 Eliminate C99isms so it compiles in MSVC, and comment out some unused variables to silence warnings 2014-08-02 20:51:21 -07:00
Chris Moeller
7425dc2aad Fixed remaining path limit issues 2014-08-02 20:32:30 -07:00
Chris Moeller
b536b162f1 Merge pull request #4 from soneek/master
Added experimental support for bfwav
2014-08-02 20:30:48 -07:00
soneek
b1e5a3a9e3 Added experimental support for bfwav 2014-08-02 19:10:45 -04:00
halleyscometsw
44075c4e91 clean up some warning-causing ugliness 2014-06-26 21:12:48 -07:00
halleyscometsw
1854d42e97 Extend GENH to support little-endian "Gamecube" DSP ADPCM coefficients, for some 3DS titles.
This involves a reinterpretation of byte 0x30 (coef type). Formerly this byte took on only two values, to indicate how the ADPCM coefficients (aka codebook) were stored:
0 - normal coefs: all 16 coefs interleaved into one array, offset given at 0x24 for left, 0x28 for right
1 - split coefs: 8 coefs in the main array, additional offset to 2nd array given at 0x34 for left, 0x38 for right

Now I am considering this to be indicated only by bit 0 of the coef type. Bit 1 is taking on an additional interpretation, if it is set, we consider the coefficients to be little endian rather than the normal big endian.

This should maintain backwards compatibility with old GENH files, which should have only used the value 0 or 1.

Thus, in effect we have:
0: normal, big endian
1: split, big endian
2: normal, little endian
3: split, little endian

I don't know of any situation in which 3 would be used (yet), but I'm sure devs will continue to surprise me.
2014-06-26 20:53:49 -07:00
soneek
927077b348 Update RedSpark for M&L Dream Team 2014-05-26 01:43:00 -04:00
soneek
dbb99d6dc9 Add back path limit for BCSTM filename 2014-05-23 17:09:13 -04:00
soneek
0932405b54 Update for Paper Mario Sticker Star PCM BCSTM 2014-05-23 17:07:03 -04:00
Chris Moeller
d18fc960d1 Bumped path limit on new FSB5 meta handler 2014-04-23 22:12:33 -07:00
manakoat
842c064b3b FSB5, added ADPCM and PCM16 coding, 4 of 15 formats supported now 2014-04-23 21:36:06 -07:00
manakoat
b533969527 Fixed DSP stuff n FSB5 2014-04-23 21:35:08 -07:00
manakoat
3be505428a FSB5 DSP added, still WIP 2014-04-23 21:34:08 -07:00
manakoat
96301376cc FSB5 added, only MPEG support now 2014-04-23 21:31:04 -07:00