view osdep/swab.c @ 14758:94456deb0624

finally the dreaded white-noise-with-floats bug is fixed!!!! the problem is that lrintf was not prototyped on some systems, but it's easier and faster just not to use it at all. looks like the cola goes to our friends the glibc developers for forgetting to put lrintf in math.h in some versions. :))) i'm sure there are other broken libcs too though. also fixed a minor bug in the int->float conversion where the range for float samples was exceeded...
author rfelker
date Tue, 22 Feb 2005 02:12:58 +0000
parents c0bde085511c
children 08cac43f1e38
line wrap: on
line source

#include "../config.h"

#ifndef	HAVE_SWAB
/* system has no swab.  emulate via bswap */
#include "../bswap.h"
#include <unistd.h>

void swab(const void *from, void *to, ssize_t n) {
  const int16_t *in = (int16_t*)from;
  int16_t *out = (int16_t*)to;
  int i;
  n /= 2;
  for (i = 0 ; i < n; i++) {
    out[i] = bswap_16(in[i]);
  }
}
#endif