Commit Graph

2171 Commits

Author SHA1 Message Date
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
shinyquagsire23
beef9b8c6e LE BFSTMs should use PCM16LE 2017-07-04 19:53:35 -06:00
Christopher Snowhill
883d0a4f5b Merge pull request #104 from bnnm/ea-med
EA SCHl, MED
2017-07-01 15:38:35 -07: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