Commit Graph

1149 Commits

Author SHA1 Message Date
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
Christopher Snowhill
a1a98c2691 Handle uninitialized variable in case of non-matching extensions. 2017-09-29 16:31:47 -07: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