Commit Graph

1690 Commits

Author SHA1 Message Date
bnnm
d9fb118412 Add BINK multi-stream support and v2 header 2017-08-18 19:24:19 +02:00
bnnm
5cddab629d Add FFmpeg audio stream selection 2017-08-18 18:56:43 +02:00
bnnm
6642607d0e Add FSB5 PCMFLOAT + decoder [Anima Gate of Memories (PC)] 2017-08-18 18:54:21 +02:00
bnnm
f4f920482a Unify open_stdio usage and add opening by FILE 2017-08-13 19:58:01 +02:00
bnnm
ade662e023 Redo Angel STM: add PCM, adjust looping, unify code, add .lstm 2017-08-12 18:42:38 +02:00
bnnm
272b55cb3e Add DSP hist utils 2017-08-12 18:39:56 +02:00
bnnm
d219804b99 Add stream selection and/or stream name reading for some formats 2017-08-12 11:46:28 +02:00
bnnm
b7c807a85c Add stream name string, for metas than can use it 2017-08-12 11:27:10 +02:00
bnnm
a3146ed2f6 Add stream index selection, to use in metas if supported by the format
Not ideal here, but it's the simplest way to pass to all
init_vgmstream_x functions without having to change all functions to
pass extra params or use globals. The value can be set externally by
plugins and metas can use to play the selected stream, or just ignore
it.
2017-08-12 11:23:09 +02:00
bnnm
c5dbece5ac Add string reader util 2017-08-12 11:14:16 +02:00
bnnm
561048e613 Fix again TXTH LINE_MAX, even VS2015 was complaining 2017-08-12 11:11:08 +02:00
bnnm
90aef437ea comments 2017-08-05 17:59:35 +02:00
bnnm
efdcd16ac1 Fix some EA BNK [Medal of Honor Heroes 2 PSP] 2017-08-05 17:55:49 +02:00
bnnm
aaa2613802 Add EALayer3 v1 decoder for SCHl [EA games for PS2/Wii/X360/PS3] 2017-08-05 17:54:50 +02:00
bnnm
fadb999207 Add AHX type 0x08 decryption, with .ahxkey files (16b*3, start/mult/add) 2017-08-04 21:48:55 +02:00
bnnm
66219f6b37 Use sample buffers per stream in MPEG custom decoder
Simplifies the code somewhat and allows more flexibility for new custom
modes (like EALayer3, that can output PCM blocks before decoding
anything)
2017-08-04 21:29:58 +02:00
Christopher Snowhill
9d0c3ed86d Add sk_aud.c to MSVC project files. 2017-07-30 18:57:17 -07:00
bnnm
cb05313b13 Add P3D MPEG decoder [Prototype 1/2 (PS3)], fix debug crap 2017-07-29 23:53:45 +02:00
bnnm
3e947b5e9d Remove meta_AHX from MPEG ifdefs
I feel parsing a header/meta isn't tied to the ability to init the
codec, which could be swapped if one wanted to use another lib
2017-07-29 23:21:32 +02:00
bnnm
474ca0be94 Use AHX mpeg-custom, add type 0x10, detect encryption, fix encoder delay 2017-07-29 23:16:30 +02:00
bnnm
d54492cb95 Update MPEG "interleaved" decoder: now "custom", restructured, added AHX
To support future MPEGs of uncertain layout and frame variations (namely
EALayer3) the code has been restructured: mpeg_decoder does stream
procesing and decoding, while mpeg_custom_utils_x does init and parsing
(write to data buffer + update offsets), per MPEG subtype. Internals
have changed but still gives byte-exact results.
AHX has been adapted to this format as a test. Some modes
(P3D/EALayer3/LyN/AWC) are defined for later development but will fail
on init ATM.
2017-07-29 23:14:04 +02:00
bnnm
6308818b77 Simplify MPEG coding/layouts to allow blocked layouts and future changes 2017-07-29 13:05:23 +02:00
bnnm
54ef2b5190 Add Silicon Knights .AUD + SK Vorbis [Eternal Darkness (GC)] 2017-07-29 11:46:53 +02:00
bnnm
fcf8a9485c Fix outbuf only being partially cleared when trying to read after EOF 2017-07-29 01:25:35 +02:00
bnnm
8d7c52f460 Rename files 2017-07-29 01:19:24 +02:00
bnnm
925934c53c Rename Vorbis files and cleanup 2017-07-28 23:43:49 +02:00
bnnm
bc8e2e9204 Unify fsb/wwise/ogl Vorbis decoders into a single decoder with subtypes 2017-07-28 23:26:58 +02:00
Christopher Snowhill
cad12760f2 Include system math.h header instead of possible project local header. 2017-07-23 17:08:20 -07:00
Christopher Snowhill
bb8966a696 Fix for macOS, possibly other Unices. 2017-07-23 16:47:43 -07:00
Christopher Snowhill
fc327e40bf Fix constexpr to enum for old MSVC. 2017-07-23 16:28:37 -07:00
bnnm
ab6a146528 Add EA SCHl fixed/old (PATl) support [NHL 97 (PC)] 2017-07-23 17:09:55 +02:00
bnnm
523daaf18d Modify eacs_ima to not depend on get_high_nibble, document it's 2ch DVI 2017-07-23 17:08:10 +02:00
bnnm
3d6e0882ba Improve NDS HWAS volume swings by resetting ADPCM hist every block 2017-07-23 13:16:59 +02:00
bnnm
a88cd8ca1b Add ima_bytes_to_samples helper 2017-07-23 12:49:10 +02:00
bnnm
366e3fcb9c Make XBOX_int write sample hist and skip last nibble to fix some files
Fixes Gauntlet Dark Legacy (Xbox) scratchy sound and the output is now
byte-exact in EA SCHl streams
2017-07-23 04:31:09 +02:00
bnnm
1fb02da34d Remove EA hack in XBOX decoder and modify XBOX_int (mono) for EA SCHl 2017-07-23 04:21:07 +02:00
bnnm
312b68c0b7 Add EA BNK support and fix minor EA header parsing defects 2017-07-23 03:46:55 +02:00
bnnm
604f5ef507 Make EA-XA v2 decode using v1 table for clarity (no byte-diffs) 2017-07-21 21:03:51 +02:00
bnnm
2c61528241 Fix EAXA v1 not clamping ouput PCM hist, leading to small deviations
Now it's byte-exact vs EA's tools; EAXA v2 doesn't actually need it as
the encoder ensures no clamping is needed (for performance?)
2017-07-21 20:37:25 +02:00
bnnm
67ec34010f Don't use ADPCM hist, as doesn't seem used by EA's tools
Without it sx.exe and vgmstream give closer results in EAXA v1 and
byte-exact results in EAXA v2 (but it's only a slight difference)
2017-07-21 19:26:53 +02:00
bnnm
5fe6033442 Fix/improve EAXA naming scheme and detection/handling
EA's MT/MicroTalk is not the early version of EAXA as I thought, but a
rarely used VBR codec (ex. FIFA 2001/2002 PS2) seemingly related to
Westwood VBR ADPCM
2017-07-21 19:19:58 +02:00
bnnm
55e922d36e Accept some extensions for future support (currently supported w/ TXTH) 2017-07-15 12:16:28 +02:00
bnnm
47c5f70976 Add TXTH generic header format
It's a single text file with basic read commands; similar to GENH but
meant to simplify addition/distribution of (semi)headerless formats
2017-07-15 11:49:28 +02:00
bnnm
0a39d7636e Add helper functions to get file name/path/ext 2017-07-15 11:28:42 +02:00
bnnm
d592199d6f Improve format detection to avoid hijacking other files 2017-07-15 11:27:43 +02:00
bnnm
c501129cb1 Fix some little endian Fable 3/Heroes XMA with big endian fmt chunk 2017-07-15 11:26:01 +02:00
Christopher Snowhill
8a9c669baa Remove C99-ism for MSVC 2010. 2017-07-13 17:45:56 -07:00
Christopher Snowhill
fa91e33dec Merge pull request #109 from bnnm/ea2-ffta2
EA2, FFTA2
2017-07-08 17:29:25 -07:00
Christopher Snowhill
0c9dad28c0 Merge pull request #105 from shinyquagsire23/le-edgecase
LE BFSTMs should use PCM16LE
2017-07-08 17:28:30 -07:00
bnnm
e96f3c0700 Tweak block parsing to handle better unknown blocks; try to improve EOFs 2017-07-09 00:56:27 +02:00
bnnm
a4d1e869cf Move EA block offsets on EOF just in case 2017-07-08 16:16:40 +02:00
bnnm
58af99fd4b Fix FFTA2 loop 'clicks' in some files by preserving ADPCM history 2017-07-08 11:34:02 +02:00
bnnm
8da3f4a7cb Remove FFTA2 last shortblock as it has normal blocks; cleanup
Doesn't actually fix anything; looping or not with or without
shortblocks it results in the same output
2017-07-08 11:32:54 +02:00
bnnm
781eb97040 Move nds_strm_ffta2 to its own file for clarity 2017-07-08 11:02:22 +02:00
bnnm
7a87f27624 Minor Maxis XA meta cleanup 2017-07-08 10:28:08 +02:00
bnnm
cce72d7aa5 Add EA SCHl Saturn + MT10 mono/int; changed Maxis_ADPCM to Maxis_MT10
Also fixed some issues with ADPCM hist in EA SCHl blocks
2017-07-08 00:27:36 +02:00
bnnm
a493a8f09d Ignore Maxis' XA, as it could be mistaken as headerless XA 2017-07-08 00:26:03 +02:00
shinyquagsire23
b07a5e7ffe Fix compile errors for BFWAV 2017-07-06 18:39:48 -06:00
shinyquagsire23
0e5174504e Add support for little-endian BFWAVs, fix coefficient offset calculation for stereo BFWAVs 2017-07-05 11:47:30 -06:00
shinyquagsire23
beef9b8c6e LE BFSTMs should use PCM16LE 2017-07-04 19:53:35 -06:00
bnnm
68071467c2 Add MPEG to EA SCHl [Harry Potter and the Chamber of Secrets (PS2)] 2017-07-01 23:55:10 +02:00
bnnm
d85c033c9d rename some EA related things (cleanup)
- eaxa_decoder to ea_decoder
- ea_header to ea_schl
- ea_block* to ea_schl_block*
2017-07-01 23:27:35 +02:00
bnnm
bf34339b41 redo EA SCHl support [EA games from roughly 1997~2010]
* tested most variations using EA's tools
* added looping [Need for Speed II PC]
* added DSP support [3DS games]
* fixed PCM/EAXA/MT in some cases [PS2/GC/XBOX/Wii games]
* fixed sample rate/codec defaults, num_samples in some cases
* documented more header patches and other details (ex. "EA ADPCM" is
now EA MT/MicroTalk, as per EA's tools)
* (dev) some internals adapted for EA stuff
2017-07-01 23:02:24 +02:00
bnnm
aa93941e64 fix some .MED with JUNK chunk; minor cleanup 2017-07-01 22:44:00 +02:00
bnnm
6fd373b209 Tweak minor P3D info 2017-06-25 02:21:25 +02:00
bnnm
9b36233038 Add P3D XMA2 and (disabled) MP3 support [Prototype 1/2 (X360/PS3)] 2017-06-25 02:10:13 +02:00
bnnm
86cb660f76 Define MPEG interleave type to improve and simplify some internals 2017-06-25 02:09:12 +02:00
bnnm
b56ab1fa5b Ignore Reflections' XA, as it could be mistaken as headerless XA 2017-06-25 00:45:15 +02:00
bnnm
880b8c5543 Add Wii 04SW [Driver: Parallel Lines (Wii)] 2017-06-25 00:27:58 +02:00
bnnm
f617e5e762 Improve PS2 XA30 [Driver: Parallel Lines (PS2)] 2017-06-24 23:33:49 +02:00
bnnm
64500f025d Add PC XA30 + IMA decoder [Driver: Parallel Lines (PC)] 2017-06-24 23:30:10 +02:00
bnnm
3b4f0aae01 Add .MED RIFF using MS-IMA/PCM [LA Rush, Psi-Ops (PC)] 2017-06-24 23:09:30 +02:00
bnnm
f521803f85 Fix some multichannel DSP RWS [Burnout 2 GC] 2017-06-24 22:54:58 +02:00
bnnm
7bf4e99cba Improve buffer setup with multichannel files (vgmstream_open_stream) 2017-06-24 22:53:17 +02:00
Alex Barney
4b39b7e6c8 Fix Nintendo MDSP layout 2017-06-18 16:07:48 -05:00
Alex Barney
730bc5c0f0 Added a new ADX key, and verified old ones, adding their key strings or key codes 2017-06-17 20:21:04 -05:00
Alex Barney
a1ab700764 Fix search for ADX encryption type-9 key 2017-06-17 20:20:59 -05:00
Alex Barney
27419d1a43 Fix ADX type 9 encryption format string typo 2017-06-17 14:31:39 -05:00
bnnm
3ca2ac1ee8 Fix segfault when reading MTA2 files after EOF (ex. trunkated) 2017-06-11 22:38:05 +02:00
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