add 8bit pcm genh support

git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@264 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
This commit is contained in:
halleyscometsw 2008-07-01 03:19:02 +00:00
parent 846d6e578c
commit b2e33edb5b

View File

@ -35,6 +35,7 @@ VGMSTREAM * init_vgmstream_genh(STREAMFILE *streamFile) {
/* 2 = NGC ADP/DTK ADPCM */ /* 2 = NGC ADP/DTK ADPCM */
/* 3 = 16bit big endian PCM */ /* 3 = 16bit big endian PCM */
/* 4 = 16bit little endian PCM */ /* 4 = 16bit little endian PCM */
/* 5 - 8bit PCM */
/* ... others to come */ /* ... others to come */
switch (read_32bitLE(0x18,streamFile)) { switch (read_32bitLE(0x18,streamFile)) {
case 0: case 0:
@ -53,6 +54,9 @@ VGMSTREAM * init_vgmstream_genh(STREAMFILE *streamFile) {
case 4: case 4:
coding = coding_PCM16LE; coding = coding_PCM16LE;
break; break;
case 5:
coding = coding_PCM8;
break;
default: default:
goto fail; goto fail;
} }
@ -93,6 +97,7 @@ VGMSTREAM * init_vgmstream_genh(STREAMFILE *streamFile) {
switch (coding) { switch (coding) {
case coding_PCM16LE: case coding_PCM16LE:
case coding_PCM16BE: case coding_PCM16BE:
case coding_PCM8:
case coding_PSX: case coding_PSX:
vgmstream->interleave_block_size = interleave; vgmstream->interleave_block_size = interleave;
if (channel_count > 1) if (channel_count > 1)
@ -126,6 +131,7 @@ VGMSTREAM * init_vgmstream_genh(STREAMFILE *streamFile) {
case coding_PSX: case coding_PSX:
case coding_PCM16BE: case coding_PCM16BE:
case coding_PCM16LE: case coding_PCM16LE:
case coding_PCM8:
if (vgmstream->layout_type == layout_interleave) { if (vgmstream->layout_type == layout_interleave) {
if (interleave >= 512) { if (interleave >= 512) {
chstreamfile = chstreamfile =