Commit Graph

4124 Commits

Author SHA1 Message Date
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
Christopher Snowhill
a36bf19790 Merge pull request #73 from bnnm/master
New GENH codecs, short MPDS
2017-03-10 15:29:18 -08: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
Christopher Snowhill
4f9df81f9b Merge pull request #72 from bnnm/stuff
Stuff
2017-03-05 12:52:46 -08: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
7f2e8f58db Add minor malloc fail check 2017-03-04 02:17:03 +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
Christopher Snowhill
59c2a57ecf Updated FFmpeg binaries. 2017-02-28 19:16:15 -08:00
Christopher Snowhill
dae2cead2e Update FFmpeg build options. 2017-02-28 19:13:48 -08:00
Christopher Snowhill
f2b0a96afc Merge pull request #71 from bnnm/xwb
XWB support
2017-02-28 19:12:44 -08: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
bnnm
f993fe37de Add some preliminar code for multichannel FSBs 2017-02-19 20:28:13 +01:00
bnnm
c38aa72761 Enable multichannel MPEG (fixed frame size) in XVAGs 2017-02-19 20:21:57 +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
Christopher Snowhill
83276b5f0d Merge pull request #69 from haolink/master
Fairy Fencer F: Advent Dark Force Looping OGG support added.
2017-02-18 12:30:42 -08:00
bnnm
e0d129e06c Prepare MPEG stuff for multichannel 2017-02-18 18:27:21 +01:00
bnnm
d3a1fba917 Simplify XVAG/code cleanup preparations 2017-02-18 15:43:29 +01:00
bnnm
4673050fcb Add find_chunk with configurable endianness 2017-02-18 15:19:25 +01:00
Link
4963e97216 Fairy Fencer F: Advent Dark Force Looping OGG support added. 2017-02-18 08:04:16 +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
6b99cf8f72 Use free_mpeg to close MPEG internals 2017-02-17 18:18:06 +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
a7982bc743 Remove MPEG internals 2017-02-17 16:48:29 +01:00