bnnm
abaefd17cd
Rename wwise_opus to switch_opus as it's apparently so
2017-09-30 00:16:40 +02:00
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
Christopher Snowhill
70ea05cec2
We're sticking with C89 for now.
2017-05-13 16:48:35 -07:00
Christopher Snowhill
4e54a82900
Merge pull request #89 from Thealexbarney/adx
...
Improve ADX support
2017-05-13 16:42:23 -07:00
Alex Barney
5d43080167
ADX decoding accuracy improvements
...
Can't factor out a bit shift like you can division because of negative numbers.
Coefficients should be rounded toward 0, not negative infinity
2017-05-13 18:16:32 -05:00
Alex Barney
89cdaa83e9
Add support for encoding type 4 ADX
2017-05-13 17:37:24 -05:00
Alex Barney
ab647cc155
Add support for type 2 ADX files
2017-05-13 16:04:30 -05:00
Alex Barney
ef1499f480
Add support for varying ADX frame sizes
2017-05-13 15:17:27 -05:00
bnnm
64b4631ded
Add some missing #ifdef VGM_USE_VORBIS
2017-05-12 19:25:20 +02:00
bnnm
8c39ad62cb
Rename unix to audacious (folder and makefiles)
2017-05-01 17:08:52 +02:00
bnnm
1e793e577e
Move HEVAG decoder to its own file
2017-05-01 16:58:33 +02:00
bnnm
1885f6e889
Autoupdate Audacious makefiles with .c list and git version on build
2017-05-01 13:33:45 +02:00
bnnm
16cc0c4131
Update Audacious scripts
2017-05-01 11:00:56 +02:00
bnnm
6cf0195d25
Move reset/seek/free code to decoders (vgmstream.c cleanup)
2017-04-29 22:37:15 +02:00
bnnm
4a83de7dae
Added MC3 decoder/meta [MX Rider, Spy Hunter, T3] (thanks to daemon1)
2017-04-28 17:26:25 +02:00
bnnm
f153479383
Add OGL Vorbis decoder/meta [Jett Rocket (Wii), FAST Racing NEO (WiiU)]
2017-04-22 19:25:54 +02:00
bnnm
460beeb141
Remove unneeded TODO
2017-04-22 16:23:40 +02:00
bnnm
0bade4a931
Fix XMA1 parsing bugs
2017-04-22 13:11:11 +02:00
bnnm
a5e190eb89
Add wma_get_samples util
2017-04-22 11:30:24 +02:00
bnnm
4d4c5e140b
Minor renames (xma_sample_data, ffmpeg_make_riff_xma_from_fmt)
2017-04-15 23:58:19 +02:00
bnnm
8479f96367
Import math.h for Vorbis
2017-04-15 23:22:50 +02:00
bnnm
5ec65f9587
Rename ffmpeg_decoder_utils.c to coding_utils.c and don't need FFmpeg
...
I feel they are general-purpose enough that shouldn't depend on FFmpeg
(ex. xma_samples should work whether FFmpeg, libav, or
super_multi_decoder is enabled)
2017-04-15 23:19:06 +02:00
bnnm
70f5dc4684
Fix Wwise Vorbis with header triad and remove disable flag
2017-04-15 23:03:26 +02:00
bnnm
ddf974a31a
Remove FSB Vorbis disable flag
2017-04-15 22:59:36 +02:00
bnnm
54d1995dc8
Fix segfault when resetting non-looping Vorbis/MPEG files
...
Also, apparently reset shouldn't reset the streamfiles
2017-04-14 01:22:53 +02:00
bnnm
34999ddec9
Fixed bug when seeking in Wwise IMAs
2017-04-13 16:55:40 +02:00
bnnm
f067d4ddb9
Added Wwise Vorbis decoder and packed codebooks
2017-04-13 15:04:46 +02:00
bnnm
a468898855
Added Wwise IMA decoder; ms_ima_bytes_to_samples
...
There are some minor issues with seeking in odd samples to be fixed
2017-04-11 19:59:29 +02:00
bnnm
680ff51e64
Add extra XMA parsing utils
2017-04-08 13:32:11 +02:00
bnnm
b7ffd11fca
Add/use atrac3_bytes_to_samples
2017-04-07 21:18:07 +02:00
bnnm
3619b14f8e
Add Wwise XWMA [Halo 4 X360]; update xma_get_samples to read WMAPRO
...
Also ffmpeg_make_riff_xwma doesn't actually need num_samples and use
x_bytes_to_samples in Wwise
2017-04-07 20:21:55 +02:00
bnnm
d6f6798569
Add pcm/dsp/ps_bytes_to_samples helpers
2017-04-07 16:23:43 +02:00
bnnm
fc71e88019
Add pre-compiled FSB Vorbis setup/codebooks
2017-03-26 15:54:25 +02:00
bnnm
bed84fca2d
Add alt loading mechanisms for FSB Vorbis setup/codebooks
2017-03-26 15:53:56 +02:00
bnnm
efdb885a79
Fix crash bug introduced when adding looping
2017-03-26 14:07:50 +02:00
Christopher Snowhill
886a25ca95
Try activating FSB Vorbis.
2017-03-25 18:47:17 -07:00
bnnm
ab05279629
Fix FSB vorbis looping
2017-03-25 19:05:18 +01:00
bnnm
01391f4d6d
Add FSB Vorbis decoder
2017-03-25 14:57:44 +01:00
bnnm
bcf93deecd
Extend ffmpeg's make_riff_xma_from_fmt/fmt_chunk_swap_endian for XMA1
2017-03-19 00:43:31 +01:00
bnnm
d6ce0f0ae3
Fix SGXD typo (SGDX to SGXD)
2017-03-18 15:07:58 +01:00
Christopher Snowhill
00523fb5ab
Merge pull request #74 from bnnm/fsb-mpeg-bfstm
...
FSB MPEG, BFSTM
2017-03-13 18:29:50 -07:00
bnnm
0e10b75beb
Fix interleaved FSB MPEG decoding
...
Padding doesn't apply to Layer II FSBs, and it needed to manually get
info from MPEG frames since mpg123 functions weren't always working.
2017-03-13 20:04:09 +01:00
Christopher Snowhill
698269dd14
Convert Japanese comments from EUCJP to UTF-8.
2017-03-12 22:19:22 -07:00
bnnm
1a0da46703
Some more IMA cleanup (no functional changes)
2017-03-10 18:08:12 +01:00
bnnm
b8a25dbc27
Some IMA cleanup (no functional changes)
2017-03-09 21:47:23 +01:00
bnnm
2cdef093cb
Added FFmpeg fake atrac3plus RIFF
2017-03-09 19:13:05 +01:00
bnnm
af0c31d61f
Minor tweaks/log
2017-03-05 17:35:45 +01:00
bnnm
d2a31378c2
move xma_get_samples from xma.c to FFmpeg utils (needed by XWB)
...
xma.c now uses ffmpeg's fmt_chunk_swap_endian, too
2017-02-25 19:52:07 +01:00
bnnm
fbb9af5410
Tweak FFmpeg XMA1 fake RIFF
2017-02-25 17:29:25 +01:00
bnnm
04f2cb0344
Moved FFmpeg RIFF utils to their own file
...
I'm going to add more later so it was getting kind of unwieldy
2017-02-25 13:54:05 +01:00
bnnm
248ec021d8
Add FFmpeg fake riff helpers: XMA1, XWMA, XMA2 tweaks
2017-02-25 12:25:10 +01:00