Commit Graph

1811 Commits

Author SHA1 Message Date
bnnm
519c5d71de Redo RWS with PCM/PS-ADPCM/DSP/IMA-ADPCM + block support [many games] 2017-06-10 02:25:49 +02:00
bnnm
d7e3f6915d Add renamed .RWS at3 [Climax PSP games: Silent Hill Origins, Oblivion] 2017-06-09 23:54:14 +02:00
bnnm
f513d53999 Rename ps2_rws.c to rws.c and do other rws cleanup 2017-06-09 22:31:33 +02:00
bnnm
7e42eeca58 Add u-Law decoder + ULW meta [Burnout 1 GC] 2017-06-09 22:26:09 +02:00
bnnm
818dfd026e Fix some XBOX XAU with more chunks 2017-06-09 21:45:15 +02:00
derselbst
2b5a1a249f minor bug in check_extensions()
cmp_len might not become negative on LP64 machines, since sizeof(int)==32bit, but we were subtracting pointers (64bit) that will become positive forcing them to 32bit int
2017-05-27 11:38:09 +02:00
Christopher Snowhill
8b936cc74c Merge pull request #94 from Thealexbarney/hps
Better support HPS files with a channel count other than 2
2017-05-20 18:54:21 -07:00
Alex Barney
58398619a6 Add support for HPS files with >2 channels
Unlike mono HPS, the format never included support for more than 2 channels, as far as I know.
By adding additional channel headers and data to each block, we can unofficially extend the container to support more than 2 channels.
2017-05-20 20:36:24 -05:00
Alex Barney
cd63388631 Properly loop mono HPS files 2017-05-20 18:45:49 -05:00
bnnm
6a922be613 Fix encoder delay/skip samples in: SCD/SGXD/RIFF/MSF ATRAC3/p, SGXD AC3 2017-05-20 18:00:27 +02:00
bnnm
94b3854a87 Fixed some PS2 .AST [Naval Ops Warship Gunner (PS2)] 2017-05-20 01:26:57 +02:00
bnnm
4263533ba9 Move FFmpeg code from ffmpeg.c to ffmpeg_decoder.c for consistency 2017-05-19 17:21:22 +02:00
bnnm
0bab6ddf50 Fixed Crackdown X360 XWB variation; adjusted XWB XMA looping 2017-05-18 22:14:32 +02:00
bnnm
30afc09255 Rename ps2_xau.c to xau.c 2017-05-18 21:03:14 +02:00
bnnm
a903072a11 Added XPEC's .XAU IMA-ADPCM support [Beat Down (Xbox)] + looping (PS2) 2017-05-18 21:00:42 +02:00
bnnm
9488ba32c7 test.exe: add "-F" option to loop + play stream's end instead of fading 2017-05-18 19:55:00 +02:00
bnnm
2c1dafa1a0 Add missing exts 2017-05-18 19:17:19 +02:00
bnnm
625c18a87e Add MTA2 decoder/meta support [Metal Gear Solid 4 (PS3)] 2017-05-18 19:16:44 +02:00
bnnm
08a01fec1f Fixed .str XMA [Sonic & Sega All Stars Racing with Banjo X360] 2017-05-18 19:11:21 +02:00
bnnm
661ed2da20 Fix GTD #ifdef issue 2017-05-18 19:06:58 +02:00
bnnm
2d5fece2af Added simple MTAF block skip; meta cleanup [Metal Gear Solid 3 HD] 2017-05-18 19:06:22 +02:00
Alex Barney
3e2b4e3735 Add support for multi-channel Nintendo .dsp files 2017-05-13 19:38:28 -05:00
Christopher Snowhill
70ea05cec2 We're sticking with C89 for now. 2017-05-13 16:48:35 -07:00
Christopher Snowhill
4e54a82900 Merge pull request #89 from Thealexbarney/adx
Improve ADX support
2017-05-13 16:42:23 -07:00
Alex Barney
5d43080167 ADX decoding accuracy improvements
Can't factor out a bit shift like you can division because of negative numbers.
Coefficients should be rounded toward 0, not negative infinity
2017-05-13 18:16:32 -05:00
Alex Barney
89cdaa83e9 Add support for encoding type 4 ADX 2017-05-13 17:37:24 -05:00
bnnm
3527dbcdb0 Add RXWS (.XWB+XWH/.XWS) with ADPCM/PCM/ATRAC3 [Sony/SCEI PS2 games] 2017-05-13 23:54:09 +02:00
Alex Barney
ab647cc155 Add support for type 2 ADX files 2017-05-13 16:04:30 -05:00
Alex Barney
ef1499f480 Add support for varying ADX frame sizes 2017-05-13 15:17:27 -05:00
bnnm
21c9f44273 Rename ps2_rxw to ps2_rxws and do some cleanup 2017-05-13 13:01:16 +02:00
bnnm
8759d42928 Add .ace (fake) for tri-Ace games 2017-05-13 11:30:30 +02:00
bnnm
a79b874f82 Add RSD6XMA and tri-Ace's PS3/X360 support (by bxaimc) 2017-05-13 02:22:15 +02:00
bnnm
e2cc352238 Add GTD support [Knights Contract X360] 2017-05-13 01:55:31 +02:00
bnnm
64b4631ded Add some missing #ifdef VGM_USE_VORBIS 2017-05-12 19:25:20 +02:00
bnnm
1cd259a010 Rename ps2_mss.c to mss.c 2017-05-12 19:16:46 +02:00
bnnm
b8f2efadc4 Add partial support for Xbox MSS [Shellshock Nam 67], update names
Needs a new "stereo interleave" layout so it only plays as a 2ch stream
for now.
2017-05-12 19:15:18 +02:00
bnnm
8c39ad62cb Rename unix to audacious (folder and makefiles) 2017-05-01 17:08:52 +02:00
bnnm
1e793e577e Move HEVAG decoder to its own file 2017-05-01 16:58:33 +02:00
bnnm
56f68dd089 Rename ngc_waa_wac_wad_wam.c to waa_wac_wad_wam.c 2017-05-01 16:37:30 +02:00
bnnm
1885f6e889 Autoupdate Audacious makefiles with .c list and git version on build 2017-05-01 13:33:45 +02:00
bnnm
16cc0c4131 Update Audacious scripts 2017-05-01 11:00:56 +02:00
bnnm
825ebbdec9 Update Audacious plugin
- make extension list use formats.c and remove exts.cc
- Audacious 3.8 preparations (untested)
- cleanup
2017-05-01 10:56:40 +02:00
bnnm
6cf0195d25 Move reset/seek/free code to decoders (vgmstream.c cleanup) 2017-04-29 22:37:15 +02:00
bnnm
cac3af887a Allow mono MSADPCM; validate interleave for endless loops in some codecs 2017-04-29 20:28:14 +02:00
bnnm
af2b5d4e76 Fix AKB MSADPCM loop samples 2017-04-29 16:54:13 +02:00
bnnm
779bf68ab1 Fix some compiler errors with -Werror=format-security 2017-04-29 16:23:50 +02:00
bnnm
fd72f6120a Adjust EOF reads; minor cleanup
When reading over filesize (buggy metas that request more samples than
possible) it returned inconsistent results under some
conditions/interleave sizes (the effect was minimal though)
2017-04-29 16:03:11 +02:00
bnnm
d5aee307f0 Rename coding_INT_X to coding_X_int for consistency with other codecs 2017-04-29 02:53:36 +02:00
bnnm
086a47cd76 Add compiler flag VGM_DISABLE_VORBIS (as Vorbis is enabled by default) 2017-04-29 02:20:24 +02:00
bnnm
75d079f389 Add block size (interleave) description for MSAPDCM/MS-IMA/etc 2017-04-29 02:19:27 +02:00
bnnm
3d9e48a03f Remove unused 2dx.c, 2dx9 is used instead 2017-04-29 02:04:10 +02:00
bnnm
d364cf5a8d Add AKB MSADPCM [various SFX]; improve AKB header parsing 2017-04-28 20:10:18 +02:00
bnnm
6389493992 Build object list automatically using a make wildcard 2017-04-28 18:33:33 +02:00
bnnm
4a83de7dae Added MC3 decoder/meta [MX Rider, Spy Hunter, T3] (thanks to daemon1) 2017-04-28 17:26:25 +02:00
bnnm
c630f14ce3 Fix some "short" MPDS 2017-04-28 16:16:10 +02:00
bnnm
fa829d49f7 Relax XWB size checks for padded files [BlazBlue Centralfiction PC] 2017-04-28 16:10:16 +02:00
Christopher Snowhill
e8c1c899e3 Merge pull request #85 from bnnm/ogl-sxd-xwbv1-misc
OGL, SXD, XWB v1, misc
2017-04-22 12:52:43 -07:00
bnnm
f153479383 Add OGL Vorbis decoder/meta [Jett Rocket (Wii), FAST Racing NEO (WiiU)] 2017-04-22 19:25:54 +02:00
bnnm
f68a0484c6 Remove test code for truncated Wwise Vorbis 2017-04-22 17:22:48 +02:00
bnnm
460beeb141 Remove unneeded TODO 2017-04-22 16:23:40 +02:00
bnnm
bd3e054b82 Add basic SXD support [Gravity Rush, Freedom Fighter SFX (PSV)] 2017-04-22 15:00:22 +02:00
bnnm
bb00cfa22c Make try_dual_file_stereo static/local 2017-04-22 13:31:12 +02:00
bnnm
c8f82e6f06 Simplify XMA parsing and don't make it fully FFmpeg-dependant 2017-04-22 13:12:01 +02:00
bnnm
0bade4a931 Fix XMA1 parsing bugs 2017-04-22 13:11:11 +02:00
bnnm
7cc3660fc8 Separate X360 NUB/PASX from xma.c for cleanup 2017-04-22 12:09:43 +02:00
bnnm
9f184bdfb9 Fix Wwise XWMA v2 num samples calcs 2017-04-22 11:31:04 +02:00
bnnm
a5e190eb89 Add wma_get_samples util 2017-04-22 11:30:24 +02:00
bnnm
9a2464fbd7 Fix RIFF/Wwise detection rejecting some valid lwav [Cave PC games] 2017-04-22 10:18:47 +02:00
bnnm
0dd9353297 Relax Cstr loop checks [Mr.Driller Drill Land GC] 2017-04-22 09:55:33 +02:00
bnnm
5706d7bcc2 Added XWB v1 [Silent Hill 4, Project Gotham Racing 2]; bytes-to-samples 2017-04-22 09:53:28 +02:00
nine
3d5a83dddb Added akb2 msadpcm support 2017-04-21 04:21:51 +09:00
bnnm
400b23813d Rename adx_header.c meta to adx.c for consistency 2017-04-16 01:02:29 +02:00
bnnm
cda7857094 Fix ADX multi-ch looping [Okami HD]; read initial history; cleanup 2017-04-16 00:58:40 +02:00
bnnm
4d4c5e140b Minor renames (xma_sample_data, ffmpeg_make_riff_xma_from_fmt) 2017-04-15 23:58:19 +02:00
bnnm
8479f96367 Import math.h for Vorbis 2017-04-15 23:22:50 +02:00
bnnm
5ec65f9587 Rename ffmpeg_decoder_utils.c to coding_utils.c and don't need FFmpeg
I feel they are general-purpose enough that shouldn't depend on FFmpeg
(ex. xma_samples should work whether FFmpeg, libav, or
super_multi_decoder is enabled)
2017-04-15 23:19:06 +02:00
bnnm
e3d8d2ec47 Add early (~2009) Wwise Ogg/Vorbis variation [LotR: Conquest PC] 2017-04-15 23:07:15 +02:00
bnnm
70f5dc4684 Fix Wwise Vorbis with header triad and remove disable flag 2017-04-15 23:03:26 +02:00
bnnm
ddf974a31a Remove FSB Vorbis disable flag 2017-04-15 22:59:36 +02:00
bnnm
54d1995dc8 Fix segfault when resetting non-looping Vorbis/MPEG files
Also, apparently reset shouldn't reset the streamfiles
2017-04-14 01:22:53 +02:00
bnnm
e5f2ab0236 Improve handling of truncated Wwise files (VORBIS/IMA) 2017-04-14 01:05:55 +02:00
bnnm
f26214944a Fix some Wwise Vorbis variations (newer style + standard packets) 2017-04-13 20:53:49 +02:00
bnnm
34999ddec9 Fixed bug when seeking in Wwise IMAs 2017-04-13 16:55:40 +02:00
bnnm
61c66182a1 Don't parse RIFX xma as they are now handled in wwise.c
Microsoft XMAs always use RIFF (even though the X360 is BE) while Wwise
XMAs always use RIFX
2017-04-13 15:06:56 +02:00
bnnm
ed70506f33 Added Wwise Vorbis (.wem, .logg) [many games] 2017-04-13 15:05:06 +02:00
bnnm
f067d4ddb9 Added Wwise Vorbis decoder and packed codebooks 2017-04-13 15:04:46 +02:00
bnnm
b54e49370f Reject Wwise RIFFs with JUNK chunks, now parsed in wwise.c 2017-04-11 20:03:26 +02:00
bnnm
01ee57d62e Added Wwise IMA support; xma extension 2017-04-11 20:01:17 +02:00
bnnm
b6d89a0f47 Relax check_sample_rate util to allow 300hz (Wwise lowest) 2017-04-11 20:00:35 +02:00
bnnm
a468898855 Added Wwise IMA decoder; ms_ima_bytes_to_samples
There are some minor issues with seeking in odd samples to be fixed
2017-04-11 19:59:29 +02:00
bnnm
87bbd007c8 Add Wwise XMA 2017-04-08 13:40:23 +02:00
bnnm
680ff51e64 Add extra XMA parsing utils 2017-04-08 13:32:11 +02:00
bnnm
fb26adef77 Add Wii and full interleave DSP RAKI variations 2017-04-07 22:43:09 +02:00
bnnm
eb16da6513 Fix some Moon Diver PS3 looping/sample issues 2017-04-07 21:18:38 +02:00
bnnm
b7ffd11fca Add/use atrac3_bytes_to_samples 2017-04-07 21:18:07 +02:00
bnnm
3619b14f8e Add Wwise XWMA [Halo 4 X360]; update xma_get_samples to read WMAPRO
Also ffmpeg_make_riff_xwma doesn't actually need num_samples and use
x_bytes_to_samples in Wwise
2017-04-07 20:21:55 +02:00
bnnm
2086426175 Fix mono/full-interleave CKD [Rayman Origins Wii SFX]; cleanup 2017-04-07 19:10:16 +02:00
bnnm
3dafb0eb73 Remove unused stuff 2017-04-07 18:17:24 +02:00
bnnm
5f3adbbf9f Fix Ubisoft RAKI MSADPCM 2017-04-07 18:12:23 +02:00
bnnm
a33a77575a Add Ubisoft RAKI [Rayman Legends, Just Dance 2017 (multi)] 2017-04-07 18:01:04 +02:00
bnnm
d6f6798569 Add pcm/dsp/ps_bytes_to_samples helpers 2017-04-07 16:23:43 +02:00
bnnm
4d69aed0da Fix some Wwise PSVita HEVAGs 2017-04-02 15:22:03 +02:00
bnnm
98bc4851af Remove Wwise DSP parsing as it's now handled in wwise.c 2017-04-02 12:30:21 +02:00
bnnm
4f73cfc18d Add partial Wwise support (PCM/DSP/AAC/HEVAG) 2017-04-02 12:27:21 +02:00
bnnm
2ec41eb054 Add option to set if zero-sized chunks stop find_chunk (for XVAG) 2017-04-02 12:23:42 +02:00
bnnm
84cac5e934 Fix some MCA v4 and relax looping checks [MH3U (3DS)] 2017-03-31 22:38:45 +02:00
bnnm
9c06c103e2 Add FSB5 HEVAG [PSVita sfx] 2017-03-31 20:57:26 +02:00
bnnm
fc71e88019 Add pre-compiled FSB Vorbis setup/codebooks 2017-03-26 15:54:25 +02:00
bnnm
bed84fca2d Add alt loading mechanisms for FSB Vorbis setup/codebooks 2017-03-26 15:53:56 +02:00
bnnm
efdb885a79 Fix crash bug introduced when adding looping 2017-03-26 14:07:50 +02:00
Christopher Snowhill
886a25ca95 Try activating FSB Vorbis. 2017-03-25 18:47:17 -07:00
bnnm
ab05279629 Fix FSB vorbis looping 2017-03-25 19:05:18 +01:00
bnnm
003e48e88c Add FSB4 celt comment 2017-03-25 19:05:08 +01:00
bnnm
a05a11a618 Add FSB5 vorbis decoder 2017-03-25 14:58:34 +01:00
bnnm
01391f4d6d Add FSB Vorbis decoder 2017-03-25 14:57:44 +01:00
bnnm
5260314bc7 Minor check 2017-03-24 16:39:57 +01:00
bnnm
aeb2c597b6 Improved FSB5 num_samples parsing; comments 2017-03-24 16:39:19 +01:00
bnnm
4bc254d67c Allow FSBs with encryption flag set [Double Fine games] 2017-03-24 16:37:56 +01:00
bnnm
cbd4e4e726 Fixed some MSF looping [Castlevania HoD (PS3)] 2017-03-24 16:37:14 +01:00
bnnm
1a069dd5fa Fix compiling errors without FFmpeg enabled 2017-03-19 19:38:15 +01:00
bnnm
3a98c9e7d5 Add Capcom .AST [Dead Rising X360] 2017-03-19 00:44:58 +01:00
bnnm
bcf93deecd Extend ffmpeg's make_riff_xma_from_fmt/fmt_chunk_swap_endian for XMA1 2017-03-19 00:43:31 +01:00
bnnm
e021cff626 Add some XMA meta descriptions 2017-03-18 19:26:39 +01:00
bnnm
891baff263 More minor file renames (cleanup) 2017-03-18 18:40:46 +01:00
bnnm
2d8ae43fa7 Rename nub to nub_vag and some cleanup 2017-03-18 18:30:22 +01:00
bnnm
aa9c64d747 Minor renames 2017-03-18 18:25:44 +01:00
bnnm
fe54a36b93 Rename ps3_sgh_sgb to sgxd (cleanup) 2017-03-18 17:55:35 +01:00
bnnm
e5b384ea40 Rename ps3_vawx to vawx (cleanup) 2017-03-18 17:53:19 +01:00
bnnm
a8fea8f35c Fix Malicious PS3 looping 2017-03-18 17:41:45 +01:00
bnnm
a4327c3529 Improve total_streams check 2017-03-18 17:17:24 +01:00
bnnm
d6ce0f0ae3 Fix SGXD typo (SGDX to SGXD) 2017-03-18 15:07:58 +01:00
bnnm
76a351c7e2 Add minor debug log when looping is auto-disabled 2017-03-18 00:24:36 +01:00
bnnm
14d4cd8651 Add XWB size check; Techland's ATRAC3 [Nail'd, Sniper Ghost Warrior PS3] 2017-03-18 00:22:20 +01:00
bnnm
1a2083ad6f Added Ukiyo no Roushi vag variation 2017-03-18 00:19:35 +01:00
Christopher Snowhill
00523fb5ab Merge pull request #74 from bnnm/fsb-mpeg-bfstm
FSB MPEG, BFSTM
2017-03-13 18:29:50 -07:00
bnnm
d13d03e573 Add little endian BFSTM [Blaster Master Zero (3DS)] 2017-03-13 21:19:38 +01:00
bnnm
de523dc6a3 Do some cleanup while we are testing BFSTMs 2017-03-13 21:14:14 +01:00
bnnm
0c55e49a63 More FSB5 flags comments 2017-03-13 20:43:47 +01:00
bnnm
0cf5d4fb00 Add FSB5 XMA; use interleaved MPEGs; fix mono MPEG total samples 2017-03-13 20:08:35 +01:00
bnnm
5763a1a229 Use interleaved MPEG FSB decoder [Timeshift, DJ Hero] 2017-03-13 20:05:28 +01:00
bnnm
0e10b75beb Fix interleaved FSB MPEG decoding
Padding doesn't apply to Layer II FSBs, and it needed to manually get
info from MPEG frames since mpg123 functions weren't always working.
2017-03-13 20:04:09 +01:00
Christopher Snowhill
698269dd14 Convert Japanese comments from EUCJP to UTF-8. 2017-03-12 22:19:22 -07:00
bnnm
1a0da46703 Some more IMA cleanup (no functional changes) 2017-03-10 18:08:12 +01:00
bnnm
ae26d35f0c Improve handling of different lengths in check_extensions 2017-03-10 17:57:28 +01:00
bnnm
663cb43b3f Make init_vgmstream_hca_offset local (wasn't used anywhere else) 2017-03-10 17:32:42 +01:00
bnnm
79a5942cb9 Add HCA extension check to avoid some malloc/frees 2017-03-10 17:26:27 +01:00
bnnm
b8a25dbc27 Some IMA cleanup (no functional changes) 2017-03-09 21:47:23 +01:00
bnnm
8fc73c6d02 Minor SCD cleanup 2017-03-09 20:56:26 +01:00
bnnm
613766e856 Add comment 2017-03-09 20:38:52 +01:00
bnnm
a5556e587c Added "short" MPDS (coefs missing) [T3, MI: Operation Surma (GC)] 2017-03-09 20:37:48 +01:00
bnnm
ce591bbe12 Added new GENH codecs: ATRAC3/plus, XMA1/2, FFMPEG
Also some extra fields: total samples, skip samples, data size,
atrac3/xma modes
2017-03-09 19:33:31 +01:00
bnnm
2cdef093cb Added FFmpeg fake atrac3plus RIFF 2017-03-09 19:13:05 +01:00
bnnm
098946057e Do some GENH cleanup before further additions
No changes in logic (tested for all types):
- move codec types to enum for later reference
- move NGC_DTK validation and AICA/DSP adpcm init to setup block
- use vgmstream_open_stream instead of manual stream opening.
  There were 2 cases, interleave (different offset per channel, multiple
streamfiles) and none (same offsets per channel, one streamfile), now
handled by it.
2017-03-09 16:53:34 +01:00
bnnm
0e658031cc Add basic multistream FSB5 support; code cleanup 2017-03-05 17:43:41 +01:00
bnnm
af0c31d61f Minor tweaks/log 2017-03-05 17:35:45 +01:00
bnnm
7f90359e40 Fix some XWB XACT2 looping [Blue Dragon, Prey] 2017-03-05 17:34:37 +01:00
bnnm
9d97a346d3 Save number of streams info 2017-03-04 02:16:35 +01:00
bnnm
39abb97b61 Save number of streams info 2017-03-04 02:09:00 +01:00
bnnm
93bcf85e9c Minor code cleanup 2017-03-04 02:07:48 +01:00
bnnm
3d1ae80f56 Fixed SFX SGDXs; show multi stream number 2017-03-04 02:06:11 +01:00
bnnm
85a3ec749f Show stream numbers in the description (few multi-stream formats only) 2017-03-04 02:05:07 +01:00
bnnm
f92babb383 Fix looping for XACT1/2 PCM and XMA 2017-02-25 19:53:21 +01:00
bnnm
d2a31378c2 move xma_get_samples from xma.c to FFmpeg utils (needed by XWB)
xma.c now uses ffmpeg's fmt_chunk_swap_endian, too
2017-02-25 19:52:07 +01:00
bnnm
8b72e32a97 Adjust XMA sample reader (cleanup, looping, prep for changes) 2017-02-25 18:35:56 +01:00
bnnm
fbb9af5410 Tweak FFmpeg XMA1 fake RIFF 2017-02-25 17:29:25 +01:00
bnnm
0296be392f Redone XWB with full support [many XBOX360 games]
Includes PCM/XBOX-ADPCM/MS-ADPCM/XMA1/XMA2/WMAv1/WMAv2/WMApro.
Known issues (examples needed):
- PCM8bit, WMAv1 (XBOX) and WMApro (late XBOX360) not tested
- compact mode not tested
- earlier (XACT2) MS-ADPCM looping not tested
- XACT2 v35/36/37 may not play correctly (~few mid 2006 games)
2017-02-25 13:57:18 +01:00
bnnm
04f2cb0344 Moved FFmpeg RIFF utils to their own file
I'm going to add more later so it was getting kind of unwieldy
2017-02-25 13:54:05 +01:00
bnnm
9ff0e2b8a7 Fix again rare FFmpeg bug when reading "fake" filesizes 2017-02-25 13:43:05 +01:00
bnnm
248ec021d8 Add FFmpeg fake riff helpers: XMA1, XWMA, XMA2 tweaks 2017-02-25 12:25:10 +01:00
Christopher Snowhill
223f732e17 Merge pull request #70 from bnnm/interleaved-mpeg
Interleaved MPEG
2017-02-19 21:41:42 -08:00
bnnm
7f98f5b4f6 Remove MPEG sample rate check and channel/sample rate pointer updates
Rarely used, frame sample rate/channels are now exposed, and FFmpeg will
end up playing any MP3 anyway.
Encoders may modify sample rate to adjust looping to frame boundaries,
too.
2017-02-19 21:16:09 +01:00
bnnm
f993fe37de Add some preliminar code for multichannel FSBs 2017-02-19 20:28:13 +01:00
bnnm
c38aa72761 Enable multichannel MPEG (fixed frame size) in XVAGs 2017-02-19 20:21:57 +01:00
bnnm
0101572718 Add multichannel MPEG decoder
Supports fixed-size frames (for XVAG) or variable/padded frames (for
FSB), but FSB support has some bugs so it's not used yet.
2017-02-19 20:20:13 +01:00
bnnm
e0d129e06c Prepare MPEG stuff for multichannel 2017-02-18 18:27:21 +01:00
bnnm
d3a1fba917 Simplify XVAG/code cleanup preparations 2017-02-18 15:43:29 +01:00
bnnm
4673050fcb Add find_chunk with configurable endianness 2017-02-18 15:19:25 +01:00
Link
4963e97216 Fairy Fencer F: Advent Dark Force Looping OGG support added. 2017-02-18 08:04:16 +01:00
bnnm
7418b61793 Hide buffer and mpeg_bytes_to_samples MPEG internals; cleanup
Also removes VBR check from metas; it's only needed because
mpeg_bytes_to_samples doesn't work with VBR, but now it'll return 0,
which would be validated later.
2017-02-18 00:17:38 +01:00
bnnm
2e41586e68 Move AHX MPEG init code to mpeg_decoder and other cleanup 2017-02-17 18:35:58 +01:00
bnnm
6b99cf8f72 Use free_mpeg to close MPEG internals 2017-02-17 18:18:06 +01:00
bnnm
df84602e85 Move reset/seek/free MPEG code to mpeg_decoder (for later changes) 2017-02-17 17:20:40 +01:00
bnnm
a7982bc743 Remove MPEG internals 2017-02-17 16:48:29 +01:00
bnnm
ef5b17f508 Remove old FSB5 mpeg code 2017-02-17 16:44:07 +01:00
bnnm
5b04bbc32a Add a couple of extra memory validations on BIK init 2017-02-17 16:39:38 +01:00
bnnm
d26c813cbd Fix some rare AKB2 [Mobius FF SFX] 2017-02-12 15:43:57 +01:00
bnnm
b661996313 Relax loop validation [ESPN 2002] 2017-02-12 15:00:10 +01:00
bnnm
b3ca092b6a Add AKB support for OGG/alt AAC [SQEX iOS: Dragon Quest 2-6, FF6, TWEWY] 2017-02-12 14:42:02 +01:00
bnnm
9317ce9cc2 Add ffmpeg_set_skip_samples to manually fix encoder delay in some cases 2017-02-12 13:17:01 +01:00
bnnm
8d973f4eb9 Allow negative start time in init_seek (for Ogg) 2017-02-12 12:18:44 +01:00
Christopher Snowhill
520cb97b34 Merge branch 'master' of github.com:kode54/vgmstream 2017-02-04 16:59:24 -08:00
bnnm
5040b4746e Fix minor bugs; cleanup
- loop flag parsed from the spec [TTT HD]
- add joint stereo ATRAC3 [Silent Hill HD]
- fix MSFv1 ATRAC3 sample rate [Digi World SP]
- use "fake RIFF" ATRAC3 for flexibility (sample rate fix)
2017-02-04 23:26:13 +01:00
bnnm
3d9ce4c15e Fixed FSB5 sample rate and channels, multichannel IMA ADPCM; cleanup 2017-02-04 23:20:11 +01:00
bnnm
cc181f5e0d Added FSB multichannel IMA 2017-02-04 23:17:56 +01:00
bnnm
b44cd87a7b Fix multichannel IMA FSB 2017-02-04 19:37:48 +01:00
bnnm
b7ee1f8f02 Add todo/note in XBOX IMAs 2017-02-04 19:37:00 +01:00
bnnm
6cd991ebf6 Added FSB multichannel IMA
Variation of the XBOX IMA used in >2ch FSB (interleaved header)
2017-02-04 19:19:51 +01:00
bnnm
13bec0d5be Add check in free_ffmpeg to avoid segfault if data is NULL
free() accepts NULL so free_ffmpeg should too, I guess
2017-02-04 17:54:43 +01:00
bnnm
2aa025f245 Added BIK/BIKa 1/2 [various game movies] 2017-02-04 13:00:13 +01:00
bnnm
bc49757f20 Added/finished looping MP4 (.lmp4) [FFDimensions, Tales of Hearts R iOS] 2017-02-04 11:10:02 +01:00
bnnm
bcc60c3b64 Added buffer logging debug util 2017-02-04 11:06:35 +01:00
Christopher Snowhill
16d2532c6f Added Release2015 target to projects. 2017-02-03 22:01:21 -08:00
bnnm
d8df47e080 Simplify SGXD code 2017-01-28 00:41:51 +01:00
bnnm
a468e9b1b1 Fix stream and interleave sizes in some cases 2017-01-27 23:39:52 +01:00
bnnm
c3490f99d9 Fix a rare FFmpeg bug when reading "fake" filesizes 2017-01-27 23:16:00 +01:00
bnnm
685c7bafad Fix MSA sample count [Psyvariar (PS2)] 2017-01-27 19:32:40 +01:00
bnnm
7e106d6a33 Add basic multistream FSB support 2017-01-27 18:01:40 +01:00
bnnm
45bd8a37cb Allow looping in IDSPs with loop_end over num_samples 2017-01-27 16:19:08 +01:00
bnnm
802e414bdc Fix mono Xbox decoding, mono DSP start_offset; code cleanup 2017-01-26 23:31:02 +01:00
bnnm
dfa9edea76 Remove unneeded/buggy stream-closing code in vgmstream_open_stream 2017-01-25 22:31:28 +01:00
bnnm
35a3d44c89 Move Xenoblade 3D DSP .adx from CRI .adx to its own meta (cleanup)
The CRI .adx code is now like before it was added (44075c4)
2017-01-25 22:28:15 +01:00
bnnm
195958b20a Move Xenoblade 3D DSP .adx from CRI .adx to its own meta (cleanup) 2017-01-25 22:23:45 +01:00
bnnm
068284ff09 Add dsp_read_coefs_le 2017-01-25 22:20:01 +01:00
bnnm
9ae63e470b Add .str extension for Ben 10: Galactic Racing 2017-01-25 20:36:57 +01:00
bnnm
a809a7c628 Add Omikron: The Nomad Soul IMA ADPCM coding and meta 2017-01-25 20:25:39 +01:00
bnnm
1d95cfc138 Normalize coding style to understand IMAs better + highlight differences
There are no functional differences, all IMAs give byte-exact results
compared to prev versions
2017-01-25 20:19:13 +01:00
bnnm
28dc316f95 Add NPS extension (Beautiful Katamari) 2017-01-22 11:40:01 +01:00
bnnm
b726349ece Fix multistream count offset [Dragon Quest X SFX] 2017-01-19 00:33:12 +01:00
bnnm
78349c3c8f Move "skip chunks" to OGG, only FFXIV needs it and breaks some DQ10 DSPs 2017-01-19 00:29:55 +01:00
bnnm
11968a5593 Add support for WiiBGM demuxed from G1L [Romance of Three Kingdoms 12] 2017-01-18 21:28:14 +01:00
bnnm
ef44b5b5cc SCD DSP: validate size/offset and don't crash when failing to open 2017-01-18 21:19:43 +01:00
Christopher Snowhill
f47fabab9a Fix another regression caused by ee5a40224d deleting return statements that other switch cases fell into. 2017-01-17 10:37:47 -08:00
Christopher Snowhill
05a33eee1e And this fixes that broken decoder in the event of starting on odd samples. 2017-01-16 22:26:08 -08:00
bnnm
9cea79eedc Adjust minor vgmstream_open_stream condition 2017-01-15 22:16:28 +01:00
bnnm
295fcf1b8a Improve buffer usage in some cases when using vgmstream_open_stream 2017-01-15 21:02:01 +01:00
bnnm
782c5927f6 Cache filesize and check when reading over filesize
Improves performance especially for buggy metas (before it would try to
fread every streamfile.read call when offset > filesize)
2017-01-15 20:58:47 +01:00
bnnm
30ec4d7c41 Increase default I/O buffer to improve performance 2017-01-15 20:48:00 +01:00
bnnm
cba1d28ae2 Fixed regression in Xbox codecs 2017-01-15 20:44:52 +01:00
bnnm
85e63743b7 Added SCD DSP Wii U [Dragon Quest X (Wii U)] 2017-01-15 20:42:26 +01:00
Christopher Snowhill
efdbf8c331 Merge pull request #61 from bnnm/formats-stuff
Formats and stuff
2017-01-14 14:16:16 -08:00
bnnm
72f252327f Added SCD ATRAC3plus [Lord of Arcana (PSP)] 2017-01-14 23:00:19 +01:00
bnnm
2d52bc2921 Wrong func definition 2017-01-14 22:41:37 +01:00
bnnm
07c179e51c Remove unused init_ffmpeg_faux_riff
Superseded by init_ffmpeg_header_offset and various ffmpeg_make_riff_x
2017-01-14 22:29:47 +01:00
bnnm
d3ba419aa9 Fixed SCD XMA [Final Fantasy XIII (X360)] 2017-01-14 22:27:52 +01:00
bnnm
376b4acbb2 Minor func rename (ffmpeg_make_riff_xma2_from_fmt) 2017-01-14 22:25:15 +01:00
bnnm
7f02c9951d Fixed 6ch "multi" IDSP [Tekken Tag Tournament 2 (Wii U)] 2017-01-14 21:21:39 +01:00
derselbst
088aa2414f avoid format-security compiler warnings 2017-01-14 16:23:59 +01:00
bnnm
a1f8407ab1 Fixed GSP+GSB DSP total samples [Super Swing Golf GC] 2017-01-14 03:05:07 +01:00
bnnm
b96e7d7bbf Added ATRAC3/XMA in GSP/GSB [Quantum Theory PS3/X360] 2017-01-14 01:39:21 +01:00
bnnm
48fa7b7dc0 Added a few helper functions
- open_stream_ext: opens a streamfile based on the filename + ext
- find_chunk_be/le: finds chunk_offset in chunked headers
2017-01-14 01:37:53 +01:00
bnnm
afed5c2e15 Deleted header.c (in the end not really useful or needed) 2017-01-14 01:32:04 +01:00
bnnm
c68608149c Moved check_extensions/open_stream to streamfile.c/vgmstream.c 2017-01-14 00:59:54 +01:00
bnnm
747ee30992 Add missing meta description 2017-01-14 00:13:50 +01:00
bnnm
b99e37f170 Moved make_wav_header from util.c to test.c (only used there) 2017-01-14 00:10:45 +01:00
bnnm
14d2363670 Moved dsp_read_coefs_be to ngc_dsp_decoder.c 2017-01-13 23:56:48 +01:00
bnnm
f5750ba2cc Moved make_riff_x to ffmpeg_decoder.c (only actually used by FFmpeg)
Also added make_riff_xma2_from_fmt_be
2017-01-13 23:47:52 +01:00
Christopher Snowhill
72f3e3555b Added sanity check to MCA decoder, fixes some odd rips I've just encountered. 2017-01-09 09:29:08 -08:00
Christopher Snowhill
b1e81c8682 Fix typographical error. 2017-01-08 12:56:01 -08:00
bnnm
2467f9afdc Added CXS [Eternal Sonata (Xbox 360)] 2017-01-08 14:19:32 +01:00
bnnm
013d43cccc Add VDS/VDM 2017-01-08 13:04:23 +01:00
bnnm
01981a6686 Added PS2 VDS/VDM [Graffiti Kingdom] 2017-01-08 12:59:04 +01:00
bnnm
4e6ce8747d Added .swag [Frantix PSP] 2017-01-08 12:03:31 +01:00
bnnm
86ba7a6a23 Remove some old DEBUG code 2017-01-08 02:58:52 +01:00
bnnm
7e520162a3 FFmpeg: remove ACCURATE_LOOPING flag now it's battle-tested
It's fast enough and the older looping code would need to be redone
anyway
2017-01-08 02:54:18 +01:00
bnnm
ad74cced1f Moved coding/layout/meta switch-case descriptions to list in formats.c 2017-01-08 02:27:35 +01:00
bnnm
c7c1564d9f Minor cleanups (no functionality changes)
- added comments, code alignment for clarity
- renamed some decoders for consistency (ex. eaxa > ea_xa, invert_psx >
psx_bmdx, vgm_adpcm_cfg > psx_cfg)
- removed layout_dkt_interleave (same as nolayout)
- removed skip_last_channel (not used anymore)
- removed meta_DSP_HALP (not used anymore)
2017-01-08 01:09:20 +01:00
bnnm
3e4299b373 Added ATRAC3/XMA in VAWX (.xwv) [Moon Diver, No More Heroes X360] 2017-01-07 17:04:21 +01:00
bnnm
03d744da53 Add make_riff_atrac3 (for FFmpeg) 2017-01-07 16:51:23 +01:00
bnnm
2557074ceb Added .nps extension [Venus & Braves PS2] 2017-01-07 14:33:10 +01:00
bnnm
8b8a9ecd4e Basic support for multi-stream SCD (FF XIV sfx) 2017-01-03 21:13:36 +01:00
bnnm
8913ccdd47 Add SCD OGG v3 decryption (FF XIV Heavensward)
Original code by ShadowRoze and algorithm by Ioncannon.
2017-01-03 19:03:08 +01:00
bnnm
119f24a5be Add .aa3 and .oma (demuxed PS3 movies) 2017-01-03 15:52:08 +01:00
bnnm
cc5657f9c9 Remove unused concatn_doublenull / concatn_fitting_doublenull 2017-01-03 15:02:42 +01:00
bnnm
dce063bb96 Add a single, unified format list; plugins build their own using it
To simplify adding new formats, for now it's a simple list and could
improve later. Some missing formats were indirectly added:
- Winamp: aifcl
- foobar: aifcl, b1s, bdsp, ffw, iadp, wb, xag
- XMPlay: many
2017-01-03 13:34:20 +01:00
Christopher Snowhill
8ef18d71ee Fix C99-ism that MSVC 2010 doesn't like. 2017-01-02 10:27:27 -08:00
bnnm
5b70e3688b Adjusted .h and stream opener 2017-01-02 17:05:01 +01:00
bnnm
aaf137817c IMA tweaks 2017-01-02 17:03:49 +01:00
bnnm
6fa660c1a3 Define strncasecmp for MSC 2017-01-02 15:43:10 +01:00
bnnm
a77d4d21ce Manually setting layout_none was not needed in mono PCM files 2017-01-02 15:42:26 +01:00
bnnm
9d33b42584 Improved SPW (PCM, sample rate) 2017-01-02 15:24:10 +01:00
bnnm
ee5a40224d Added PS ADPCM of configurable frame size (FF XI, Blur, Afrika)
This fuses the FF XI/BSF/Short VAG decoder variants into a single one
(FF XI alone has 4 possible frame sizes); also fixed FF XI sample rate
and some cleanup.
2016-12-29 23:34:21 +01:00
bnnm
6c82a508ef Redone FSB1-4: improved XMA/MPEG, bugs, looping
Now parses FMOD's flags correctly and should work for all versions.
There are still some problems with IMA ADPCM which also happened before.
2016-12-29 14:06:57 +01:00
bnnm
c042878a1b One more debug util 2016-12-29 13:27:10 +01:00
bnnm
ad660177c4 New utils for common/repetitive actions in stream headers
Meant to be more specialized than util.c (the main difference is that
header.c includes VGMSTREAM and may define other struts), used mainly in
metas
2016-12-29 13:24:24 +01:00
bnnm
9bd2003218 Fix minor warning 2016-12-29 01:46:49 +01:00
bnnm
fa31aa2cd7 Fixed wrong meta 2016-12-28 16:14:44 +01:00
bnnm
d4f45eaaee Moved debug FSB5 MPEG from fsb.c to fsb5.c 2016-12-28 11:39:56 +01:00
bnnm
790bb79cc9 Allow to disable mpg123 stderr output for recoverable MPEGs (FSBs) 2016-12-28 01:38:56 +01:00
bnnm
ad3b081681 Fix possible segfault 2016-12-27 23:18:41 +01:00
bnnm
e06ddd0076 Fixed minor compiler warnings (unused/uninitialized vars) 2016-12-27 16:33:10 +01:00
bnnm
08a1a50ccb Fixed regression/segfault in multistream .mtaf [MGS3]; cleanup
Apparently some MTAF ripped with an old tool contain block data, and a
previous change attempted to support them. This broke multistream MTAF
(block header starts with 0x01, and frame header starts with 0x00, but
also 0x01 in multistreams).
Those MTAF should be re-ripped without blocks.
2016-12-27 14:35:23 +01:00
bnnm
e6b6a34a67 Removed unused layouts 2016-12-27 14:30:45 +01:00
bnnm
0f2627f8da Added VGM_DEBUG_OUTPUT flag to define debug logging utils 2016-12-27 14:28:12 +01:00
bnnm
8daafeea90 Adjusted loop detection for some dual stereo files (Ecco the Dolphin)
It was detecting one channel as looping and other as non-looping.
2016-12-26 16:09:16 +01:00
bnnm
46d7fcfe80 Added Killzone VAGp (.vag); code cleanup 2016-12-26 13:30:43 +01:00
bnnm
973c4bff1d Added namco XMA (.xma), Soul Calibur II HD XMA (.past) variations 2016-12-26 13:27:47 +01:00
bnnm
12760d2183 Sanify loops: ignore negative start 2016-12-22 23:25:18 +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
Christopher Snowhill
0ff86bd75a Insert filters reference for xma.c 2016-12-18 11:38:57 -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
ce040bbb36 Added put_8bit for consistency/clarity 2016-12-18 12:46:11 +01:00
bnnm
d1dc2b6082 Added .BCWAV dual stereo (3DS Lego games) 2016-12-18 10:24:14 +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
Christopher Snowhill
2082a7a869 Updated to use bundled copy of FFmpeg libraries on win32, built with media-autobuild_suite. 2016-12-09 14:26:48 -08:00
Christopher Snowhill
a652ef3731 Updated to use FFmpeg 'accurate' seeking. 2016-12-08 16:11:55 -08:00
Christopher Snowhill
7c63b8411e Merge pull request #48 from bnnm/format-fixes
Format fixes
2016-12-06 10:38:29 -08: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
Christopher Snowhill
ef6778bbc1 Updated foobar2000 component and main library to enable FFmpeg support. 2016-12-05 14:34:27 -08: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
c5c97c4027 Fixed discard in edge cases 2016-12-03 18:17:37 +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
bnnm
f5da8281e2 Move FFmpeg reset to ffmpeg_decoder (cleanup) 2016-12-01 19:58:51 +01:00
bnnm
2754f05b11 Move FFmpeg looping to ffmpeg_decoder for further changes (cleanup) 2016-11-30 23:48:49 +01:00
bnnm
b9db20283d FFmpeg: keep block size constant (for edge loops), don't write on EOF 2016-11-29 20:22:20 +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
5a1a122698 Util to read encryption keys from external file based on a songname
The format is "(songname.ext)key" (per song), "(.ext)key" (per folder)
2016-11-27 19:35:26 +01:00
bnnm
900390d153 add flag to disable MPEG 2016-11-27 16:14:40 +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
9e6458c4b9 describe_vgmstream: FFMpeg long_name may be NULL 2016-11-25 22:19:18 +01:00
bnnm
a359dd1816 Null FFMpeg codecdata pointer on failure to avoid segfault 2016-11-25 19:35:52 +01:00
Christopher Snowhill
537dc454a5 Merge pull request #41 from bnnm/build-fixes
Build fixes: FFMPEG support in test/winamp
2016-11-20 11:36:37 -08:00
bnnm
cda61c3eeb simplify slightly discarding 2016-11-20 18:55:00 +01:00
bnnm
ec068700ae ffmpeg looping: allow compile with accurate (slower?) looping + document 2016-11-20 15:51:02 +01:00
bnnm
729658a19c fix discard samples (looping works now) + document 2016-11-20 15:39:21 +01:00
bnnm
81d1f410a1 Fix missing decode_hca 2016-11-15 23:45:02 +01:00
bnnm
6381858c2f Added optional FFMPEG support in text.exe/winamp 2016-11-15 00:05:19 +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
cc9b21bd48 Check if there are samples to play so it won't generate empty files 2016-11-13 21:08:10 +01:00
bnnm
5cd11594e2 Merge remote-tracking branch 'upstream/master' 2016-10-31 00:37:17 +01:00
Chris Moeller
e449722e93 Update MSVC project files. 2016-10-30 15:12:09 -07: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
Chris Moeller
3f813fad09 Revert to MSVC 2010. 2016-10-28 16:49:44 -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
59b49aa99c Updated PS2 MTAF decoder for features in the format that had yet to be discovered. 2016-08-24 17:33:18 -07:00
Christopher Snowhill
42c00f304b Add rollback to FFmpeg loop seeking, since FFmpeg doesn't seem to institute any rollback of its own. 2016-08-14 15:18:34 -07:00
Christopher Snowhill
c4c7ec55bf Tab normalization. 2016-08-10 18: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
4c75e6a5bc Updated HCA decoder. 2016-06-29 19:56:20 -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
be6437bb45 And add a few missing things. 2016-06-28 00:28:29 -07:00
Chris Moeller
33563f4e7c Add HCA support. 2016-06-28 00:20:37 -07:00
Chris Moeller
d53030faf8 And back to 2015 again. 2016-06-26 13:28:42 -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
12c375e43f Switch back to MSVC 2010 2015-10-04 09:41:07 +00:00
Chris Moeller
0f805b5ab3 Merge libertyernie/vgmstream 2015-08-30 18:06:37 -07:00
libertyernie
930c82edbf Merge branch 'master' of https://github.com/codebase7/vgmstream into with_test_vcxproj 2015-08-30 10:16:46 -05:00
libertyernie
1cdb67dd88 Use built-in snprintf on VS2015 2015-08-30 10:10:26 -05:00
Chris Moeller
ed0b66fcf0 Further fix for MSVC 2015 2015-08-23 23:48:43 +00:00
Chris Moeller
cf0e1c5f2b Add a guard on the bitrate calculator 2015-08-23 23:44:23 +00:00
Chris Moeller
d22043e0f7 Blah merge 2015-08-21 04:03:15 +00:00
Chris Moeller
5bc8e8b161 Replace references to long with int32_t, fixing several sample decoders on 64 bit platforms 2015-08-13 00:31:49 -07:00
Chris Moeller
d0a476a99c Updated to reflect actual mp4v2 API 2015-08-13 00:31:49 -07:00
Chris Moeller
6e4207f9a3 Updated for Visual Studio 2015 2015-08-13 00:31:49 -07:00
libertyernie
8ec83e1a6f Merge branch 'master' of https://github.com/kode54/vgmstream 2015-08-12 18:19:11 -05:00
libertyernie
18726cbc4b Include a missing file in the libvgmstream project 2015-08-12 18:11:04 -05:00
libertyernie
ed06d9fbcd Remove trailing colon from ifdef 2015-08-12 18:09:10 -05:00
libertyernie
87c50104b4 Use the real stdint.h in Visual Studio environments that include it 2015-08-12 18:08:40 -05:00
Chris Moeller
4bfa73f31a Replace references to long with int32_t, fixing several sample decoders on 64 bit platforms 2015-08-02 00:20:57 -07:00
Chris Moeller
961e57d8d0 Updated to reflect actual mp4v2 API 2015-08-01 05:45:19 +00:00
Chris Moeller
6a9dadc544 Updated for Visual Studio 2015 2015-08-01 03:28:53 +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
codebase7
f4494770ac Make output directories for libvgmstream and in_vgmstream VC projects
relative to the project directory to allow building them to succeed.
(Not every one has Winamp installed on a H:\ partition.)
2015-05-20 02:23:18 -04:00
Chris Moeller
8ce5de5835 Merge pull request #16 from soneek/master
Xenoblade 3D support
2015-05-16 18:55:27 -07:00
Joseph Gibbs
51dfc3339a Added support for Xenoblade Chronicles 3D adx 2015-05-16 15:30:15 -07:00
libertyernie
346d18cce4 Ensure that Ogg Vorbis output is in host endian 2015-05-13 13:11:24 -05:00
Soneek
3826cd0f8e Add LWAV output option to test, fix so that we need at3plusdecoder.dll, not .def in test and winamp builds 2015-05-11 15:02:21 -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
2ff56989b1 Fix it so it compiles 2015-02-13 16:49:29 -08:00
Chris Moeller
4dcb647b67 Hopefully fixed bitrate checker for formats that don't use the primary streamfile pointers 2015-02-13 16:47:59 -08:00
Chris Moeller
9732c8a0a5 Fixed bitrate calculator for formats that leave some channels' streamfile pointers empty 2015-02-12 14:22:51 -08:00
Chris Moeller
2c5e8a1421 Implemented function for querying the average bitrate of all stream files associated with a VGMSTREAM instance 2015-02-08 19:01:26 -08: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
2cafa1a676 Updated stack_alloc.h 2015-01-21 18:03:06 -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
b493f27710 Add new files to MSVC project files 2015-01-21 17:37:14 -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
Chris Moeller
e159c86975 Revert to MSVC 2013 2014-11-23 00:56:58 -08:00
Chris Moeller
354cb15434 Updated project files to MSVC 2015 2014-11-20 21:49:21 -08:00
zeromus
52728a82d3 fix compiling in vs2008 (missing adds in vcproj, C90 variable declarations) 2014-10-20 02:58:33 -05:00
Chris Moeller
c96d86bfc8 Added missing files to MSVC 2013 project 2014-10-19 16:49:40 -07: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
745889b612 add bfwav to MSVC 2008 project file 2014-09-16 16:28:49 -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
Chris Moeller
716d359865 Merge pull request #6 from TricksterGuy/master
Fixes for undefined reference errors when linking / update audacious plugin for audacious 3.5.1
2014-09-14 18:52:03 -07:00
Chris Moeller
d6e3ecf6a1 Merge branch 'master' of github.com:kode54/vgmstream 2014-08-15 05:39:30 -07:00
Chris Moeller
b0246bbceb Updated project for MSVC 2013 2014-08-15 05:39:11 -07:00
Brandon
f1b842ca42 Add fsb5.c also 2014-08-10 12:28:13 -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
Brandon
85325442ba Fixes compile error if VGM_USE_MP4V2 and VGM_USE_FDKAAC are not defined 2014-08-05 00:59:58 -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
3dda6329fc Add include for PATH_LIMIT macro 2014-08-02 20:50:47 -07:00
Chris Moeller
7d91d39489 Add bfwav.c to MSVC 2010 project 2014-08-02 20:50:24 -07:00
Chris Moeller
c37a9cc3dd Soneek forgot a comma 2014-08-02 20:39:52 -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
a2af756764 hcs's update for IMA decoder 2014-06-01 20:19:05 -04: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
manakoat
8ef55da3b6 Test commit, sorry 2014-04-23 21:27:24 -07:00
Adam Gashlin
bb59d6a389 remove nonsense (thanks kode) 2014-04-23 21:25:30 -07:00
Chris Moeller
10c9f68345 Merge branch 'master' of github.com:kode54/vgmstream 2014-03-14 23:09:39 -07:00
Chris Moeller
b2c8e5cbac Another Drag-On Dragoon 3weird samplerate (40999)
From a set of files called BGM_TEST00_*
2014-03-14 22:42:06 -07:00
Chris Moeller
9148d4e14a another update from soneek for IMA support in BCSTM 2014-03-14 22:40:30 -07:00
Chris Moeller
633eb7b545 replacing meta for bcstm with revision from soneek 2014-03-14 22:39:21 -07:00
Chris Moeller
dfe1be9d88 Fixed remaining path length limit issues 2014-03-14 22:36:23 -07:00
Chris Moeller
eeab20de3a Added missing file 2014-02-26 00:58:00 -08:00
Chris Moeller
1ab759bd19 Added soneek's experimental CSTM meta for BCSTM support (3DS) 2014-02-25 22:31:28 -08:00
Chris Moeller
43866fd9ed .XXX from Drag-On Dragoon 3 (PS3) is scd, but has 48khz MPEG with srate 47999 2014-02-25 22:26:02 -08:00
Chris Moeller
9fc46bd877 Added OTM support for Otomedius (Arcade) 2014-02-25 22:25:02 -08:00
Chris Moeller
a095da3965 safer extension list construction
1016 didn't fix anything (just caused skipping over every other ext). Winamp's issue was fixed in 5.666.
2014-02-25 22:14:13 -08:00
Chris Moeller
8a618d7a3d concatn_doublenull was expecting two nulls after the string to be concatenated
Seems to fix loading in Winamp 5.66, it must be more aggressively reusing (or just not clearing) stuff that was cleared before.
2014-02-25 22:13:07 -08:00
Chris Moeller
bd5cdb35de Epic Mickey 2 Wii ADPCM 2014-02-25 22:12:24 -08:00
Chris Moeller
dc4b7f553c Add PS2 VBK meta. 2013-09-03 11:27:36 -07:00
Chris Moeller
1b41d008e6 Fixed path limit for new Ubisoft CKD handler 2013-09-03 11:20:45 -07:00
Chris Moeller
a6b64189e0 fix interleaved msf (PS ADPCM in particular) 2013-09-03 11:17:16 -07:00
Chris Moeller
bf220dc112 more ADX keys 2013-09-03 11:16:00 -07:00
Chris Moeller
7917756fdd Added a couple of things to support LOGGs from Hatsune Miku: Project Diva F (PS3). 2013-09-03 11:15:05 -07:00
Chris Moeller
aa1d39a19e Initial Ubisoft CKD support for Rayman Origins (Wii only for now) Still testing but seems to work fine. Mono is kinda broken but w/e. 2013-09-03 11:14:14 -07:00
Chris Moeller
c6ba2a32ba new! Slotter Mania P - Mach Go Go Go III (PSP) key! 2013-09-03 10:59:45 -07:00
Chris Moeller
aa8e2a92a5 more keys! 2013-09-03 10:57:35 -07:00
Chris Moeller
684bd36ebc more adx keys 2013-09-03 10:55:14 -07:00
Chris Moeller
a1ce18bbce Added support for Orcs Must Die (PC)
Well...more support.
2013-09-03 10:49:45 -07:00
Chris Moeller
8ebecb4d47 - Calculate start offset from data length field
- Calculate loop offsets for first channel only
- Determine interleave block size from header field
2013-07-05 11:48:17 -07:00
Chris Moeller
91867c0732 Fixed AT3 looping again 2013-06-26 11:23:46 -07:00
Chris Moeller
bd85ad76e8 Fixed mono AT3 decoding, and simplified n-channel decoding 2013-06-26 11:13:44 -07:00
Chris Moeller
ae4863b0bf Clarified AT3plus as such 2013-06-26 04:36:57 -07:00
Chris Moeller
27f5a4c7fe Fixed AT3 looping 2013-06-26 03:46:31 -07:00
Chris Moeller
98e90f8a25 Implemented ATRAC3plus support 2013-06-26 02:54:15 -07:00
Chris Moeller
bd4f5c4d50 Fixed THP for SSBB movie files and possibly others 2013-06-17 17:57:11 -07:00
Chris Moeller
a1e90833f4 Fixed a serious bug in THP init function 2013-06-13 17:42:52 -07:00
Chris Moeller
634845b1ce Added preprocessor blocking around MP4/AAC parts 2013-06-13 17:42:24 -07:00
Chris Moeller
64b74d320a Disabled MSVC 2012 default of SSE2 2013-06-12 06:51:44 -07:00
Chris Moeller
75d329cc1d Updated projects for MSVC 2012 using v110_xp platform 2013-06-07 18:53:29 -07:00
Chris Moeller
142cfc971d Raised path length limit to 32767 characters, controlled by a global enum definition 2013-05-26 20:55:50 -07:00
Chris Moeller
b54d0be218 Fixed two crash bugs 2012-12-30 12:38:35 -08:00
Chris Moeller
5ec0ec0d34 Fixed MP4 handler passing the end of the stream 2012-11-26 11:53:26 +00:00
Chris Moeller
dd014fc805 Modified to support fdk-aac sample sizes larger than 16 bits 2012-11-26 11:53:26 +00:00
Chris Moeller
c8266b2b8b Removed unnecessary reinitialization 2012-11-26 11:53:26 +00:00
Chris Moeller
84dfcb3d5a Implemented MP4 AAC support for iOS AKB format 2012-11-26 11:53:26 +00:00
Chris Moeller
9286736218 Removed stale source control and updated projects to revision 995 2012-11-26 11:53:26 +00:00
Chris Moeller
d811a85408 Tossed in missing files 2012-11-26 11:53:26 +00:00
Chris Moeller
d44b9be5c5 Removed unnecessary reinitialization 2012-11-26 11:53:26 +00:00
Chris Moeller
0e52bf94d2 Implemented MP4 AAC support for iOS AKB format 2012-11-26 11:53:26 +00:00
Chris Moeller
1550f90139 Fixed MP4 handler passing the end of the stream 2012-11-26 11:53:26 +00:00