bnnm
c63866aad6
Fix Wwise Opus abrupt end
2017-09-29 23:29:06 +02:00
bnnm
8aae6ed794
Fix multichannel EA-XMA [Dante's Inferno (X360)]
2017-09-29 23:28:27 +02:00
bnnm
0bb62ce57d
Minor comments/documentation
2017-09-29 23:26:42 +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
be8357926d
Fix compiling with codecs disabled
2017-09-24 18:45:39 +02:00
bnnm
6da7a86cc4
Add FFmpeg custom IO callbacks for data transmogrifiers
...
Those are custom read/seeks that can transform data on the fly, for
games that use variations of regular FFmpeg codecs. When FFmpeg tries to
read N bytes, the code may read less/more but still fill the buffer with
N transformed bytes. Must handle "real" (data) and "virtual"
(transformed) offset/sizes.
Works with fake headers too, but "virtual" offset/size now include the
fake header, as I found hard to keep in mind when the header_size was
being added/substracted (could be clearer).
2017-09-24 18:40:59 +02:00
bnnm
952962f91b
Fix AWC MP3 channel desync in some songs [Red Read Redemption (PS3)]
2017-09-17 03:36:01 +02:00
bnnm
9ed189ffe8
Fix Ogg leak
2017-09-17 03:35:24 +02:00
bnnm
ab4e1234d9
Remove unneeded MT info
2017-08-28 20:42:37 +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
5d12d6fb67
Add big endian mode to coding_PCM16LE_int and rename to coding_PCM16_int
2017-08-27 22:17:13 +02:00
bnnm
7875090f0f
Improve PCMFLOAT
2017-08-27 21:54:43 +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
c953685c80
Rename ea_decoder to ea_xa_decoder
2017-08-20 02:12:15 +02:00
bnnm
0103f449d0
Pass stream_index to FFmpeg manually for flexibility
2017-08-19 10:28:28 +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
272b55cb3e
Add DSP hist utils
2017-08-12 18:39:56 +02:00
bnnm
90aef437ea
comments
2017-08-05 17:59:35 +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
bnnm
cb05313b13
Add P3D MPEG decoder [Prototype 1/2 (PS3)], fix debug crap
2017-07-29 23:53:45 +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
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
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
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
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
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
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
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
86cb660f76
Define MPEG interleave type to improve and simplify some internals
2017-06-25 02:09:12 +02:00
bnnm
64500f025d
Add PC XA30 + IMA decoder [Driver: Parallel Lines (PC)]
2017-06-24 23:30:10 +02:00
bnnm
3ca2ac1ee8
Fix segfault when reading MTA2 files after EOF (ex. trunkated)
2017-06-11 22:38:05 +02:00
bnnm
7e42eeca58
Add u-Law decoder + ULW meta [Burnout 1 GC]
2017-06-09 22:26:09 +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
625c18a87e
Add MTA2 decoder/meta support [Metal Gear Solid 4 (PS3)]
2017-05-18 19:16:44 +02:00
bnnm
2d5fece2af
Added simple MTAF block skip; meta cleanup [Metal Gear Solid 3 HD]
2017-05-18 19:06:22 +02:00