Commit Graph

1340 Commits

Author SHA1 Message Date
bnnm
400b23813d Rename adx_header.c meta to adx.c for consistency 2017-04-16 01:02:29 +02:00
bnnm
cda7857094 Fix ADX multi-ch looping [Okami HD]; read initial history; cleanup 2017-04-16 00:58:40 +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
e3d8d2ec47 Add early (~2009) Wwise Ogg/Vorbis variation [LotR: Conquest PC] 2017-04-15 23:07:15 +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
e5f2ab0236 Improve handling of truncated Wwise files (VORBIS/IMA) 2017-04-14 01:05:55 +02:00
bnnm
f26214944a Fix some Wwise Vorbis variations (newer style + standard packets) 2017-04-13 20:53:49 +02:00
bnnm
34999ddec9 Fixed bug when seeking in Wwise IMAs 2017-04-13 16:55:40 +02:00
bnnm
61c66182a1 Don't parse RIFX xma as they are now handled in wwise.c
Microsoft XMAs always use RIFF (even though the X360 is BE) while Wwise
XMAs always use RIFX
2017-04-13 15:06:56 +02:00
bnnm
ed70506f33 Added Wwise Vorbis (.wem, .logg) [many games] 2017-04-13 15:05:06 +02:00
bnnm
f067d4ddb9 Added Wwise Vorbis decoder and packed codebooks 2017-04-13 15:04:46 +02:00
bnnm
b54e49370f Reject Wwise RIFFs with JUNK chunks, now parsed in wwise.c 2017-04-11 20:03:26 +02:00
bnnm
01ee57d62e Added Wwise IMA support; xma extension 2017-04-11 20:01:17 +02:00
bnnm
b6d89a0f47 Relax check_sample_rate util to allow 300hz (Wwise lowest) 2017-04-11 20:00:35 +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
87bbd007c8 Add Wwise XMA 2017-04-08 13:40:23 +02:00
bnnm
680ff51e64 Add extra XMA parsing utils 2017-04-08 13:32:11 +02:00
bnnm
fb26adef77 Add Wii and full interleave DSP RAKI variations 2017-04-07 22:43:09 +02:00
bnnm
eb16da6513 Fix some Moon Diver PS3 looping/sample issues 2017-04-07 21:18:38 +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
2086426175 Fix mono/full-interleave CKD [Rayman Origins Wii SFX]; cleanup 2017-04-07 19:10:16 +02:00
bnnm
3dafb0eb73 Remove unused stuff 2017-04-07 18:17:24 +02:00
bnnm
5f3adbbf9f Fix Ubisoft RAKI MSADPCM 2017-04-07 18:12:23 +02:00
bnnm
a33a77575a Add Ubisoft RAKI [Rayman Legends, Just Dance 2017 (multi)] 2017-04-07 18:01:04 +02:00
bnnm
d6f6798569 Add pcm/dsp/ps_bytes_to_samples helpers 2017-04-07 16:23:43 +02:00
bnnm
4d69aed0da Fix some Wwise PSVita HEVAGs 2017-04-02 15:22:03 +02:00
bnnm
98bc4851af Remove Wwise DSP parsing as it's now handled in wwise.c 2017-04-02 12:30:21 +02:00
bnnm
4f73cfc18d Add partial Wwise support (PCM/DSP/AAC/HEVAG) 2017-04-02 12:27:21 +02:00
bnnm
2ec41eb054 Add option to set if zero-sized chunks stop find_chunk (for XVAG) 2017-04-02 12:23:42 +02:00
bnnm
84cac5e934 Fix some MCA v4 and relax looping checks [MH3U (3DS)] 2017-03-31 22:38:45 +02:00
bnnm
9c06c103e2 Add FSB5 HEVAG [PSVita sfx] 2017-03-31 20:57:26 +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
003e48e88c Add FSB4 celt comment 2017-03-25 19:05:08 +01:00
bnnm
a05a11a618 Add FSB5 vorbis decoder 2017-03-25 14:58:34 +01:00
bnnm
01391f4d6d Add FSB Vorbis decoder 2017-03-25 14:57:44 +01:00
bnnm
5260314bc7 Minor check 2017-03-24 16:39:57 +01:00
bnnm
aeb2c597b6 Improved FSB5 num_samples parsing; comments 2017-03-24 16:39:19 +01:00
bnnm
4bc254d67c Allow FSBs with encryption flag set [Double Fine games] 2017-03-24 16:37:56 +01:00
bnnm
cbd4e4e726 Fixed some MSF looping [Castlevania HoD (PS3)] 2017-03-24 16:37:14 +01:00
bnnm
1a069dd5fa Fix compiling errors without FFmpeg enabled 2017-03-19 19:38:15 +01:00
bnnm
3a98c9e7d5 Add Capcom .AST [Dead Rising X360] 2017-03-19 00:44:58 +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
e021cff626 Add some XMA meta descriptions 2017-03-18 19:26:39 +01:00
bnnm
891baff263 More minor file renames (cleanup) 2017-03-18 18:40:46 +01:00
bnnm
2d8ae43fa7 Rename nub to nub_vag and some cleanup 2017-03-18 18:30:22 +01:00
bnnm
aa9c64d747 Minor renames 2017-03-18 18:25:44 +01:00
bnnm
fe54a36b93 Rename ps3_sgh_sgb to sgxd (cleanup) 2017-03-18 17:55:35 +01:00
bnnm
e5b384ea40 Rename ps3_vawx to vawx (cleanup) 2017-03-18 17:53:19 +01:00
bnnm
a8fea8f35c Fix Malicious PS3 looping 2017-03-18 17:41:45 +01:00
bnnm
a4327c3529 Improve total_streams check 2017-03-18 17:17:24 +01:00
bnnm
d6ce0f0ae3 Fix SGXD typo (SGDX to SGXD) 2017-03-18 15:07:58 +01:00
bnnm
76a351c7e2 Add minor debug log when looping is auto-disabled 2017-03-18 00:24:36 +01:00
bnnm
14d4cd8651 Add XWB size check; Techland's ATRAC3 [Nail'd, Sniper Ghost Warrior PS3] 2017-03-18 00:22:20 +01:00
bnnm
1a2083ad6f Added Ukiyo no Roushi vag variation 2017-03-18 00:19:35 +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
d13d03e573 Add little endian BFSTM [Blaster Master Zero (3DS)] 2017-03-13 21:19:38 +01:00
bnnm
de523dc6a3 Do some cleanup while we are testing BFSTMs 2017-03-13 21:14:14 +01:00
bnnm
0c55e49a63 More FSB5 flags comments 2017-03-13 20:43:47 +01:00
bnnm
0cf5d4fb00 Add FSB5 XMA; use interleaved MPEGs; fix mono MPEG total samples 2017-03-13 20:08:35 +01:00
bnnm
5763a1a229 Use interleaved MPEG FSB decoder [Timeshift, DJ Hero] 2017-03-13 20:05:28 +01: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
ae26d35f0c Improve handling of different lengths in check_extensions 2017-03-10 17:57:28 +01:00
bnnm
663cb43b3f Make init_vgmstream_hca_offset local (wasn't used anywhere else) 2017-03-10 17:32:42 +01:00
bnnm
79a5942cb9 Add HCA extension check to avoid some malloc/frees 2017-03-10 17:26:27 +01:00
bnnm
b8a25dbc27 Some IMA cleanup (no functional changes) 2017-03-09 21:47:23 +01:00
bnnm
8fc73c6d02 Minor SCD cleanup 2017-03-09 20:56:26 +01:00
bnnm
613766e856 Add comment 2017-03-09 20:38:52 +01:00
bnnm
a5556e587c Added "short" MPDS (coefs missing) [T3, MI: Operation Surma (GC)] 2017-03-09 20:37:48 +01:00
bnnm
ce591bbe12 Added new GENH codecs: ATRAC3/plus, XMA1/2, FFMPEG
Also some extra fields: total samples, skip samples, data size,
atrac3/xma modes
2017-03-09 19:33:31 +01:00
bnnm
2cdef093cb Added FFmpeg fake atrac3plus RIFF 2017-03-09 19:13:05 +01:00
bnnm
098946057e Do some GENH cleanup before further additions
No changes in logic (tested for all types):
- move codec types to enum for later reference
- move NGC_DTK validation and AICA/DSP adpcm init to setup block
- use vgmstream_open_stream instead of manual stream opening.
  There were 2 cases, interleave (different offset per channel, multiple
streamfiles) and none (same offsets per channel, one streamfile), now
handled by it.
2017-03-09 16:53:34 +01:00
bnnm
0e658031cc Add basic multistream FSB5 support; code cleanup 2017-03-05 17:43:41 +01:00
bnnm
af0c31d61f Minor tweaks/log 2017-03-05 17:35:45 +01:00
bnnm
7f90359e40 Fix some XWB XACT2 looping [Blue Dragon, Prey] 2017-03-05 17:34:37 +01:00
bnnm
9d97a346d3 Save number of streams info 2017-03-04 02:16:35 +01:00
bnnm
39abb97b61 Save number of streams info 2017-03-04 02:09:00 +01:00
bnnm
93bcf85e9c Minor code cleanup 2017-03-04 02:07:48 +01:00
bnnm
3d1ae80f56 Fixed SFX SGDXs; show multi stream number 2017-03-04 02:06:11 +01:00
bnnm
85a3ec749f Show stream numbers in the description (few multi-stream formats only) 2017-03-04 02:05:07 +01:00
bnnm
f92babb383 Fix looping for XACT1/2 PCM and XMA 2017-02-25 19:53:21 +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
8b72e32a97 Adjust XMA sample reader (cleanup, looping, prep for changes) 2017-02-25 18:35:56 +01:00
bnnm
fbb9af5410 Tweak FFmpeg XMA1 fake RIFF 2017-02-25 17:29:25 +01:00
bnnm
0296be392f Redone XWB with full support [many XBOX360 games]
Includes PCM/XBOX-ADPCM/MS-ADPCM/XMA1/XMA2/WMAv1/WMAv2/WMApro.
Known issues (examples needed):
- PCM8bit, WMAv1 (XBOX) and WMApro (late XBOX360) not tested
- compact mode not tested
- earlier (XACT2) MS-ADPCM looping not tested
- XACT2 v35/36/37 may not play correctly (~few mid 2006 games)
2017-02-25 13:57:18 +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
9ff0e2b8a7 Fix again rare FFmpeg bug when reading "fake" filesizes 2017-02-25 13:43:05 +01:00
bnnm
248ec021d8 Add FFmpeg fake riff helpers: XMA1, XWMA, XMA2 tweaks 2017-02-25 12:25:10 +01:00
Christopher Snowhill
223f732e17 Merge pull request #70 from bnnm/interleaved-mpeg
Interleaved MPEG
2017-02-19 21:41:42 -08: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