Commit Graph

227 Commits

Author SHA1 Message Date
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
b8a25dbc27 Some IMA cleanup (no functional changes) 2017-03-09 21:47:23 +01:00
bnnm
2cdef093cb Added FFmpeg fake atrac3plus RIFF 2017-03-09 19:13:05 +01:00
bnnm
af0c31d61f Minor tweaks/log 2017-03-05 17:35:45 +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
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
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
b7ee1f8f02 Add todo/note in XBOX IMAs 2017-02-04 19:37:00 +01:00
bnnm
6cd991ebf6 Added FSB multichannel IMA
Variation of the XBOX IMA used in >2ch FSB (interleaved header)
2017-02-04 19:19:51 +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
1d95cfc138 Normalize coding style to understand IMAs better + highlight differences
There are no functional differences, all IMAs give byte-exact results
compared to prev versions
2017-01-25 20:19:13 +01:00
Christopher Snowhill
05a33eee1e And this fixes that broken decoder in the event of starting on odd samples. 2017-01-16 22:26:08 -08: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
86ba7a6a23 Remove some old DEBUG code 2017-01-08 02:58:52 +01:00
bnnm
7e520162a3 FFmpeg: remove ACCURATE_LOOPING flag now it's battle-tested
It's fast enough and the older looping code would need to be redone
anyway
2017-01-08 02:54:18 +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
Christopher Snowhill
8ef18d71ee Fix C99-ism that MSVC 2010 doesn't like. 2017-01-02 10:27:27 -08: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
08a1a50ccb Fixed regression/segfault in multistream .mtaf [MGS3]; cleanup
Apparently some MTAF ripped with an old tool contain block data, and a
previous change attempted to support them. This broke multistream MTAF
(block header starts with 0x01, and frame header starts with 0x00, but
also 0x01 in multistreams).
Those MTAF should be re-ripped without blocks.
2016-12-27 14:35:23 +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
cdfd47eb7b FFmpeg: expose block/frame size, rename totalFrames for clarity 2016-12-10 15:53:29 +01:00
bnnm
c5c97c4027 Fixed discard in edge cases 2016-12-03 18:17:37 +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
609bfb5d61 Minor fixes and cleanup 2016-12-01 23:49:00 +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
b9db20283d FFmpeg: keep block size constant (for edge loops), don't write on EOF 2016-11-29 20:22:20 +01:00
Christopher Snowhill
537dc454a5 Merge pull request #41 from bnnm/build-fixes
Build fixes: FFMPEG support in test/winamp
2016-11-20 11:36:37 -08:00
bnnm
cda61c3eeb simplify slightly discarding 2016-11-20 18:55:00 +01:00
bnnm
729658a19c fix discard samples (looping works now) + document 2016-11-20 15:39:21 +01:00
bnnm
81d1f410a1 Fix missing decode_hca 2016-11-15 23:45:02 +01:00
Christopher Snowhill
59b49aa99c Updated PS2 MTAF decoder for features in the format that had yet to be discovered. 2016-08-24 17:33:18 -07:00
Christopher Snowhill
42c00f304b Add rollback to FFmpeg loop seeking, since FFmpeg doesn't seem to institute any rollback of its own. 2016-08-14 15:18:34 -07: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
33563f4e7c Add HCA support. 2016-06-28 00:20:37 -07:00
Chris Moeller
4bfa73f31a Replace references to long with int32_t, fixing several sample decoders on 64 bit platforms 2015-08-02 00:20:57 -07:00
libertyernie
346d18cce4 Ensure that Ogg Vorbis output is in host endian 2015-05-13 13:11:24 -05: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
halleyscometsw
44075c4e91 clean up some warning-causing ugliness 2014-06-26 21:12:48 -07:00
soneek
a2af756764 hcs's update for IMA decoder 2014-06-01 20:19:05 -04:00
Chris Moeller
bd85ad76e8 Fixed mono AT3 decoding, and simplified n-channel decoding 2013-06-26 11:13:44 -07:00
Chris Moeller
ae4863b0bf Clarified AT3plus as such 2013-06-26 04:36:57 -07:00
Chris Moeller
27f5a4c7fe Fixed AT3 looping 2013-06-26 03:46:31 -07:00
Chris Moeller
98e90f8a25 Implemented ATRAC3plus support 2013-06-26 02:54:15 -07:00
Chris Moeller
634845b1ce Added preprocessor blocking around MP4/AAC parts 2013-06-13 17:42:24 -07:00
Chris Moeller
b3f81260f5 Fixed MP4 handler passing the end of the stream 2012-08-30 19:33:56 -07:00
Chris Moeller
52a645d2e5 Modified to support fdk-aac sample sizes larger than 16 bits 2012-08-30 17:56:57 -07:00
Chris Moeller
460aeceb6f Implemented MP4 AAC support for iOS AKB format 2012-08-30 05:35:12 -07:00
halleyscometsw
b070e7d038 remove an extraneous free(), thanks to Lioncash for spotting it
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@995 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2012-08-28 14:00:20 +00:00
halleyscometsw
8f7faebedd support an improved form of ADX encryption
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@967 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-08-20 12:00:01 +00:00
halleyscometsw
69f4a4445f proper credits for MTAF
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@949 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-05-15 00:40:17 +00:00
halleyscometsw
d321549532 accurate MTAF decoding
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@948 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-05-14 08:00:40 +00:00
halleyscometsw
efe54a554e a few fixes for audacious
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@942 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-05-07 11:27:40 +00: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
4e8688a9dd fix snds channel order and sample rate
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@914 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-02-06 18:47:48 +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
cabea09cca make declaration at top of block
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@844 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-11 21:07:40 +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
cbaa24729b need longer ints for length calculation
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@835 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-11 00:18:42 +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
789c231044 remove some unused vars, update Makefile and various supported extension lists and readme
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@783 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-04-20 21:07:45 +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
e5ddad3b1f G.722.1 support for mingw32 and MSVC (needs testing) build.
.s14 and .sss support.
Other builds will probably not build correctly, I'll follow up with something to disable G.722.1 there in a bit.


git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@760 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-03-23 20:57:12 +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
jurassicpieter
5a51cfbf0d fixed sim city 3000 xa decoding
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@684 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-09-02 14:25:42 +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
713b70ae6d back out double in psx decoder (r583)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@586 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-03-05 20:10:24 +00:00
fastelbja
ea3c289d30 update psx decoder to use double value
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@583 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-03-05 16:05:25 +00:00
halleyscometsw
fd6ca93047 enhanced bmdx decryption (determine key from initial frame, which ought to be all zeroes)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@559 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-01-10 00:07:12 +00:00