22#ifndef AUDIO_DECODERS_UTIL_H
23#define AUDIO_DECODERS_UTIL_H
25#include "common/types.h"
26#include "common/util.h"
31static inline int16 floatToInt16(
float src) {
32 return (int16) CLIP<int>((
int) floor(src + 0.5), -32768, 32767);
36static 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]);