22 #ifndef AUDIO_DECODERS_UTIL_H 23 #define AUDIO_DECODERS_UTIL_H 25 #include "common/types.h" 26 #include "common/util.h" 31 static inline int16 floatToInt16(
float src) {
32 return (int16) CLIP<int>((int) floor(src + 0.5), -32768, 32767);
36 static inline void floatToInt16Interleave(int16 *dst,
const float **src,
37 uint32 length, uint8 channels) {
39 for (uint32 i = 0; i < length; i++) {
40 dst[2 * i ] = floatToInt16(src[0][i]);
41 dst[2 * i + 1] = floatToInt16(src[1][i]);
44 for (uint8 c = 0; c < channels; c++)
45 for (uint32 i = 0, j = c; i < length; i++, j += channels)
46 dst[j] = floatToInt16(src[c][i]);
52 #endif // AUDIO_DECODERS_UTIL_H