Commit Graph

1208 Commits

Author SHA1 Message Date
Christopher Snowhill
afdb135567 Oops, forgot to free it. 2017-09-29 17:03:21 -07:00
Christopher Snowhill
72f5f3e0b0 Dynamically allocate and resize the decode buffer when searching for HCA keys, preventing a serious crash due to decoding past the stack allocated buffer. 2017-09-29 16:56:43 -07:00
bnnm
14957d6269 Fix XWB split bug with some codecs 2017-09-30 01:52:49 +02:00
Christopher Snowhill
a1a98c2691 Handle uninitialized variable in case of non-matching extensions. 2017-09-29 16:31:47 -07:00
bnnm
16786b78d4 Add .opus [Lego City Undercover] 2017-09-30 01:27:47 +02:00
bnnm
abaefd17cd Rename wwise_opus to switch_opus as it's apparently so 2017-09-30 00:16:40 +02:00
bnnm
8a8ebe3e24 Minor renames for style (ps3_xvag > xvag, x360_nub > nub_xma) 2017-09-29 23:37:20 +02:00
bnnm
8aae6ed794 Fix multichannel EA-XMA [Dante's Inferno (X360)] 2017-09-29 23:28:27 +02:00
bnnm
8dfac7c465 Fix minor size bug in Wwise Vorbis 2017-09-29 23:27:21 +02:00
bnnm
0bb62ce57d Minor comments/documentation 2017-09-29 23:26:42 +02:00
bnnm
a7acf244ae Fix HCA crash bug when testing keys 2017-09-29 23:24:25 +02:00
bnnm
81fd33612e Add some HCA keys 2017-09-25 00:00:36 +02:00
bnnm
93a122536c Get TXTH FFmpeg's num_samples if not specified, sometimes works 2017-09-24 22:28:35 +02:00
bnnm
9f90ca9181 Improve XNB [Dragon's Blade (Android)]; add .DA wav; extra exts 2017-09-24 22:27:33 +02:00
bnnm
f25d559f68 Add Wwise Opus 2017-09-24 18:55:25 +02:00
bnnm
a8370b4892 Add EA-XMA for EA SNU [Dante's Inferno (X360)]
only 1/2ch works correctly as multichannel layout need to be
investigated
2017-09-24 18:52:09 +02:00
bnnm
4bb1103e3d Update bik FFmpeg init 2017-09-24 18:46:33 +02:00
bnnm
be8357926d Fix compiling with codecs disabled 2017-09-24 18:45:39 +02:00
bnnm
d644d2f9f7 Add HCA key detection and key list
Updated the meta a bit so it's closer to others and optimized some
mallocs, as it was a bit hard to understand for me so I hope it's for
the better
2017-09-17 03:41:36 +02:00
bnnm
dd027f32eb Fix some SCD with MARK chunk [Lightning Returns X360] 2017-09-17 03:35:03 +02:00
bnnm
d46996a642 Improve Guitar Hero II multi-streams with block layout
Fixes partially by ignoring last stream, as it can be half sample rate
2017-08-28 20:05:03 +02:00
bnnm
b758e8f60d Fix VAG interleave in rare cases [The Simpsons Wrestling (PS)] 2017-08-28 18:26:55 +02:00
bnnm
41b22c2699 Add AWC PCM/IMA (non-encrypted only) [GTA5 (PC)] 2017-08-28 16:07:09 +02:00
bnnm
953022b983 Add AWC MP3 [Red Dead Redemption (PS3), GTA5 (PS3)] 2017-08-28 15:14:24 +02:00
bnnm
5bf0ddbfac Fix RWS PCM16BE [The Legend of Spyro (X360)] 2017-08-27 22:18:08 +02:00
bnnm
5d12d6fb67 Add big endian mode to coding_PCM16LE_int and rename to coding_PCM16_int 2017-08-27 22:17:13 +02:00
bnnm
6dcc890d19 Adjust FSB4 looping so most jingles don't loop 2017-08-26 03:23:39 +02:00
bnnm
27c69687d5 Fix some RWS num_samples [Burnout 2 (Xbox)] 2017-08-26 02:35:14 +02:00
bnnm
be5a0371f5 Fix division by zero in some cases 2017-08-25 23:27:23 +02:00
bnnm
a04b83b206 Add PCM8, fix subsongs for large files 2017-08-25 22:43:33 +02:00
bnnm
adb225c180 Add EA SNU + EA-XAS decoder + SNS blocks [Dead Space, The Godfather 2] 2017-08-20 02:18:48 +02:00
bnnm
0103f449d0 Pass stream_index to FFmpeg manually for flexibility 2017-08-19 10:28:28 +02:00
bnnm
d9fb118412 Add BINK multi-stream support and v2 header 2017-08-18 19:24:19 +02:00
bnnm
6642607d0e Add FSB5 PCMFLOAT + decoder [Anima Gate of Memories (PC)] 2017-08-18 18:54:21 +02:00
bnnm
ade662e023 Redo Angel STM: add PCM, adjust looping, unify code, add .lstm 2017-08-12 18:42:38 +02:00
bnnm
d219804b99 Add stream selection and/or stream name reading for some formats 2017-08-12 11:46:28 +02:00
bnnm
561048e613 Fix again TXTH LINE_MAX, even VS2015 was complaining 2017-08-12 11:11:08 +02:00
bnnm
efdcd16ac1 Fix some EA BNK [Medal of Honor Heroes 2 PSP] 2017-08-05 17:55:49 +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
cb05313b13 Add P3D MPEG decoder [Prototype 1/2 (PS3)], fix debug crap 2017-07-29 23:53:45 +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
bc8e2e9204 Unify fsb/wwise/ogl Vorbis decoders into a single decoder with subtypes 2017-07-28 23:26:58 +02: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
3d6e0882ba Improve NDS HWAS volume swings by resetting ADPCM hist every block 2017-07-23 13:16:59 +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
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
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
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
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
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
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
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
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