Commit Graph

163 Commits

Author SHA1 Message Date
bnnm
aaa2613802 Add EALayer3 v1 decoder for SCHl [EA games for PS2/Wii/X360/PS3] 2017-08-05 17:54:50 +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
bc8e2e9204 Unify fsb/wwise/ogl Vorbis decoders into a single decoder with subtypes 2017-07-28 23:26:58 +02:00
bnnm
a88cd8ca1b Add ima_bytes_to_samples helper 2017-07-23 12:49:10 +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
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
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
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
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
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
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
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
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
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
2cdef093cb Added FFmpeg fake atrac3plus RIFF 2017-03-09 19:13:05 +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
248ec021d8 Add FFmpeg fake riff helpers: XMA1, XWMA, XMA2 tweaks 2017-02-25 12:25:10 +01:00
bnnm
7f98f5b4f6 Remove MPEG sample rate check and channel/sample rate pointer updates
Rarely used, frame sample rate/channels are now exposed, and FFmpeg will
end up playing any MP3 anyway.
Encoders may modify sample rate to adjust looping to frame boundaries,
too.
2017-02-19 21:16:09 +01:00
bnnm
0101572718 Add multichannel MPEG decoder
Supports fixed-size frames (for XVAG) or variable/padded frames (for
FSB), but FSB support has some bugs so it's not used yet.
2017-02-19 20:20:13 +01:00
bnnm
e0d129e06c Prepare MPEG stuff for multichannel 2017-02-18 18:27:21 +01:00
bnnm
7418b61793 Hide buffer and mpeg_bytes_to_samples MPEG internals; cleanup
Also removes VBR check from metas; it's only needed because
mpeg_bytes_to_samples doesn't work with VBR, but now it'll return 0,
which would be validated later.
2017-02-18 00:17:38 +01:00
bnnm
2e41586e68 Move AHX MPEG init code to mpeg_decoder and other cleanup 2017-02-17 18:35:58 +01:00
bnnm
df84602e85 Move reset/seek/free MPEG code to mpeg_decoder (for later changes) 2017-02-17 17:20:40 +01:00
bnnm
9317ce9cc2 Add ffmpeg_set_skip_samples to manually fix encoder delay in some cases 2017-02-12 13:17:01 +01:00
bnnm
cc181f5e0d Added FSB multichannel IMA 2017-02-04 23:17:56 +01:00
bnnm
068284ff09 Add dsp_read_coefs_le 2017-01-25 22:20:01 +01:00
bnnm
a809a7c628 Add Omikron: The Nomad Soul IMA ADPCM coding and meta 2017-01-25 20:25:39 +01:00
bnnm
2d52bc2921 Wrong func definition 2017-01-14 22:41:37 +01:00
bnnm
376b4acbb2 Minor func rename (ffmpeg_make_riff_xma2_from_fmt) 2017-01-14 22:25:15 +01:00
bnnm
14d2363670 Moved dsp_read_coefs_be to ngc_dsp_decoder.c 2017-01-13 23:56:48 +01:00
bnnm
f5750ba2cc Moved make_riff_x to ffmpeg_decoder.c (only actually used by FFmpeg)
Also added make_riff_xma2_from_fmt_be
2017-01-13 23:47:52 +01:00
bnnm
c7c1564d9f Minor cleanups (no functionality changes)
- added comments, code alignment for clarity
- renamed some decoders for consistency (ex. eaxa > ea_xa, invert_psx >
psx_bmdx, vgm_adpcm_cfg > psx_cfg)
- removed layout_dkt_interleave (same as nolayout)
- removed skip_last_channel (not used anymore)
- removed meta_DSP_HALP (not used anymore)
2017-01-08 01:09:20 +01:00
bnnm
ee5a40224d Added PS ADPCM of configurable frame size (FF XI, Blur, Afrika)
This fuses the FF XI/BSF/Short VAG decoder variants into a single one
(FF XI alone has 4 possible frame sizes); also fixed FF XI sample rate
and some cleanup.
2016-12-29 23:34:21 +01:00
bnnm
790bb79cc9 Allow to disable mpg123 stderr output for recoverable MPEGs (FSBs) 2016-12-28 01:38:56 +01:00
bnnm
ea7b8d2570 Added short VAG variation (SGXD type 5 found in PS3 Afrika) 2016-12-21 23:00:34 +01:00
bnnm
0b3050cf0a Added PSVita HEVAG (original algorithm by daemon1) 2016-12-21 20:44:16 +01:00
bnnm
f5da8281e2 Move FFmpeg reset to ffmpeg_decoder (cleanup) 2016-12-01 19:58:51 +01:00
bnnm
2754f05b11 Move FFmpeg looping to ffmpeg_decoder for further changes (cleanup) 2016-11-30 23:48:49 +01:00
bnnm
81d1f410a1 Fix missing decode_hca 2016-11-15 23:45:02 +01:00
Chris Moeller
cbe9bc3d6b Added FFmpeg support, and fixed a long standing issue with broken loops locking up the decoder. 2016-07-16 23:02:27 -07:00
Chris Moeller
1ad884287b Added G.719 decoding support to BNSF input 2015-01-24 21:08:25 -08:00
Brandon
85325442ba Fixes compile error if VGM_USE_MP4V2 and VGM_USE_FDKAAC are not defined 2014-08-05 00:59:58 -07:00
Chris Moeller
ae4863b0bf Clarified AT3plus as such 2013-06-26 04:36:57 -07:00
Chris Moeller
98e90f8a25 Implemented ATRAC3plus support 2013-06-26 02:54:15 -07:00
Chris Moeller
460aeceb6f Implemented MP4 AAC support for iOS AKB format 2012-08-30 05:35:12 -07:00
halleyscometsw
262d5a98c9 Metal Gear Solid 3 MTAF. What a thrill.
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@941 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-05-07 11:05:05 +00:00
halleyscometsw
bf8a32fefd .snds from Incredibles PC
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@913 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-02-06 09:49:57 +00:00
halleyscometsw
7b78a5262d MPEG fixes from kode54, get the right freq and srate even with MPG123_NEED_MORE, avoid locking up with too little data
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@911 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-01-19 13:54:59 +00:00
halleyscometsw
040a5a0648 lsf meta and decoder, Fastlane Street Racing (iPhone)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@906 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-01-13 08:11:58 +00:00
halleyscometsw
0541b579cb handle > 2 channels in .baf, don't call it "Blur" anymore
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@905 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-01-12 01:50:45 +00:00
halleyscometsw
0bdad0b6ce Blur .baf
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@843 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-11 20:57:39 +00:00
halleyscometsw
e98bb44bb5 .scd (FFXIII and FFXIV, MPEG, MS ADPCM, and PCM)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@834 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-10 23:56:39 +00:00
halleyscometsw
617ee5cdff make MPEG detection accessible to anyone, add MPEG support for XVAG (though it seems that the sample count is wrong)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@831 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-10 21:49:56 +00:00
halleyscometsw
5df5090fdd JSTM (.stm) from Tantei Jinguji Saburo - Kind of Blue. Includes a simple XOR obfuscation.
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@821 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-08-28 01:43:40 +00:00
halleyscometsw
ca679e3fd4 CBD2, a variation on the SDX2 theme, from the unreleased 3DO M2
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@813 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-07-27 12:24:03 +00:00
halleyscometsw
a6ba5fbf67 Ghostbusters .smp mono support, MS ADPCM mono decoder
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@779 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-04-12 03:35:58 +00:00
halleyscometsw
94dca9a32b P3D (Prototype)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@773 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-04-10 12:06:25 +00:00
halleyscometsw
b29738d9df initial BNSF support, with placeholder Siren 14 support (disabled for now)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@758 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-03-21 04:23:18 +00:00
halleyscometsw
5b0525fed5 .musx support for Dead Space: Extraction (rename from .sfx)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@718 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-12-16 06:12:53 +00:00
halleyscometsw
cc6912b2d5 RSD6RADP .rsd support, added "Radical ADPCM" decoder (IMA)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@698 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-09-12 04:51:39 +00:00
halleyscometsw
3f318927da add SC meta and Activision / EXAKT SASSC 8-bit DPCM for Supercar Street Challenge (PS2)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@687 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-09-04 04:19:39 +00:00
fastelbja
5d0e2a4fb6 fix maxis xa
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@682 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-09-01 21:28:55 +00:00
halleyscometsw
81d4cbf919 .caf (Apple Core Audio Format file), as seen on iPhone, using Apple's IMA
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@677 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-08-30 02:16:54 +00:00
fastelbja
ce7dd88f50 fixed xbox ADS format (used real interleave IMA)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@665 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-06-29 21:58:40 +00:00
halleyscometsw
5a7e89be6a 8-bit unsigned pcm with no interleave assumption
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@639 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-04-28 16:52:49 +00:00
halleyscometsw
8963ee3eed Microsoft IMA for riff and genh
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@590 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-03-09 12:48:53 +00:00
halleyscometsw
ac3fef6f7e .mwv, RIFF with Level-5 "0x555" ADPCM (new decoder)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@551 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-01-04 15:36:06 +00:00
halleyscometsw
a9ee80dc59 Procyon Studio Digital Sound Elements NDS ADPCM (as seen in .sad) decoder added
extended .sad support


