bnnm
cac3af887a
Allow mono MSADPCM; validate interleave for endless loops in some codecs
2017-04-29 20:28:14 +02:00
bnnm
d5aee307f0
Rename coding_INT_X to coding_X_int for consistency with other codecs
2017-04-29 02:53:36 +02:00
bnnm
5260314bc7
Minor check
2017-03-24 16:39:57 +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
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
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
a7982bc743
Remove MPEG internals
2017-02-17 16:48:29 +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
halleyscometsw
1854d42e97
Extend GENH to support little-endian "Gamecube" DSP ADPCM coefficients, for some 3DS titles.
...
This involves a reinterpretation of byte 0x30 (coef type). Formerly this byte took on only two values, to indicate how the ADPCM coefficients (aka codebook) were stored:
0 - normal coefs: all 16 coefs interleaved into one array, offset given at 0x24 for left, 0x28 for right
1 - split coefs: 8 coefs in the main array, additional offset to 2nd array given at 0x34 for left, 0x38 for right
Now I am considering this to be indicated only by bit 0 of the coef type. Bit 1 is taking on an additional interpretation, if it is set, we consider the coefficients to be little endian rather than the normal big endian.
This should maintain backwards compatibility with old GENH files, which should have only used the value 0 or 1.
Thus, in effect we have:
0: normal, big endian
1: split, big endian
2: normal, little endian
3: split, little endian
I don't know of any situation in which 3 would be used (yet), but I'm sure devs will continue to surprise me.
2014-06-26 20:53:49 -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
manakoat
9d25a6bbb4
Add Apple Quicktime 4-bit IMA ADPCM to GENH, ID 17 (0x11)
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@960 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-06-20 16:40:32 +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
5ddbf90379
fix screwed up mpeg stuff
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@838 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-11 18:28:43 +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
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
a3804d64f4
typo (Bad hcs! Compile before committing!)
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@636 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-04-21 22:35:14 +00:00
halleyscometsw
db35fe501d
fix yamaha "aica" adpcm for GENH
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@635 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2009-04-21 22:32:01 +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
manakoAT
4b578db302
fixed capcom hack in .genh
...
added .sng (WII)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@532 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-12-24 00:00:10 +00:00
manakoAT
bbe32bdad6
some changes in .genh
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@531 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-12-23 18:01:18 +00:00
manakoAT
edd350f863
updated .filp
...
added xbox to .xwb
added ps2 adpcm (bad flags) to .genh
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@523 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-12-18 19:04:35 +00:00
manakoAT
48d1092d51
.smp (Wii) added
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@501 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-12-08 17:36:44 +00:00
manakoAT
a41c341a18
fsb updated (fsb4)
...
nds strm fixed
genh dsp interleave types added
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@489 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-11-24 18:27:28 +00:00
manakoAT
3986a97a5f
dsp interleave in genh fixed
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@482 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-11-19 20:32:56 +00:00
fastelbja
1b109fbbaa
adding interleave to dsp
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@478 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-11-17 19:11:23 +00:00
fastelbja
e67a69da29
correct genh
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@477 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-11-17 18:45:09 +00:00
manakoAT
29819a79d4
genh dsp added
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@476 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-11-17 18:28:14 +00:00
halleyscometsw
52624af78d
oops, made then unmade the fix (genh MS ADPCM) before committing
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@411 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-17 23:21:12 +00:00
halleyscometsw
0be920be2d
MS ADPCM for genh
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@410 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-17 23:07:41 +00:00
halleyscometsw
120b1d89e8
AICA for GENH
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@409 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-15 02:21:19 +00:00
fastelbja
a32c10afca
added meta ims from matrix
...
convert coding_xbox from interleave to none
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@403 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-08-10 20:08:03 +00:00
halleyscometsw
78a975e081
add type 9 genh, IMA
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@333 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-18 05:25:05 +00:00
halleyscometsw
1eba859222
some naming changes and such to make hcs happy, hopefully didn't break anything
...
changed _noninterleaved functions to _int and changed related descriptions appropriately
added an _int version of SDX2 and reverted to pre-322 behavior for normal deocder
made the various get_high_nibble globals all be the same vgmstream->get_high_nibble for thread safety and code consolidation (this required some changes to make decode functions take VGMSTREAM rather than VGMSTREAMCHANNEL)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@323 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-14 20:42:49 +00:00
halleyscometsw
dd3ed4d0ef
fix mpeg loop (I think) and disable gapless playback in mpg123 so it doesn't throw out samples
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@300 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-10 14:37:09 +00:00
halleyscometsw
97ebe328c8
support for mpeg audio in genh
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@292 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-06 15:33:38 +00:00
halleyscometsw
cbc4a75925
add DVI as an AIFF-C and GENH coding
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@272 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-02 01:41:20 +00:00
halleyscometsw
2e5b731833
add sdx2 as genh codec #6
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@267 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-01 16:10:18 +00:00
halleyscometsw
b2e33edb5b
add 8bit pcm genh support
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@264 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-01 03:19:02 +00:00
halleyscometsw
a5e93b1fb7
genh pcm interleave fix
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@250 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-06-18 10:40:35 +00:00
halleyscometsw
4823b00e4b
pcm genh
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@249 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-06-17 23:32:24 +00:00
halleyscometsw
20f30fcd73
doh, wrong var
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@224 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-06-13 23:01:12 +00:00
halleyscometsw
933053a1bb
fix a few genh goofs
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@222 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-06-12 23:50:45 +00:00
halleyscometsw
268f485fa7
genh: fix psx stereo, add gc adp/dtk, generally rewrite the format-specific bits
...
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@221 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-06-12 23:33:07 +00:00
halleyscometsw
6524994732
Add xbox ima genh support.
...
Also fix xbox ima decoder, it was wrong if the decode didn't always start at the block start. Note that this and the nds ima decoder both rely on being run through the file linearly.
I wasn't able to test this on mono wavm or xwav yet, but I think it ought to work.
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@217 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-06-10 01:20:54 +00:00