diff options
author | Max Kellermann <max@duempel.org> | 2013-02-01 13:50:10 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-02-01 14:10:27 +0100 |
commit | ef99d6ce3d9b82cb249ae08b390049a6f9cd9d56 (patch) | |
tree | 7e41014940911702613ee76f7305a2e4d0724f8c /src | |
parent | 0ac06d77f1d47398808935418153a14d1d858860 (diff) | |
download | mpd-ef99d6ce3d9b82cb249ae08b390049a6f9cd9d56.tar.gz mpd-ef99d6ce3d9b82cb249ae08b390049a6f9cd9d56.tar.xz mpd-ef99d6ce3d9b82cb249ae08b390049a6f9cd9d56.zip |
PcmUtils: remove pcm_range(), use PcmClamp() instead
Diffstat (limited to '')
-rw-r--r-- | src/PcmMix.cxx | 16 | ||||
-rw-r--r-- | src/PcmUtils.hxx | 24 | ||||
-rw-r--r-- | src/PcmVolume.cxx | 8 |
3 files changed, 12 insertions, 36 deletions
diff --git a/src/PcmMix.cxx b/src/PcmMix.cxx index 4f8f3882c..79a3ba645 100644 --- a/src/PcmMix.cxx +++ b/src/PcmMix.cxx @@ -37,7 +37,7 @@ pcm_add_vol_8(int8_t *buffer1, const int8_t *buffer2, pcm_volume_dither() + PCM_VOLUME_1 / 2) / PCM_VOLUME_1; - *buffer1++ = pcm_range(sample1, 8); + *buffer1++ = PcmClamp<int8_t, int32_t, 8>(sample1); --num_samples; } } @@ -54,7 +54,7 @@ pcm_add_vol_16(int16_t *buffer1, const int16_t *buffer2, pcm_volume_dither() + PCM_VOLUME_1 / 2) / PCM_VOLUME_1; - *buffer1++ = pcm_range(sample1, 16); + *buffer1++ = PcmClamp<int16_t, int32_t, 16>(sample1); --num_samples; } } @@ -71,7 +71,7 @@ pcm_add_vol_24(int32_t *buffer1, const int32_t *buffer2, pcm_volume_dither() + PCM_VOLUME_1 / 2) / PCM_VOLUME_1; - *buffer1++ = pcm_range(sample1, 24); + *buffer1++ = PcmClamp<int32_t, int64_t, 24>(sample1); --num_samples; } } @@ -88,7 +88,7 @@ pcm_add_vol_32(int32_t *buffer1, const int32_t *buffer2, pcm_volume_dither() + PCM_VOLUME_1 / 2) / PCM_VOLUME_1; - *buffer1++ = pcm_range_64(sample1, 32); + *buffer1++ = PcmClamp<int32_t, int64_t, 32>(sample1); --num_samples; } } @@ -160,7 +160,7 @@ pcm_add_8(int8_t *buffer1, const int8_t *buffer2, unsigned num_samples) sample1 += sample2; - *buffer1++ = pcm_range(sample1, 8); + *buffer1++ = PcmClamp<int8_t, int32_t, 8>(sample1); --num_samples; } } @@ -174,7 +174,7 @@ pcm_add_16(int16_t *buffer1, const int16_t *buffer2, unsigned num_samples) sample1 += sample2; - *buffer1++ = pcm_range(sample1, 16); + *buffer1++ = PcmClamp<int16_t, int32_t, 16>(sample1); --num_samples; } } @@ -188,7 +188,7 @@ pcm_add_24(int32_t *buffer1, const int32_t *buffer2, unsigned num_samples) sample1 += sample2; - *buffer1++ = pcm_range(sample1, 24); + *buffer1++ = PcmClamp<int32_t, int64_t, 24>(sample1); --num_samples; } } @@ -202,7 +202,7 @@ pcm_add_32(int32_t *buffer1, const int32_t *buffer2, unsigned num_samples) sample1 += sample2; - *buffer1++ = pcm_range_64(sample1, 32); + *buffer1++ = PcmClamp<int32_t, int64_t, 32>(sample1); --num_samples; } } diff --git a/src/PcmUtils.hxx b/src/PcmUtils.hxx index 7c7173d8c..d77c4194a 100644 --- a/src/PcmUtils.hxx +++ b/src/PcmUtils.hxx @@ -42,30 +42,6 @@ pcm_end_pointer(const T *p, size_t size) * Check if the value is within the range of the provided bit size, * and caps it if necessary. */ -static inline int32_t -pcm_range(int32_t sample, unsigned bits) -{ - if (gcc_unlikely(sample < (-1 << (bits - 1)))) - return -1 << (bits - 1); - if (gcc_unlikely(sample >= (1 << (bits - 1)))) - return (1 << (bits - 1)) - 1; - return sample; -} - -/** - * Check if the value is within the range of the provided bit size, - * and caps it if necessary. - */ -static inline int64_t -pcm_range_64(int64_t sample, unsigned bits) -{ - if (gcc_unlikely(sample < ((int64_t)-1 << (bits - 1)))) - return (int64_t)-1 << (bits - 1); - if (gcc_unlikely(sample >= ((int64_t)1 << (bits - 1)))) - return ((int64_t)1 << (bits - 1)) - 1; - return sample; -} - template<typename T, typename U, unsigned bits> gcc_const static inline T diff --git a/src/PcmVolume.cxx b/src/PcmVolume.cxx index e19469f4a..556ab9925 100644 --- a/src/PcmVolume.cxx +++ b/src/PcmVolume.cxx @@ -40,7 +40,7 @@ pcm_volume_change_8(int8_t *buffer, const int8_t *end, int volume) PCM_VOLUME_1 / 2) / PCM_VOLUME_1; - *buffer++ = pcm_range(sample, 8); + *buffer++ = PcmClamp<int8_t, int16_t, 8>(sample); } } @@ -54,7 +54,7 @@ pcm_volume_change_16(int16_t *buffer, const int16_t *end, int volume) PCM_VOLUME_1 / 2) / PCM_VOLUME_1; - *buffer++ = pcm_range(sample, 16); + *buffer++ = PcmClamp<int16_t, int32_t, 16>(sample); } } @@ -107,7 +107,7 @@ pcm_volume_change_24(int32_t *buffer, const int32_t *end, int volume) PCM_VOLUME_1 / 2) / PCM_VOLUME_1; #endif - *buffer++ = pcm_range(sample, 24); + *buffer++ = PcmClamp<int32_t, int32_t, 24>(sample); } } @@ -127,7 +127,7 @@ pcm_volume_change_32(int32_t *buffer, const int32_t *end, int volume) sample = (sample * volume + pcm_volume_dither() + PCM_VOLUME_1 / 2) / PCM_VOLUME_1; - *buffer++ = pcm_range_64(sample, 32); + *buffer++ = PcmClamp<int32_t, int64_t, 32>(sample); #endif } } |