Commit Graph

90 Commits

Author SHA1 Message Date
bnnm
a3b991ac3f Modify SCD/P3D/FSB/XVAG interleave and fix short last interleave
Previously, the streams' offsets needed to be pre-adjusted with the
interleave; now assumes all streams start in the same offset (first
stream).
This simplifies short last interleaves (SCD/P3D) and makes
layout_mpeg_custom unnecessary (also allows theoretical variable-sized
interleaves).
2017-12-17 19:25:10 +01:00
bnnm
8f9b22d46f Change layout_interleave_byte with coding_NGC_DSP_subint
Meant to simplify layouts
2017-12-06 21:04:34 +01:00
bnnm
86641dc699 Fix log 2017-11-10 23:20:08 +01:00
bnnm
b2ab42673a Tweak FSB log 2017-11-10 22:36:54 +01:00
bnnm
0bb62ce57d Minor comments/documentation 2017-09-29 23:26:42 +02:00
bnnm
6dcc890d19 Adjust FSB4 looping so most jingles don't loop 2017-08-26 03:23:39 +02:00
bnnm
d219804b99 Add stream selection and/or stream name reading for some formats 2017-08-12 11:46:28 +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
86cb660f76 Define MPEG interleave type to improve and simplify some internals 2017-06-25 02:09:12 +02:00
bnnm
003e48e88c Add FSB4 celt comment 2017-03-25 19:05:08 +01:00
bnnm
4bc254d67c Allow FSBs with encryption flag set [Double Fine games] 2017-03-24 16:37:56 +01:00
bnnm
a4327c3529 Improve total_streams check 2017-03-18 17:17:24 +01:00
bnnm
5763a1a229 Use interleaved MPEG FSB decoder [Timeshift, DJ Hero] 2017-03-13 20:05:28 +01:00
bnnm
39abb97b61 Save number of streams info 2017-03-04 02:09:00 +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
f993fe37de Add some preliminar code for multichannel FSBs 2017-02-19 20:28:13 +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
b44cd87a7b Fix multichannel IMA FSB 2017-02-04 19:37:48 +01:00
bnnm
7e106d6a33 Add basic multistream FSB support 2017-01-27 18:01:40 +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
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
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
Chris Moeller
c83eb6c1fe fix FSB MPEG broken in r1034
thanks to CyberBotX for the catch and fix
2014-09-16 16:18:44 -07:00
halleyscometsw
44075c4e91 clean up some warning-causing ugliness 2014-06-26 21:12:48 -07:00
Chris Moeller
a1ce18bbce Added support for Orcs Must Die (PC)
Well...more support.
2013-09-03 10:49:45 -07:00
Chris Moeller
142cfc971d Raised path length limit to 32767 characters, controlled by a global enum definition 2013-05-26 20:55:50 -07:00
halleyscometsw
bcb7d5dad9 another magic special case for de Blob 2 (6 channels)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@1001 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2012-09-17 04:21:58 +00:00
snakemeat
1c67f85bc7 Add PS2 2PFS meta. Cannot determine loop points.
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@984 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2012-08-15 03:41:24 +00:00
bxaimc
1cb9456138 Work started on FSB5 support. Completely useless since it's just a half-assed copy and paste for now. Enjoy...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@983 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2012-08-13 06:50:57 +00:00
bxaimc
747a8a6ba9 Added support for Devil May Cry HD Collection (PS3) EFF ESS BEES. Some work and some don't. Dunno why but one day I'll fix that....eventually...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@981 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2012-07-27 05:32:13 +00:00
bxaimc
3d93bbf02e Added support for Skylanders: Spyro's Adventure (Wii)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@973 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2012-01-30 02:09:08 +00:00
manakoat
4db4ae8620 small changes in FSB MPEG
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@966 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-08-06 07:34:00 +00:00
manakoat
66b3ca672e New FSB4 Flag (Dead Space iOS)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@963 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-07-03 19:01:33 +00:00
bxaimc
83e098b83d Added support for Transformers: Dark of the Moon (Wii)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@961 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-06-21 02:34:31 +00:00
bxaimc
16bae0a74d Combined FSB metas
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@918 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-02-08 12:56:16 +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
7a910e227b 1 ch IMA
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@871 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-10-21 20:22:52 +00:00
halleyscometsw
1f20c6937f fix IMA offset bug
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@870 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-10-21 18:36:14 +00:00
halleyscometsw
502fa83fba IMA in FSB4 for Blade Kitten
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@869 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-10-21 18:10:58 +00:00
bxaimc
ab4ef5647d Added more PCM FSB support for Toy Story 3 (PS3)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@856 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-23 23:52:16 +00:00
bxaimc
ae6fcf2810 Added more PCM FSB support for Another Century's Episode R (PS3)
Added support for mono MPEG FSB for BioShock (PS3)

git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@855 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-19 23:11:49 +00:00
bxaimc
775dc7d72a Added looping for MPEG FSB (WIP)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@852 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-16 17:29:45 +00:00
manakoAT
bcbfeaac14 add .iadp to ngc_dsp_std.c (Dr. Muto NGC)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@851 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-16 11:53:36 +00:00
manakoAT
1e11a5b7a2 add MPEG coding to FSB4
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@850 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-15 19:37:54 +00:00
halleyscometsw
fd25f88329 Last Airbender FSB4 with loop start
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@819 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-08-13 14:08:00 +00:00
bxaimc
a2a9e2b717 Added .2dx9 as replacement for .2dx. New .2dx support removed for now.
More Fixes on FSB4 for Toy Story 3 (Wii).

git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@808 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-06-29 15:52:07 +00:00