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
d3a1fba917
Simplify XVAG/code cleanup preparations
2017-02-18 15:43:29 +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
a7982bc743
Remove MPEG internals
2017-02-17 16:48:29 +01:00
bnnm
ef5b17f508
Remove old FSB5 mpeg code
2017-02-17 16:44:07 +01:00
bnnm
5b04bbc32a
Add a couple of extra memory validations on BIK init
2017-02-17 16:39:38 +01:00
bnnm
d26c813cbd
Fix some rare AKB2 [Mobius FF SFX]
2017-02-12 15:43:57 +01:00
bnnm
b661996313
Relax loop validation [ESPN 2002]
2017-02-12 15:00:10 +01:00
bnnm
b3ca092b6a
Add AKB support for OGG/alt AAC [SQEX iOS: Dragon Quest 2-6, FF6, TWEWY]
2017-02-12 14:42:02 +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
8d973f4eb9
Allow negative start time in init_seek (for Ogg)
2017-02-12 12:18:44 +01:00
bnnm
5040b4746e
Fix minor bugs; cleanup
...
- loop flag parsed from the spec [TTT HD]
- add joint stereo ATRAC3 [Silent Hill HD]
- fix MSFv1 ATRAC3 sample rate [Digi World SP]
- use "fake RIFF" ATRAC3 for flexibility (sample rate fix)
2017-02-04 23:26:13 +01:00
bnnm
3d9ce4c15e
Fixed FSB5 sample rate and channels, multichannel IMA ADPCM; cleanup
2017-02-04 23:20:11 +01:00
bnnm
b44cd87a7b
Fix multichannel IMA FSB
2017-02-04 19:37:48 +01:00
bnnm
13bec0d5be
Add check in free_ffmpeg to avoid segfault if data is NULL
...
free() accepts NULL so free_ffmpeg should too, I guess
2017-02-04 17:54:43 +01:00
bnnm
2aa025f245
Added BIK/BIKa 1/2 [various game movies]
2017-02-04 13:00:13 +01:00
bnnm
bc49757f20
Added/finished looping MP4 (.lmp4) [FFDimensions, Tales of Hearts R iOS]
2017-02-04 11:10:02 +01:00
bnnm
d8df47e080
Simplify SGXD code
2017-01-28 00:41:51 +01:00
bnnm
a468e9b1b1
Fix stream and interleave sizes in some cases
2017-01-27 23:39:52 +01:00
bnnm
c3490f99d9
Fix a rare FFmpeg bug when reading "fake" filesizes
2017-01-27 23:16:00 +01:00
bnnm
685c7bafad
Fix MSA sample count [Psyvariar (PS2)]
2017-01-27 19:32:40 +01:00
bnnm
7e106d6a33
Add basic multistream FSB support
2017-01-27 18:01:40 +01:00
bnnm
45bd8a37cb
Allow looping in IDSPs with loop_end over num_samples
2017-01-27 16:19:08 +01:00
bnnm
802e414bdc
Fix mono Xbox decoding, mono DSP start_offset; code cleanup
2017-01-26 23:31:02 +01:00
bnnm
35a3d44c89
Move Xenoblade 3D DSP .adx from CRI .adx to its own meta (cleanup)
...
The CRI .adx code is now like before it was added (44075c4
)
2017-01-25 22:28:15 +01:00
bnnm
195958b20a
Move Xenoblade 3D DSP .adx from CRI .adx to its own meta (cleanup)
2017-01-25 22:23:45 +01:00
bnnm
9ae63e470b
Add .str extension for Ben 10: Galactic Racing
2017-01-25 20:36:57 +01:00
bnnm
a809a7c628
Add Omikron: The Nomad Soul IMA ADPCM coding and meta
2017-01-25 20:25:39 +01:00
bnnm
28dc316f95
Add NPS extension (Beautiful Katamari)
2017-01-22 11:40:01 +01:00
bnnm
b726349ece
Fix multistream count offset [Dragon Quest X SFX]
2017-01-19 00:33:12 +01:00
bnnm
78349c3c8f
Move "skip chunks" to OGG, only FFXIV needs it and breaks some DQ10 DSPs
2017-01-19 00:29:55 +01:00
bnnm
11968a5593
Add support for WiiBGM demuxed from G1L [Romance of Three Kingdoms 12]
2017-01-18 21:28:14 +01:00
bnnm
ef44b5b5cc
SCD DSP: validate size/offset and don't crash when failing to open
2017-01-18 21:19:43 +01:00
bnnm
85e63743b7
Added SCD DSP Wii U [Dragon Quest X (Wii U)]
2017-01-15 20:42:26 +01:00
Christopher Snowhill
efdbf8c331
Merge pull request #61 from bnnm/formats-stuff
...
Formats and stuff
2017-01-14 14:16:16 -08:00
bnnm
72f252327f
Added SCD ATRAC3plus [Lord of Arcana (PSP)]
2017-01-14 23:00:19 +01:00
bnnm
07c179e51c
Remove unused init_ffmpeg_faux_riff
...
Superseded by init_ffmpeg_header_offset and various ffmpeg_make_riff_x
2017-01-14 22:29:47 +01:00
bnnm
d3ba419aa9
Fixed SCD XMA [Final Fantasy XIII (X360)]
2017-01-14 22:27:52 +01:00
bnnm
376b4acbb2
Minor func rename (ffmpeg_make_riff_xma2_from_fmt)
2017-01-14 22:25:15 +01:00
bnnm
7f02c9951d
Fixed 6ch "multi" IDSP [Tekken Tag Tournament 2 (Wii U)]
2017-01-14 21:21:39 +01:00
bnnm
a1f8407ab1
Fixed GSP+GSB DSP total samples [Super Swing Golf GC]
2017-01-14 03:05:07 +01:00
bnnm
b96e7d7bbf
Added ATRAC3/XMA in GSP/GSB [Quantum Theory PS3/X360]
2017-01-14 01:39:21 +01:00
bnnm
c68608149c
Moved check_extensions/open_stream to streamfile.c/vgmstream.c
2017-01-14 00:59:54 +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
Christopher Snowhill
72f3e3555b
Added sanity check to MCA decoder, fixes some odd rips I've just encountered.
2017-01-09 09:29:08 -08:00
bnnm
2467f9afdc
Added CXS [Eternal Sonata (Xbox 360)]
2017-01-08 14:19:32 +01:00
bnnm
01981a6686
Added PS2 VDS/VDM [Graffiti Kingdom]
2017-01-08 12:59:04 +01:00
bnnm
4e6ce8747d
Added .swag [Frantix PSP]
2017-01-08 12:03:31 +01:00
bnnm
86ba7a6a23
Remove some old DEBUG code
2017-01-08 02:58: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
3e4299b373
Added ATRAC3/XMA in VAWX (.xwv) [Moon Diver, No More Heroes X360]
2017-01-07 17:04:21 +01:00
bnnm
2557074ceb
Added .nps extension [Venus & Braves PS2]
2017-01-07 14:33:10 +01:00
bnnm
8b8a9ecd4e
Basic support for multi-stream SCD (FF XIV sfx)
2017-01-03 21:13:36 +01:00
bnnm
8913ccdd47
Add SCD OGG v3 decryption (FF XIV Heavensward)
...
Original code by ShadowRoze and algorithm by Ioncannon.
2017-01-03 19:03:08 +01:00
bnnm
aaf137817c
IMA tweaks
2017-01-02 17:03:49 +01:00
bnnm
a77d4d21ce
Manually setting layout_none was not needed in mono PCM files
2017-01-02 15:42:26 +01:00
bnnm
9d33b42584
Improved SPW (PCM, sample rate)
2017-01-02 15:24:10 +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
6c82a508ef
Redone FSB1-4: improved XMA/MPEG, bugs, looping
...
Now parses FMOD's flags correctly and should work for all versions.
There are still some problems with IMA ADPCM which also happened before.
2016-12-29 14:06:57 +01:00
bnnm
fa31aa2cd7
Fixed wrong meta
2016-12-28 16:14:44 +01:00
bnnm
d4f45eaaee
Moved debug FSB5 MPEG from fsb.c to fsb5.c
2016-12-28 11:39:56 +01:00
bnnm
ad3b081681
Fix possible segfault
2016-12-27 23:18:41 +01:00
bnnm
e06ddd0076
Fixed minor compiler warnings (unused/uninitialized vars)
2016-12-27 16:33:10 +01:00
bnnm
8daafeea90
Adjusted loop detection for some dual stereo files (Ecco the Dolphin)
...
It was detecting one channel as looping and other as non-looping.
2016-12-26 16:09:16 +01:00
bnnm
46d7fcfe80
Added Killzone VAGp (.vag); code cleanup
2016-12-26 13:30:43 +01:00
bnnm
973c4bff1d
Added namco XMA (.xma), Soul Calibur II HD XMA (.past) variations
2016-12-26 13:27:47 +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
4c25807b3d
Prepare loop finder for HEVAG and minor touches
2016-12-21 00:48:47 +01:00
bnnm
75485c388e
Moved VAG loop finder to function; comments, code preps
2016-12-20 23:29:36 +01:00
Christopher Snowhill
6a4577f561
Fixed MSS sample count handling, hopefully.
2016-12-18 19:54:41 -08:00
Christopher Snowhill
ad85fc8bc3
Make XMA support dependent on FFmpeg inclusion, for now.
2016-12-18 11:41:26 -08:00
bnnm
8140800587
Added proper/looped .XMA
2016-12-18 18:12:27 +01:00
bnnm
c1c1cd1ba6
init_ffmpeg accepts any generic header; init_seek edge cases (for XMA)
2016-12-18 13:10:08 +01:00
bnnm
27868be723
Fixed v5 header coef positions
2016-12-16 20:34:44 +01:00
bnnm
2a7b645d23
Fixed PS2 MSS sample count and description
2016-12-16 20:29:02 +01:00
bnnm
76dc236b41
Added .pos support for .vgmstream (FFmpeg) files not directly supported
...
The format is LE 4+4 [loop_start loop_end], or LE 4+4+4 [loop_start
loop_end num_samples] when FFmpeg can't determine correctly num_samples
2016-12-11 13:05:54 +01:00
bnnm
e6334e72af
MAIATRAC3PLUS: use fact_samples if possible (manual calcs can be off)
2016-12-10 16:07:54 +01:00
bnnm
cdfd47eb7b
FFmpeg: expose block/frame size, rename totalFrames for clarity
2016-12-10 15:53:29 +01:00
bnnm
22d7708d68
Added FFmpeg MP4/AAC
2016-12-06 17:12:56 +01:00
bnnm
c5066fdd09
Check for segfault
2016-12-06 11:53:54 +01:00
bnnm
80c72166e5
AT3: read skip samples to fix edge loops
2016-12-06 00:28:16 +01:00
bnnm
6568acc305
Favor FFMPEG over MPEG due to inaccurate looping and worse MPEG support
2016-12-04 23:10:18 +01:00
bnnm
2ac3db4d03
SGDX fixes: AT3/AC3 codecs (via FFmpeg), ADPCM interleave, unify code
2016-12-04 23:10:18 +01:00
bnnm
bf7d3da39a
Load HCA encryption keys from external file (songname.extkey or .extkey)
2016-12-04 23:10:17 +01:00
bnnm
0faa3286aa
Don't manually check framesRead and rely on FFmpeg's EOFs
...
FFmpeg's duration isn't always reliable (ie. bad headers) and the
decoder detects EOFs already, extra decoding attempts should be ignored.
This way vgmstream can use other values without modifying
ffmpeg_codec_data's state.
2016-12-03 11:42:38 +01:00
bnnm
80c8791288
Improve init_seek: don't add existing index, find packet size (for M4A)
2016-12-03 01:56:27 +01:00
bnnm
8cdce2c196
Check on init if seek to 0 works (buggier demuxers may fail)
2016-12-02 22:33:51 +01:00
bnnm
609bfb5d61
Minor fixes and cleanup
2016-12-01 23:49:00 +01:00
bnnm
47be992b4b
Fix for demuxers that can't seek to 0 (FFmpeg bugs, see init_seek)
2016-12-01 20:11:17 +01:00
Christopher Snowhill
fa4498d964
Merge pull request #44 from bnnm/ffmpeg-fixes2
...
FFmpeg fixes
2016-11-27 14:10:09 -08:00
bnnm
f5e8e8ad8e
Open key using streamFile, needed to allow user-defined callbacks
2016-11-27 22:42:42 +01:00
bnnm
088fb4a480
Add Gunhound EX PSP key; try to get key from external file
...
Needed for files which incorrectly guess its XOR key (like Gunhound).
The format for ADX keyfiles is 6 bytes with start/mult/add (ex.
0x111122223333).
2016-11-27 19:41:36 +01:00
bnnm
69116cb6ad
Fix VGM_USE_MPEG #ifdef
2016-11-26 15:15:50 +01:00