Commit Graph

3976 Commits

Author SHA1 Message Date
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
Christopher Snowhill
f9e561e08a Merge pull request #114 from bnnm/custom-vorbis-mpeg
Custom Vorbis/MPEG
2017-07-29 18:15:26 -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
Christopher Snowhill
d7a8a9bb41 Merge pull request #112 from bnnm/ea3-hwas
EA 3, HWAS
2017-07-23 14:28:53 -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
Christopher Snowhill
b5fd056cb9 Merge pull request #110 from bnnm/txth-fixes
TXTH, fixes
2017-07-15 15:56:43 -07: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
Christopher Snowhill
371048686c Merge pull request #108 from shinyquagsire23/bfwav_compile_fix
Fix compile errors for BFWAV
2017-07-06 17:45:21 -07:00
shinyquagsire23
b07a5e7ffe Fix compile errors for BFWAV 2017-07-06 18:39:48 -06:00
Christopher Snowhill
d2e2b86785 Merge pull request #106 from shinyquagsire23/bfwav-le
Add support for little-endian BFWAVs, fix coefficient offset calculation
2017-07-05 14:18:11 -07:00
shinyquagsire23
0e5174504e Add support for little-endian BFWAVs, fix coefficient offset calculation for stereo BFWAVs 2017-07-05 11:47:30 -06:00