mirror of
https://github.com/vgmstream/vgmstream.git
synced 2024-12-01 01:27:20 +01:00
Minor tweaks/comments/renames/etc
This commit is contained in:
parent
2a312e8562
commit
d0be7e0c36
@ -413,6 +413,7 @@ bool input_vgmstream::get_description_tag(pfc::string_base & temp, pfc::string_b
|
|||||||
eos = description.find_first(delimiter, pos);
|
eos = description.find_first(delimiter, pos);
|
||||||
if (eos == pfc::infinite_size) eos = description.length();
|
if (eos == pfc::infinite_size) eos = description.length();
|
||||||
temp.set_string(description + pos, eos - pos);
|
temp.set_string(description + pos, eos - pos);
|
||||||
|
//console::formatter() << "tag=" << tag << ", delim=" << delimiter << "temp=" << temp << ", pos=" << pos << "" << eos;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -42,7 +42,7 @@ static const int IMA_IndexTable[16] =
|
|||||||
|
|
||||||
|
|
||||||
/* Standard IMA (most common) */
|
/* Standard IMA (most common) */
|
||||||
static void ms_ima_expand_nibble(VGMSTREAMCHANNEL * stream, off_t byte_offset, int nibble_shift, int32_t * hist1, int32_t * step_index) {
|
static void std_ima_expand_nibble(VGMSTREAMCHANNEL * stream, off_t byte_offset, int nibble_shift, int32_t * hist1, int32_t * step_index) {
|
||||||
int sample_nibble, sample_decoded, step, delta;
|
int sample_nibble, sample_decoded, step, delta;
|
||||||
|
|
||||||
sample_nibble = (read_8bit(byte_offset,stream->streamfile) >> nibble_shift)&0xf;
|
sample_nibble = (read_8bit(byte_offset,stream->streamfile) >> nibble_shift)&0xf;
|
||||||
@ -64,7 +64,7 @@ static void ms_ima_expand_nibble(VGMSTREAMCHANNEL * stream, off_t byte_offset, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Apple's IMA variation. Exactly the same except it uses 16b history (probably more sensitive to overflow/sign extend) */
|
/* Apple's IMA variation. Exactly the same except it uses 16b history (probably more sensitive to overflow/sign extend) */
|
||||||
static void ms_ima_expand_nibble_16(VGMSTREAMCHANNEL * stream, off_t byte_offset, int nibble_shift, int16_t * hist1, int32_t * step_index) {
|
static void std_ima_expand_nibble_16(VGMSTREAMCHANNEL * stream, off_t byte_offset, int nibble_shift, int16_t * hist1, int32_t * step_index) {
|
||||||
int sample_nibble, sample_decoded, step, delta;
|
int sample_nibble, sample_decoded, step, delta;
|
||||||
|
|
||||||
sample_nibble = (read_8bit(byte_offset,stream->streamfile) >> nibble_shift)&0xf;
|
sample_nibble = (read_8bit(byte_offset,stream->streamfile) >> nibble_shift)&0xf;
|
||||||
@ -196,7 +196,7 @@ void decode_standard_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channel
|
|||||||
is_stereo ? (!(channel&1) ? 4:0) : (!(i&1) ? 4:0) : /* even = high, odd = low */
|
is_stereo ? (!(channel&1) ? 4:0) : (!(i&1) ? 4:0) : /* even = high, odd = low */
|
||||||
is_stereo ? (!(channel&1) ? 0:4) : (!(i&1) ? 0:4); /* even = low, odd = high */
|
is_stereo ? (!(channel&1) ? 0:4) : (!(i&1) ? 0:4); /* even = low, odd = high */
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -301,7 +301,7 @@ void decode_ms_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * out
|
|||||||
off_t byte_offset = stream->offset + 4*channel + 4*vgmstream->channels + i/8*4*vgmstream->channels + (i%8)/2;
|
off_t byte_offset = stream->offset + 4*channel + 4*vgmstream->channels + i/8*4*vgmstream->channels + (i%8)/2;
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -347,7 +347,7 @@ void decode_xbox_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * o
|
|||||||
stream->offset + 4*(channel%2) + 4*2 + i/8*4*2 + (i%8)/2;
|
stream->offset + 4*(channel%2) + 4*2 + i/8*4*2 + (i%8)/2;
|
||||||
nibble_shift = (i&1?4:0); //low nibble first
|
nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,7 +397,7 @@ void decode_xbox_ima_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channel
|
|||||||
|
|
||||||
//last nibble/sample in block is ignored (next header sample contains it)
|
//last nibble/sample in block is ignored (next header sample contains it)
|
||||||
if (i < block_samples) {
|
if (i < block_samples) {
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
sample_count += channelspacing;
|
sample_count += channelspacing;
|
||||||
}
|
}
|
||||||
@ -429,7 +429,7 @@ void decode_nds_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspaci
|
|||||||
off_t byte_offset = stream->offset + 4 + i/2;
|
off_t byte_offset = stream->offset + 4 + i/2;
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -459,7 +459,7 @@ void decode_dat4_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspac
|
|||||||
off_t byte_offset = stream->offset + 4 + i/2;
|
off_t byte_offset = stream->offset + 4 + i/2;
|
||||||
int nibble_shift = (i&1?0:4); //high nibble first
|
int nibble_shift = (i&1?0:4); //high nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -491,7 +491,7 @@ void decode_rad_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * ou
|
|||||||
off_t byte_offset = stream->offset + 4*vgmstream->channels + channel + i/2*vgmstream->channels;
|
off_t byte_offset = stream->offset + 4*vgmstream->channels + channel + i/2*vgmstream->channels;
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -526,7 +526,7 @@ void decode_rad_ima_mono(VGMSTREAMCHANNEL * stream, sample * outbuf, int channel
|
|||||||
off_t byte_offset = stream->offset + 4 + i/2;
|
off_t byte_offset = stream->offset + 4 + i/2;
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -558,7 +558,7 @@ void decode_apple_ima4(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelsp
|
|||||||
off_t byte_offset = (stream->offset + 0x22*num_frame + 0x2) + i/2;
|
off_t byte_offset = (stream->offset + 0x22*num_frame + 0x2) + i/2;
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble_16(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble_16(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -591,7 +591,7 @@ void decode_fsb_ima(VGMSTREAM * vgmstream, VGMSTREAMCHANNEL * stream, sample * o
|
|||||||
off_t byte_offset = stream->offset + 4*vgmstream->channels + 2*channel + i/4*2*vgmstream->channels + (i%4)/2;//2-byte per channel
|
off_t byte_offset = stream->offset + 4*vgmstream->channels + 2*channel + i/4*2*vgmstream->channels + (i%4)/2;//2-byte per channel
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -636,7 +636,7 @@ void decode_wwise_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample *
|
|||||||
|
|
||||||
//last nibble/sample in block is ignored (next header sample contains it)
|
//last nibble/sample in block is ignored (next header sample contains it)
|
||||||
if (i < block_samples) {
|
if (i < block_samples) {
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
sample_count+=channelspacing;
|
sample_count+=channelspacing;
|
||||||
//todo atenuation: apparently from hcs's analysis Wwise IMA decodes nibbles slightly different, reducing dbs
|
//todo atenuation: apparently from hcs's analysis Wwise IMA decodes nibbles slightly different, reducing dbs
|
||||||
@ -677,7 +677,7 @@ void decode_ref_ima(VGMSTREAM * vgmstream,VGMSTREAMCHANNEL * stream, sample * ou
|
|||||||
off_t byte_offset = stream->offset + 4*vgmstream->channels + block_channel_size*channel + i/2;
|
off_t byte_offset = stream->offset + 4*vgmstream->channels + block_channel_size*channel + i/2;
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -712,7 +712,7 @@ void decode_awc_ima(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspaci
|
|||||||
off_t byte_offset = stream->offset + 4 + i/2;
|
off_t byte_offset = stream->offset + 4 + i/2;
|
||||||
int nibble_shift = (i&1?4:0); //low nibble first
|
int nibble_shift = (i&1?4:0); //low nibble first
|
||||||
|
|
||||||
ms_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
std_ima_expand_nibble(stream, byte_offset,nibble_shift, &hist1, &step_index);
|
||||||
outbuf[sample_count] = (short)(hist1);
|
outbuf[sample_count] = (short)(hist1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -571,8 +571,8 @@ static const meta_info meta_info_list[] = {
|
|||||||
{meta_UTF_DSP, "CRI ADPCM_WII header"},
|
{meta_UTF_DSP, "CRI ADPCM_WII header"},
|
||||||
{meta_DSP_AGSC, "Retro Studios AGSC header"},
|
{meta_DSP_AGSC, "Retro Studios AGSC header"},
|
||||||
{meta_DSP_CSMP, "Retro Studios CSMP header"},
|
{meta_DSP_CSMP, "Retro Studios CSMP header"},
|
||||||
{meta_NGC_ADPDTK, "assumed Nintendo ADP by .adp extension and valid first frame"},
|
{meta_NGC_ADPDTK, "Nintendo ADP raw header"},
|
||||||
{meta_RSF, "assumed Retro Studios RSF by .rsf extension and valid first bytes"},
|
{meta_RSF, "Retro Studios RSF raw header"},
|
||||||
{meta_AFC, "Nintendo AFC header"},
|
{meta_AFC, "Nintendo AFC header"},
|
||||||
{meta_AST, "Nintendo AST header"},
|
{meta_AST, "Nintendo AST header"},
|
||||||
{meta_HALPST, "HAL Laboratory HALPST header"},
|
{meta_HALPST, "HAL Laboratory HALPST header"},
|
||||||
@ -692,6 +692,7 @@ static const meta_info meta_info_list[] = {
|
|||||||
{meta_XBOX_XVAS, "assumed TMNT file by .xvas extension"},
|
{meta_XBOX_XVAS, "assumed TMNT file by .xvas extension"},
|
||||||
{meta_PS2_XA2, "Acclaim XA2 Header"},
|
{meta_PS2_XA2, "Acclaim XA2 Header"},
|
||||||
{meta_DC_IDVI, "Capcom IDVI header"},
|
{meta_DC_IDVI, "Capcom IDVI header"},
|
||||||
|
{meta_KRAW, "Geometry Wars: Galaxies KRAW header"},
|
||||||
{meta_NGC_YMF, "YMF DSP Header"},
|
{meta_NGC_YMF, "YMF DSP Header"},
|
||||||
{meta_PS2_CCC, "CCC Header"},
|
{meta_PS2_CCC, "CCC Header"},
|
||||||
{meta_PSX_FAG, "FAG Header"},
|
{meta_PSX_FAG, "FAG Header"},
|
||||||
|
@ -301,7 +301,7 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\meta\Cstr.c"
|
RelativePath=".\meta\cstr.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
|
@ -210,7 +210,7 @@
|
|||||||
<ClCompile Include="meta\brstm.c" />
|
<ClCompile Include="meta\brstm.c" />
|
||||||
<ClCompile Include="meta\btsnd.c" />
|
<ClCompile Include="meta\btsnd.c" />
|
||||||
<ClCompile Include="meta\capdsp.c" />
|
<ClCompile Include="meta\capdsp.c" />
|
||||||
<ClCompile Include="meta\Cstr.c" />
|
<ClCompile Include="meta\cstr.c" />
|
||||||
<ClCompile Include="meta\dc_asd.c" />
|
<ClCompile Include="meta\dc_asd.c" />
|
||||||
<ClCompile Include="meta\dc_dcsw_dcs.c" />
|
<ClCompile Include="meta\dc_dcsw_dcs.c" />
|
||||||
<ClCompile Include="meta\dc_idvi.c" />
|
<ClCompile Include="meta\dc_idvi.c" />
|
||||||
|
@ -172,7 +172,7 @@
|
|||||||
<ClCompile Include="meta\capdsp.c">
|
<ClCompile Include="meta\capdsp.c">
|
||||||
<Filter>meta\Source Files</Filter>
|
<Filter>meta\Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="meta\Cstr.c">
|
<ClCompile Include="meta\cstr.c">
|
||||||
<Filter>meta\Source Files</Filter>
|
<Filter>meta\Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="meta\dc_asd.c">
|
<ClCompile Include="meta\dc_asd.c">
|
||||||
|
@ -3,8 +3,7 @@
|
|||||||
#include "../util.h"
|
#include "../util.h"
|
||||||
|
|
||||||
/* .dsp w/ Cstr header, seen in Star Fox Assault and Donkey Konga */
|
/* .dsp w/ Cstr header, seen in Star Fox Assault and Donkey Konga */
|
||||||
|
VGMSTREAM * init_vgmstream_cstr(STREAMFILE *streamFile) {
|
||||||
VGMSTREAM * init_vgmstream_Cstr(STREAMFILE *streamFile) {
|
|
||||||
VGMSTREAM * vgmstream = NULL;
|
VGMSTREAM * vgmstream = NULL;
|
||||||
char filename[PATH_LIMIT];
|
char filename[PATH_LIMIT];
|
||||||
|
|
@ -220,13 +220,13 @@ VGMSTREAM * init_vgmstream_genh(STREAMFILE *streamFile) {
|
|||||||
for (i=0;i<vgmstream->channels;i++) {
|
for (i=0;i<vgmstream->channels;i++) {
|
||||||
int16_t (*read_16bit)(off_t , STREAMFILE*) = genh.coef_big_endian ? read_16bitBE : read_16bitLE;
|
int16_t (*read_16bit)(off_t , STREAMFILE*) = genh.coef_big_endian ? read_16bitBE : read_16bitLE;
|
||||||
|
|
||||||
/* normal/split coefs */
|
/* normal/split coefs bit flag */
|
||||||
if ((genh.coef_type & 1) == 0) { /* bit 0 - split coefs (2 arrays) */
|
if ((genh.coef_type & 1) == 0) { /* not set: normal coefs, all 16 interleaved into one array */
|
||||||
for (j=0;j<16;j++) {
|
for (j=0;j<16;j++) {
|
||||||
vgmstream->ch[i].adpcm_coef[j] = read_16bit(genh.coef[i]+j*2,streamFile);
|
vgmstream->ch[i].adpcm_coef[j] = read_16bit(genh.coef[i]+j*2,streamFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else { /* set: split coefs, 8 coefs in the main array, additional offset to 2nd array given at 0x34 for left, 0x38 for right */
|
||||||
for (j=0;j<8;j++) {
|
for (j=0;j<8;j++) {
|
||||||
vgmstream->ch[i].adpcm_coef[j*2]=read_16bit(genh.coef[i]+j*2,streamFile);
|
vgmstream->ch[i].adpcm_coef[j*2]=read_16bit(genh.coef[i]+j*2,streamFile);
|
||||||
vgmstream->ch[i].adpcm_coef[j*2+1]=read_16bit(genh.coef_splitted[i]+j*2,streamFile);
|
vgmstream->ch[i].adpcm_coef[j*2+1]=read_16bit(genh.coef_splitted[i]+j*2,streamFile);
|
||||||
@ -353,8 +353,8 @@ static int parse_genh(STREAMFILE * streamFile, genh_header * genh) {
|
|||||||
genh->coef_interleave_type = read_32bitLE(0x2C,streamFile);
|
genh->coef_interleave_type = read_32bitLE(0x2C,streamFile);
|
||||||
|
|
||||||
/* DSP coefficient variants */
|
/* DSP coefficient variants */
|
||||||
/* bit 0 - split coefs (2 arrays) */
|
/* bit 0 flag - split coefs (2 arrays) */
|
||||||
/* bit 1 - little endian coefs */
|
/* bit 1 flag - little endian coefs (for some 3DS) */
|
||||||
genh->coef_type = read_32bitLE(0x30,streamFile);
|
genh->coef_type = read_32bitLE(0x30,streamFile);
|
||||||
genh->coef_big_endian = ((genh->coef_type & 2) == 0);
|
genh->coef_big_endian = ((genh->coef_type & 2) == 0);
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ VGMSTREAM * init_vgmstream_ast(STREAMFILE *streamFile);
|
|||||||
|
|
||||||
VGMSTREAM * init_vgmstream_brstm(STREAMFILE *streamFile);
|
VGMSTREAM * init_vgmstream_brstm(STREAMFILE *streamFile);
|
||||||
|
|
||||||
VGMSTREAM * init_vgmstream_Cstr(STREAMFILE *streamFile);
|
VGMSTREAM * init_vgmstream_cstr(STREAMFILE *streamFile);
|
||||||
|
|
||||||
VGMSTREAM * init_vgmstream_gcsw(STREAMFILE *streamFile);
|
VGMSTREAM * init_vgmstream_gcsw(STREAMFILE *streamFile);
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ VGMSTREAM * (*init_vgmstream_functions[])(STREAMFILE *streamFile) = {
|
|||||||
init_vgmstream_ngc_dsp_std,
|
init_vgmstream_ngc_dsp_std,
|
||||||
init_vgmstream_ngc_mdsp_std,
|
init_vgmstream_ngc_mdsp_std,
|
||||||
init_vgmstream_ngc_dsp_csmp,
|
init_vgmstream_ngc_dsp_csmp,
|
||||||
init_vgmstream_Cstr,
|
init_vgmstream_cstr,
|
||||||
init_vgmstream_gcsw,
|
init_vgmstream_gcsw,
|
||||||
init_vgmstream_ps2_ads,
|
init_vgmstream_ps2_ads,
|
||||||
init_vgmstream_ps2_npsf,
|
init_vgmstream_ps2_npsf,
|
||||||
@ -388,9 +388,6 @@ static VGMSTREAM * init_vgmstream_internal(STREAMFILE *streamFile) {
|
|||||||
if (!vgmstream)
|
if (!vgmstream)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
{
|
|
||||||
/* these are little hacky checks */
|
|
||||||
|
|
||||||
/* fail if there is nothing to play (without this check vgmstream can generate empty files) */
|
/* fail if there is nothing to play (without this check vgmstream can generate empty files) */
|
||||||
if (vgmstream->num_samples <= 0) {
|
if (vgmstream->num_samples <= 0) {
|
||||||
VGM_LOG("VGMSTREAM: wrong num_samples (ns=%i / 0x%08x)\n", vgmstream->num_samples, vgmstream->num_samples);
|
VGM_LOG("VGMSTREAM: wrong num_samples (ns=%i / 0x%08x)\n", vgmstream->num_samples, vgmstream->num_samples);
|
||||||
@ -415,7 +412,7 @@ static VGMSTREAM * init_vgmstream_internal(STREAMFILE *streamFile) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dual file stereo */
|
/* test if candidate for dual stereo */
|
||||||
if (vgmstream->channels == 1 && (
|
if (vgmstream->channels == 1 && (
|
||||||
(vgmstream->meta_type == meta_DSP_STD) ||
|
(vgmstream->meta_type == meta_DSP_STD) ||
|
||||||
(vgmstream->meta_type == meta_PS2_VAGp) ||
|
(vgmstream->meta_type == meta_PS2_VAGp) ||
|
||||||
@ -436,6 +433,21 @@ static VGMSTREAM * init_vgmstream_internal(STREAMFILE *streamFile) {
|
|||||||
try_dual_file_stereo(vgmstream, streamFile, init_vgmstream_functions[i]);
|
try_dual_file_stereo(vgmstream, streamFile, init_vgmstream_functions[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef VGM_DEBUG_OUTPUT
|
||||||
|
/* debug fun */
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
/* probable segfault but some layouts/codecs could ignore these */
|
||||||
|
for (i = 0; i < vgmstream->channels; i++) {
|
||||||
|
VGM_ASSERT(vgmstream->ch[i].streamfile == NULL, "VGMSTREAM: null streamfile in ch%i\n",i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif/*VGM_DEBUG_OUTPUT*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef VGM_USE_FFMPEG
|
#ifdef VGM_USE_FFMPEG
|
||||||
/* check FFmpeg streams here, for lack of a better place */
|
/* check FFmpeg streams here, for lack of a better place */
|
||||||
if (vgmstream->coding_type == coding_FFmpeg) {
|
if (vgmstream->coding_type == coding_FFmpeg) {
|
||||||
@ -450,15 +462,13 @@ static VGMSTREAM * init_vgmstream_internal(STREAMFILE *streamFile) {
|
|||||||
vgmstream->stream_index = streamFile->stream_index;
|
vgmstream->stream_index = streamFile->stream_index;
|
||||||
|
|
||||||
/* save start things so we can restart for seeking */
|
/* save start things so we can restart for seeking */
|
||||||
/* copy the channels */
|
|
||||||
memcpy(vgmstream->start_ch,vgmstream->ch,sizeof(VGMSTREAMCHANNEL)*vgmstream->channels);
|
memcpy(vgmstream->start_ch,vgmstream->ch,sizeof(VGMSTREAMCHANNEL)*vgmstream->channels);
|
||||||
/* copy the whole VGMSTREAM */
|
|
||||||
memcpy(vgmstream->start_vgmstream,vgmstream,sizeof(VGMSTREAM));
|
memcpy(vgmstream->start_vgmstream,vgmstream,sizeof(VGMSTREAM));
|
||||||
|
|
||||||
return vgmstream;
|
return vgmstream;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
/* not supported */
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,7 +281,7 @@ typedef enum {
|
|||||||
|
|
||||||
/* Nintendo */
|
/* Nintendo */
|
||||||
meta_STRM, /* Nintendo STRM */
|
meta_STRM, /* Nintendo STRM */
|
||||||
meta_RSTM, /* Nintendo RSTM (similar to STRM) */
|
meta_RSTM, /* Nintendo RSTM (Revolution Stream, similar to STRM) */
|
||||||
meta_AFC, /* AFC */
|
meta_AFC, /* AFC */
|
||||||
meta_AST, /* AST */
|
meta_AST, /* AST */
|
||||||
meta_RWSD, /* single-stream RWSD */
|
meta_RWSD, /* single-stream RWSD */
|
||||||
@ -306,7 +306,6 @@ typedef enum {
|
|||||||
meta_UTF_DSP, /* CRI ADPCM_WII, like AAX with DSP */
|
meta_UTF_DSP, /* CRI ADPCM_WII, like AAX with DSP */
|
||||||
|
|
||||||
meta_NGC_ADPDTK, /* NGC DTK/ADP (.adp/dkt DTK) [no header_id] */
|
meta_NGC_ADPDTK, /* NGC DTK/ADP (.adp/dkt DTK) [no header_id] */
|
||||||
meta_kRAW, /* almost headerless PCM */
|
|
||||||
meta_RSF, /* Retro Studios RSF (Metroid Prime .rsf) [no header_id] */
|
meta_RSF, /* Retro Studios RSF (Metroid Prime .rsf) [no header_id] */
|
||||||
meta_HALPST, /* HAL Labs HALPST */
|
meta_HALPST, /* HAL Labs HALPST */
|
||||||
meta_GCSW, /* GCSW (PCM) */
|
meta_GCSW, /* GCSW (PCM) */
|
||||||
@ -470,7 +469,7 @@ typedef enum {
|
|||||||
meta_WS_AUD, /* Westwood Studios .aud */
|
meta_WS_AUD, /* Westwood Studios .aud */
|
||||||
meta_WS_AUD_old, /* Westwood Studios .aud, old style */
|
meta_WS_AUD_old, /* Westwood Studios .aud, old style */
|
||||||
meta_RIFF_WAVE, /* RIFF, for WAVs */
|
meta_RIFF_WAVE, /* RIFF, for WAVs */
|
||||||
meta_RIFF_WAVE_POS, /* .wav + .pos for looping */
|
meta_RIFF_WAVE_POS, /* .wav + .pos for looping (Ys Complete PC) */
|
||||||
meta_RIFF_WAVE_labl, /* RIFF w/ loop Markers in LIST-adtl-labl */
|
meta_RIFF_WAVE_labl, /* RIFF w/ loop Markers in LIST-adtl-labl */
|
||||||
meta_RIFF_WAVE_smpl, /* RIFF w/ loop data in smpl chunk */
|
meta_RIFF_WAVE_smpl, /* RIFF w/ loop data in smpl chunk */
|
||||||
meta_RIFF_WAVE_MWV, /* .mwv RIFF w/ loop data in ctrl chunk pflt */
|
meta_RIFF_WAVE_MWV, /* .mwv RIFF w/ loop data in ctrl chunk pflt */
|
||||||
@ -590,8 +589,8 @@ typedef enum {
|
|||||||
meta_PS2_2PFS, // Konami: Mahoromatic: Moetto - KiraKira Maid-San, GANTZ (PS2)
|
meta_PS2_2PFS, // Konami: Mahoromatic: Moetto - KiraKira Maid-San, GANTZ (PS2)
|
||||||
meta_PS2_VBK, // Disney's Stitch - Experiment 626
|
meta_PS2_VBK, // Disney's Stitch - Experiment 626
|
||||||
meta_OTM, // Otomedius (Arcade)
|
meta_OTM, // Otomedius (Arcade)
|
||||||
meta_CSTM, // Nintendo 3DS CSTM
|
meta_CSTM, // Nintendo 3DS CSTM (Century Stream)
|
||||||
meta_FSTM, // Nintendo Wii U FSTM
|
meta_FSTM, // Nintendo Wii U FSTM (caFe? Stream)
|
||||||
meta_3DS_IDSP, // Nintendo 3DS/Wii U IDSP
|
meta_3DS_IDSP, // Nintendo 3DS/Wii U IDSP
|
||||||
meta_KT_WIIBGM, // Koei Tecmo WiiBGM
|
meta_KT_WIIBGM, // Koei Tecmo WiiBGM
|
||||||
meta_MCA, /* Capcom MCA "MADP" */
|
meta_MCA, /* Capcom MCA "MADP" */
|
||||||
|
Loading…
Reference in New Issue
Block a user