mirror of
https://github.com/vgmstream/vgmstream.git
synced 2024-11-28 08:20:54 +01:00
Minor cleanup
This commit is contained in:
parent
9a4c80cdd5
commit
d57b986523
@ -109,10 +109,10 @@ void decode_ea_xas_v0(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspa
|
|||||||
void decode_ea_xas_v1(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
void decode_ea_xas_v1(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int channel);
|
||||||
|
|
||||||
/* sdx2_decoder */
|
/* sdx2_decoder */
|
||||||
void decode_sdx2(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
void decode_sdx2(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
||||||
void decode_sdx2_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
void decode_sdx2_int(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
||||||
void decode_cbd2(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
void decode_cbd2(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
||||||
void decode_cbd2_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
void decode_cbd2_int(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
||||||
|
|
||||||
/* ws_decoder */
|
/* ws_decoder */
|
||||||
void decode_ws(VGMSTREAM * vgmstream, int channel, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
void decode_ws(VGMSTREAM * vgmstream, int channel, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do);
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
/* SDX2 - 2:1 Squareroot-delta-exact compression */
|
/* SDX2 - 2:1 Squareroot-delta-exact compression */
|
||||||
/* CBD2 - 2:1 Cuberoot-delta-exact compression (from the unreleased 3DO M2) */
|
/* CBD2 - 2:1 Cuberoot-delta-exact compression (from the unreleased 3DO M2) */
|
||||||
|
|
||||||
/* for (i=-128;i<128;i++) squares[i+128]=i<0?(-i*i)*2:(i*i)*2; */
|
/* for (i=-128;i<128;i++) { squares[i+128] = i<0?(-i*i)*2:(i*i)*2; } */
|
||||||
static int16_t squares[256] = {
|
static int16_t squares[256] = {
|
||||||
-32768,-32258,-31752,-31250,-30752,-30258,-29768,-29282,-28800,-28322,-27848,
|
-32768,-32258,-31752,-31250,-30752,-30258,-29768,-29282,-28800,-28322,-27848,
|
||||||
-27378,-26912,-26450,-25992,-25538,-25088,-24642,-24200,-23762,-23328,-22898,
|
-27378,-26912,-26450,-25992,-25538,-25088,-24642,-24200,-23762,-23328,-22898,
|
||||||
-22472,-22050,-21632,-21218,-20808,-20402,-20000,-19602,-19208,-18818,-18432,
|
-22472,-22050,-21632,-21218,-20808,-20402,-20000,-19602,-19208,-18818,-18432,
|
||||||
-18050,-17672,-17298,-16928,-16562,-16200,-15842,-15488,-15138,-14792,-14450,
|
-18050,-17672,-17298,-16928,-16562,-16200,-15842,-15488,-15138,-14792,-14450,
|
||||||
-14112,-13778,-13448,-13122,-12800,-12482,-12168,-11858,-11552,-11250,-10952,
|
-14112,-13778,-13448,-13122,-12800,-12482,-12168,-11858,-11552,-11250,-10952,
|
||||||
-10658,-10368,-10082, -9800, -9522, -9248, -8978, -8712, -8450, -8192, -7938,
|
-10658,-10368,-10082, -9800, -9522, -9248, -8978, -8712, -8450, -8192, -7938,
|
||||||
-7688, -7442, -7200, -6962, -6728, -6498, -6272, -6050, -5832, -5618, -5408,
|
-7688, -7442, -7200, -6962, -6728, -6498, -6272, -6050, -5832, -5618, -5408,
|
||||||
-5202, -5000, -4802, -4608, -4418, -4232, -4050, -3872, -3698, -3528, -3362,
|
-5202, -5000, -4802, -4608, -4418, -4232, -4050, -3872, -3698, -3528, -3362,
|
||||||
-3200, -3042, -2888, -2738, -2592, -2450, -2312, -2178, -2048, -1922, -1800,
|
-3200, -3042, -2888, -2738, -2592, -2450, -2312, -2178, -2048, -1922, -1800,
|
||||||
@ -33,16 +33,12 @@ static int16_t squares[256] = {
|
|||||||
31250, 31752, 32258
|
31250, 31752, 32258
|
||||||
};
|
};
|
||||||
|
|
||||||
//for (i=-128;i<128;i++)
|
/* for (i=-128;i<128;i++) { double j = (i/2)/2.0; cubes[i+128] = floor(j*j*j); } */
|
||||||
//{
|
static int16_t cubes[256] = {
|
||||||
// double j = (i/2)/2.0;
|
-32768,-31256,-31256,-29791,-29791,-28373,-28373,-27000,-27000,-25672,-25672,
|
||||||
// cubes[i+128]=floor(j*j*j);
|
-24389,-24389,-23149,-23149,-21952,-21952,-20797,-20797,-19683,-19683,-18610,
|
||||||
//}
|
-18610,-17576,-17576,-16581,-16581,-15625,-15625,-14706,-14706,-13824,-13824,
|
||||||
static int16_t cubes[256]={
|
-12978,-12978,-12167,-12167,-11391,-11391,-10648,-10648, -9938, -9938, -9261,
|
||||||
-32768,-31256,-31256,-29791,-29791,-28373,-28373,-27000,-27000,-25672,-25672,
|
|
||||||
-24389,-24389,-23149,-23149,-21952,-21952,-20797,-20797,-19683,-19683,-18610,
|
|
||||||
-18610,-17576,-17576,-16581,-16581,-15625,-15625,-14706,-14706,-13824,-13824,
|
|
||||||
-12978,-12978,-12167,-12167,-11391,-11391,-10648,-10648, -9938, -9938, -9261,
|
|
||||||
-9261, -8615, -8615, -8000, -8000, -7415, -7415, -6859, -6859, -6332, -6332,
|
-9261, -8615, -8615, -8000, -8000, -7415, -7415, -6859, -6859, -6332, -6332,
|
||||||
-5832, -5832, -5359, -5359, -4913, -4913, -4492, -4492, -4096, -4096, -3724,
|
-5832, -5832, -5359, -5359, -4913, -4913, -4492, -4492, -4096, -4096, -3724,
|
||||||
-3724, -3375, -3375, -3049, -3049, -2744, -2744, -2460, -2460, -2197, -2197,
|
-3724, -3375, -3375, -3049, -3049, -2744, -2744, -2460, -2460, -2197, -2197,
|
||||||
@ -62,15 +58,16 @@ static int16_t cubes[256]={
|
|||||||
12167, 12167, 12978, 12978, 13824, 13824, 14706, 14706, 15625, 15625, 16581,
|
12167, 12167, 12978, 12978, 13824, 13824, 14706, 14706, 15625, 15625, 16581,
|
||||||
16581, 17576, 17576, 18610, 18610, 19683, 19683, 20797, 20797, 21952, 21952,
|
16581, 17576, 17576, 18610, 18610, 19683, 19683, 20797, 20797, 21952, 21952,
|
||||||
23149, 23149, 24389, 24389, 25672, 25672, 27000, 27000, 28373, 28373, 29791,
|
23149, 23149, 24389, 24389, 25672, 25672, 27000, 27000, 28373, 28373, 29791,
|
||||||
29791, 31256, 31256};
|
29791, 31256, 31256
|
||||||
static void decode_delta_exact(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int16_t * table) {
|
};
|
||||||
|
|
||||||
|
static void decode_delta_exact(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int16_t * table) {
|
||||||
int32_t hist = stream->adpcm_history1_32;
|
int32_t hist = stream->adpcm_history1_32;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int32_t sample_count;
|
int32_t sample_count = 0;
|
||||||
|
|
||||||
for (i=first_sample,sample_count=0; i<first_sample+samples_to_do; i++,sample_count+=channelspacing) {
|
for (i=first_sample; i<first_sample+samples_to_do; i++,sample_count+=channelspacing) {
|
||||||
int8_t sample_byte = read_8bit(stream->offset+i,stream->streamfile);
|
int8_t sample_byte = read_8bit(stream->offset+i,stream->streamfile);
|
||||||
int16_t sample;
|
int16_t sample;
|
||||||
|
|
||||||
@ -79,17 +76,17 @@ static void decode_delta_exact(VGMSTREAMCHANNEL * stream, sample * outbuf, int c
|
|||||||
|
|
||||||
hist = outbuf[sample_count] = clamp16(sample);
|
hist = outbuf[sample_count] = clamp16(sample);
|
||||||
}
|
}
|
||||||
stream->adpcm_history1_32=hist;
|
|
||||||
|
stream->adpcm_history1_32 = hist;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void decode_delta_exact_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int16_t * table) {
|
static void decode_delta_exact_int(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do, int16_t * table) {
|
||||||
|
|
||||||
int32_t hist = stream->adpcm_history1_32;
|
int32_t hist = stream->adpcm_history1_32;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int32_t sample_count;
|
int32_t sample_count = 0;
|
||||||
|
|
||||||
for (i=first_sample,sample_count=0; i<first_sample+samples_to_do; i++,sample_count+=channelspacing) {
|
for (i=first_sample; i<first_sample+samples_to_do; i++,sample_count+=channelspacing) {
|
||||||
int8_t sample_byte = read_8bit(stream->offset+i*channelspacing,stream->streamfile);
|
int8_t sample_byte = read_8bit(stream->offset+i*channelspacing,stream->streamfile);
|
||||||
int16_t sample;
|
int16_t sample;
|
||||||
|
|
||||||
@ -98,21 +95,22 @@ static void decode_delta_exact_int(VGMSTREAMCHANNEL * stream, sample * outbuf, i
|
|||||||
|
|
||||||
hist = outbuf[sample_count] = clamp16(sample);
|
hist = outbuf[sample_count] = clamp16(sample);
|
||||||
}
|
}
|
||||||
stream->adpcm_history1_32=hist;
|
|
||||||
|
stream->adpcm_history1_32 = hist;
|
||||||
}
|
}
|
||||||
|
|
||||||
void decode_sdx2(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
void decode_sdx2(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
||||||
decode_delta_exact(stream, outbuf, channelspacing, first_sample, samples_to_do, squares);
|
decode_delta_exact(stream, outbuf, channelspacing, first_sample, samples_to_do, squares);
|
||||||
}
|
}
|
||||||
|
|
||||||
void decode_sdx2_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
void decode_sdx2_int(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
||||||
decode_delta_exact_int(stream, outbuf, channelspacing, first_sample, samples_to_do, squares);
|
decode_delta_exact_int(stream, outbuf, channelspacing, first_sample, samples_to_do, squares);
|
||||||
}
|
}
|
||||||
|
|
||||||
void decode_cbd2(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
void decode_cbd2(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
||||||
decode_delta_exact(stream, outbuf, channelspacing, first_sample, samples_to_do, cubes);
|
decode_delta_exact(stream, outbuf, channelspacing, first_sample, samples_to_do, cubes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void decode_cbd2_int(VGMSTREAMCHANNEL * stream, sample * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
void decode_cbd2_int(VGMSTREAMCHANNEL * stream, sample_t * outbuf, int channelspacing, int32_t first_sample, int32_t samples_to_do) {
|
||||||
decode_delta_exact_int(stream, outbuf, channelspacing, first_sample, samples_to_do, cubes);
|
decode_delta_exact_int(stream, outbuf, channelspacing, first_sample, samples_to_do, cubes);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user