mpc: moved sample size into a constant
Don't hard-code the "16 bits" or "2 bytes" in multiple locations.
This commit is contained in:
@@ -68,18 +68,22 @@ static inline int16_t convertSample(MPC_SAMPLE_FORMAT sample)
|
|||||||
/* only doing 16-bit audio for now */
|
/* only doing 16-bit audio for now */
|
||||||
int32_t val;
|
int32_t val;
|
||||||
|
|
||||||
const int clip_min = -1 << (16 - 1);
|
enum {
|
||||||
const int clip_max = (1 << (16 - 1)) - 1;
|
bits = 16,
|
||||||
|
};
|
||||||
|
|
||||||
|
const int clip_min = -1 << (bits - 1);
|
||||||
|
const int clip_max = (1 << (bits - 1)) - 1;
|
||||||
|
|
||||||
#ifdef MPC_FIXED_POINT
|
#ifdef MPC_FIXED_POINT
|
||||||
const int shift = 16 - MPC_FIXED_POINT_SCALE_SHIFT;
|
const int shift = bits - MPC_FIXED_POINT_SCALE_SHIFT;
|
||||||
|
|
||||||
if (shift < 0)
|
if (shift < 0)
|
||||||
val = sample << -shift;
|
val = sample << -shift;
|
||||||
else
|
else
|
||||||
val = sample << shift;
|
val = sample << shift;
|
||||||
#else
|
#else
|
||||||
const int float_scale = 1 << (16 - 1);
|
const int float_scale = 1 << (bits - 1);
|
||||||
|
|
||||||
val = sample * float_scale;
|
val = sample * float_scale;
|
||||||
#endif
|
#endif
|
||||||
@@ -191,7 +195,7 @@ mpc_decode(struct decoder *mpd_decoder, struct input_stream *inStream)
|
|||||||
for (i = 0; i < ret; i++) {
|
for (i = 0; i < ret; i++) {
|
||||||
/* 16 bit audio again */
|
/* 16 bit audio again */
|
||||||
*dest++ = convertSample(sample_buffer[i]);
|
*dest++ = convertSample(sample_buffer[i]);
|
||||||
chunkpos += 2;
|
chunkpos += sizeof(*dest);
|
||||||
|
|
||||||
if (chunkpos >= MPC_CHUNK_SIZE) {
|
if (chunkpos >= MPC_CHUNK_SIZE) {
|
||||||
total_time = ((float)samplePos) /
|
total_time = ((float)samplePos) /
|
||||||
|
Reference in New Issue
Block a user