diff options
Diffstat (limited to 'src/pcm')
-rw-r--r-- | src/pcm/PcmUtils.hxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pcm/PcmUtils.hxx b/src/pcm/PcmUtils.hxx index 108ba85ae..febe12d7b 100644 --- a/src/pcm/PcmUtils.hxx +++ b/src/pcm/PcmUtils.hxx @@ -63,4 +63,16 @@ PcmClamp(U x) return T(x); } +/** + * Check if the values in this buffer are within the range of the + * provided bit size, and clamps them whenever necessary. + */ +template<typename T, typename U, unsigned bits> +static inline void +PcmClampN(T *dest, const U *src, unsigned n) +{ + while (n-- > 0) + *dest++ = PcmClamp<T, U, bits>(*src++); +} + #endif |