git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@541 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-12-28 06:29:43 +00:00
halleyscometsw
c70680a1e6 Encrypted ADX playback, currently assumed Clover Stuios key without any checking
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@533 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-12-24 07:19:15 +00:00
halleyscometsw
8ee5f1b89d 8-bit unsigned pcm, for RIFF
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@486 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-11-23 12:21:36 +00:00
halleyscometsw
35409b1c40 FFXI (PC) .bgw
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@462 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-11-06 23:30:33 +00:00
fastelbja
7a12a632cf git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@435 51a99a44-fe44-0410-b1ba-c3e57ba2b86b 2008-09-21 14:58:50 +00:00
halleyscometsw
e580858ca3 Yamaha AICA decoder, and Dreamcast .str (Sega Stream Asset Builder)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@408 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-13 06:11:05 +00:00
halleyscometsw
a397d17741 add nonworking de2 (uses msadpcm), clean up some warnings
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@405 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-11 07:19:44 +00:00
halleyscometsw
98d11bd9f2 compressed NWA decoding, no looping yet
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@389 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-03 14:58:03 +00:00
halleyscometsw
dbc3512276 adding 8-bit pcm with sign bit (and interleave) support
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@377 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-30 20:58:50 +00:00
halleyscometsw
5c3a47c720 add coding_PSX_badflags
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@374 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-25 19:02:29 +00:00
halleyscometsw
941b4d49cb ACM-related revisions, hopefully get things ready for MUS
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@350 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-20 07:28:17 +00:00
halleyscometsw
a14cd4082d acm that at least builds
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@348 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-20 05:41:41 +00:00
halleyscometsw
1eba859222 some naming changes and such to make hcs happy, hopefully didn't break anything
changed _noninterleaved functions to _int and changed related descriptions appropriately
added an _int version of SDX2 and reverted to pre-322 behavior for normal deocder
made the various get_high_nibble globals all be the same vgmstream->get_high_nibble for thread safety and code consolidation (this required some changes to make decode functions take VGMSTREAM rather than VGMSTREAMCHANNEL)


git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@323 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-14 20:42:49 +00:00
fastelbja
8a5d2b6429 a lot of ea new formats supported
fixed stereo sdr2 decoder

git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@322 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-14 19:21:45 +00:00
halleyscometsw
ec94c0d3c5 add support for Wii fsb from Metroid Prime 2, required a new layout type
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@316 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-14 13:30:26 +00:00