diff options
Diffstat (limited to 'format.c')
-rw-r--r-- | format.c | 17 |
1 files changed, 8 insertions, 9 deletions
@@ -1,6 +1,5 @@ #include <inttypes.h> #include <sys/types.h> -#include <sys/param.h> #include <liboil/liboil.h> @@ -167,9 +166,9 @@ static int format_s24_to_s32(bbuffer_t *b, void *dst, size_t dstr, const void *s unsigned n = bytes/3; for (; n > 0; n--, d += dstr/sizeof(int32_t), s += sstr/3) -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if defined(SA_LITTLE_ENDIAN) *d = (int32_t) ((int8_t) s[2]) * 0x1000000 + s[1] * 0x10000 + s[0] * 0x100; -#elif __BYTE_ORDER == __BIG_ENDIAN +#elif defined(SA_BIG_ENDIAN) *d = (int32_t) ((int8_t) s[0]) * 0x1000000 + s[1] * 0x10000 + s[2] * 0x100; #else #error "Unknown byte order" @@ -184,9 +183,9 @@ static int format_s24_to_f32(bbuffer_t *b, void *dst, size_t dstr, const void *s unsigned n = bytes/3; for (; n > 0; n--, d += dstr/sizeof(float), s += sstr/3) -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if defined(SA_LITTLE_ENDIAN) *d = ((float) ((int8_t) s[2]) * 0x10000 + s[1] * 0x100 + s[0]) / 0x7fffff; -#elif __BYTE_ORDER == __BIG_ENDIAN +#elif defined(SA_BIG_ENDIAN) *d = ((float) ((int8_t) s[0]) * 0x10000 + s[1] * 0x100 + s[2]) / 0x7fffff; #else #error "Unknown byte order" @@ -249,11 +248,11 @@ static int format_s32_to_s24(bbuffer_t *b, void *dst, size_t dstr, const void *s for (; n > 0; n--, d += dstr/3, s += sstr/sizeof(int32_t)) { uint32_t j = (uint32_t) (*s) >> 8; -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if defined(SA_LITTLE_ENDIAN) d[0] = j & 0xFF; d[1] = (j >> 8) & 0xFF; d[2] = (j >> 16); -#elif __BYTE_ORDER == __BIG_ENDIAN +#elif defined(SA_BIG_ENDIAN) d[2] = j & 0xFF; d[1] = (j >> 8) & 0xFF; d[0] = (j >> 16); @@ -354,11 +353,11 @@ static int format_f32_to_s24(bbuffer_t *b, void *dst, size_t dstr, const void *s j = (uint32_t) ((int32_t) f); -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if defined(SA_LITTLE_ENDIAN) d[0] = j & 0xFF; d[1] = (j >> 8) & 0xFF; d[2] = (j >> 16); -#elif __BYTE_ORDER == __BIG_ENDIAN +#elif defined(SA_BIG_ENDIAN) d[2] = j & 0xFF; d[1] = (j >> 8) & 0xFF; d[0] = (j >> 16); |