summaryrefslogtreecommitdiffstats
path: root/src/format.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-10-02 20:26:08 +0000
committerLennart Poettering <lennart@poettering.net>2007-10-02 20:26:08 +0000
commit18301dfca56ba8545549e80f84423d83a46c6b64 (patch)
tree28854229666a3054a2985cd040d504e860e0623b /src/format.c
parent0ec595d89d9e1c10cd3f8a3d8dd3a1235c6f5fda (diff)
a lot of minor cleanups
git-svn-id: file:///home/lennart/svn/public/libsydney/trunk@36 9ba3c220-e4d3-45a2-8aa3-73fcc9aff6ce
Diffstat (limited to 'src/format.c')
-rw-r--r--src/format.c54
1 files changed, 29 insertions, 25 deletions
diff --git a/src/format.c b/src/format.c
index f7a8755..adac878 100644
--- a/src/format.c
+++ b/src/format.c
@@ -1,3 +1,7 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <inttypes.h>
#include <sys/types.h>
@@ -11,7 +15,7 @@
static int format_u8_to_s16(sa_bbuffer_t *b, void *dst, size_t dstr, const void *src, size_t sstr, size_t bytes) {
int16_t d = -0x80, f = 0x100;
-
+
oil_conv_s16_u8(dst, dstr, src, sstr, bytes);
oil_scalaradd_s16(dst, dstr, dst, dstr, &d, bytes);
oil_scalarmult_s16(dst, dstr, dst, dstr, &f, bytes);
@@ -21,7 +25,7 @@ static int format_u8_to_s16(sa_bbuffer_t *b, void *dst, size_t dstr, const void
static int format_u8_to_s32(sa_bbuffer_t *b, void *dst, size_t dstr, const void *src, size_t sstr, size_t bytes) {
int32_t d = -0x80, f = 0x1000000;
-
+
oil_conv_s16_u8(dst, dstr, src, sstr, bytes);
oil_scalaradd_s32(dst, dstr, dst, dstr, &d, bytes);
oil_scalarmult_s32(dst, dstr, dst, dstr, &f, bytes);
@@ -34,7 +38,7 @@ static int format_u8_to_f32(sa_bbuffer_t *b, void *dst, size_t dstr, const void
oil_conv_f32_u8(dst, dstr, src, sstr, bytes);
oil_scalaradd_f32(dst, dstr, dst, dstr, &d, bytes);
- oil_scalarmult_f32(dst, dstr, dst, dstr, &f, bytes);
+ oil_scalarmult_f32(dst, dstr, dst, dstr, &f, bytes);
return SA_SUCCESS;
}
@@ -112,7 +116,7 @@ static int format_s16_to_u8(sa_bbuffer_t *b, void *dst, size_t dstr, const void
for (; n > 0; n--, d += dstr, s += sstr/sizeof(int16_t))
*d = (uint8_t) (*s / 0x100 + 0x80);
-
+
return SA_SUCCESS;
}
@@ -143,7 +147,7 @@ static int format_s16_to_s32(sa_bbuffer_t *b, void *dst, size_t dstr, const void
unsigned n = bytes/sizeof(int16_t);
oil_conv_s32_s16(dst, dstr, src, sstr, n);
- oil_scalarmult_s32(dst, dstr, dst, dstr, &f, n);
+ oil_scalarmult_s32(dst, dstr, dst, dstr, &f, n);
return SA_SUCCESS;
}
@@ -151,9 +155,9 @@ static int format_s16_to_s32(sa_bbuffer_t *b, void *dst, size_t dstr, const void
static int format_s16_to_f32(sa_bbuffer_t *b, void *dst, size_t dstr, const void *src, size_t sstr, size_t bytes) {
float f = 1.0/0x7ffff;
unsigned n = bytes/sizeof(int16_t);
-
+
oil_conv_f32_s16(dst, dstr, src, sstr, n);
- oil_scalarmult_f32(dst, dstr, dst, dstr, &f, n);
+ oil_scalarmult_f32(dst, dstr, dst, dstr, &f, n);
return SA_SUCCESS;
}
@@ -173,7 +177,7 @@ static int format_s24_to_s32(sa_bbuffer_t *b, void *dst, size_t dstr, const void
#else
#error "Unknown byte order"
#endif
-
+
return SA_SUCCESS;
}
@@ -190,7 +194,7 @@ static int format_s24_to_f32(sa_bbuffer_t *b, void *dst, size_t dstr, const void
#else
#error "Unknown byte order"
#endif
-
+
return SA_SUCCESS;
}
@@ -203,7 +207,7 @@ static int format_s32_to_u8(sa_bbuffer_t *b, void *dst, size_t dstr, const void
for (; n > 0; n--, d += dstr, s += sstr/sizeof(int32_t))
*d = (uint8_t) (*s / 0x1000000 + 0x80);
-
+
return SA_SUCCESS;
}
@@ -236,7 +240,7 @@ static int format_s32_to_s16(sa_bbuffer_t *b, void *dst, size_t dstr, const void
for (; n > 0; n--, d += dstr/sizeof(int16_t), s += sstr/sizeof(int32_t))
*d = (int16_t) (*s / 0x10000);
-
+
return SA_SUCCESS;
}
@@ -247,7 +251,7 @@ static int format_s32_to_s24(sa_bbuffer_t *b, void *dst, size_t dstr, const void
for (; n > 0; n--, d += dstr/3, s += sstr/sizeof(int32_t)) {
uint32_t j = (uint32_t) (*s) >> 8;
-
+
#if defined(SA_LITTLE_ENDIAN)
d[0] = j & 0xFF;
d[1] = (j >> 8) & 0xFF;
@@ -260,16 +264,16 @@ static int format_s32_to_s24(sa_bbuffer_t *b, void *dst, size_t dstr, const void
#error "Unknown byte order"
#endif
}
-
+
return SA_SUCCESS;
}
static int format_s32_to_f32(sa_bbuffer_t *b, void *dst, size_t dstr, const void *src, size_t sstr, size_t bytes) {
float f = 1.0/0x7fffffff;
unsigned n = bytes/sizeof(int32_t);
-
+
oil_conv_f32_s32(dst, dstr, src, sstr, n);
- oil_scalarmult_f32(dst, dstr, dst, dstr, &f, n);
+ oil_scalarmult_f32(dst, dstr, dst, dstr, &f, n);
return SA_SUCCESS;
}
@@ -312,7 +316,7 @@ static int format_f32_to_alaw(sa_bbuffer_t *b, void *dst, size_t dstr, const voi
uint8_t *d = dst;
const float *s = src;
unsigned n = bytes/sizeof(float);
-
+
for (; n > 0; n --, d += dstr, s += sstr/sizeof(float)) {
float v = *s * 0x7FFF;
if (v < -0x8000) v = -0x8000;
@@ -333,7 +337,7 @@ static int format_f32_to_s16(sa_bbuffer_t *b, void *dst, size_t dstr, const void
if (!(buf = sa_bbuffer_get(b, 0, bytes, 1)))
return SA_ERROR_OOM;
- oil_scalarmult_f32(buf, sizeof(float), s, sstr, &f, n);
+ oil_scalarmult_f32(buf, sizeof(float), s, sstr, &f, n);
oil_clipconv_s16_f32(d, dstr, buf, sizeof(float), n);
return SA_SUCCESS;
@@ -352,7 +356,7 @@ static int format_f32_to_s24(sa_bbuffer_t *b, void *dst, size_t dstr, const void
if (f < -0x800000) f = -0x800000;
j = (uint32_t) ((int32_t) f);
-
+
#if defined(SA_LITTLE_ENDIAN)
d[0] = j & 0xFF;
d[1] = (j >> 8) & 0xFF;
@@ -365,7 +369,7 @@ static int format_f32_to_s24(sa_bbuffer_t *b, void *dst, size_t dstr, const void
#error "Unknown byte order"
#endif
}
-
+
return SA_SUCCESS;
}
@@ -379,7 +383,7 @@ static int format_f32_to_s32(sa_bbuffer_t *b, void *dst, size_t dstr, const void
if (!(buf = sa_bbuffer_get(b, 0, bytes, 1)))
return SA_ERROR_OOM;
- oil_scalarmult_f32(buf, sizeof(float), s, sstr, &f, n);
+ oil_scalarmult_f32(buf, sizeof(float), s, sstr, &f, n);
oil_clipconv_s32_f32(d, dstr, buf, sizeof(float), n);
return SA_SUCCESS;
@@ -393,7 +397,7 @@ sa_format_func_t sa_get_format_func(sa_pcm_format_t from, sa_pcm_format_t to) {
* 2. from all work formats to all "lower" formats
* 3. only for NE types
*/
-
+
static const sa_format_func_t funcs[_SA_PCM_FORMAT_MAX * _SA_PCM_FORMAT_MAX] = {
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_U8 + SA_PCM_FORMAT_S16_NE ] = format_u8_to_s16, /* done */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_U8 + SA_PCM_FORMAT_S32_NE ] = format_u8_to_s32, /* done */
@@ -412,17 +416,17 @@ sa_format_func_t sa_get_format_func(sa_pcm_format_t from, sa_pcm_format_t to) {
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S16_NE + SA_PCM_FORMAT_ALAW ] = format_s16_to_alaw, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S16_NE + SA_PCM_FORMAT_S32_NE ] = format_s16_to_s32, /* done */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S16_NE + SA_PCM_FORMAT_FLOAT32_NE] = format_s16_to_f32, /* done */
-
+
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S24_NE + SA_PCM_FORMAT_S32_NE ] = format_s24_to_s32, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S24_NE + SA_PCM_FORMAT_FLOAT32_NE] = format_s24_to_f32, /* done, no liboil */
-
+
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S32_NE + SA_PCM_FORMAT_U8 ] = format_s32_to_u8, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S32_NE + SA_PCM_FORMAT_ULAW ] = format_s32_to_ulaw, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S32_NE + SA_PCM_FORMAT_ALAW ] = format_s32_to_alaw, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S32_NE + SA_PCM_FORMAT_S16_NE ] = format_s32_to_s16, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S32_NE + SA_PCM_FORMAT_S24_NE ] = format_s32_to_s24, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_S32_NE + SA_PCM_FORMAT_FLOAT32_NE] = format_s32_to_f32, /* done, but suboptimal */
-
+
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_FLOAT32_NE + SA_PCM_FORMAT_U8 ] = format_f32_to_u8, /* done */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_FLOAT32_NE + SA_PCM_FORMAT_ULAW ] = format_f32_to_ulaw, /* done, no liboil */
[_SA_PCM_FORMAT_MAX * SA_PCM_FORMAT_FLOAT32_NE + SA_PCM_FORMAT_ALAW ] = format_f32_to_alaw, /* done, no liboil */
@@ -433,6 +437,6 @@ sa_format_func_t sa_get_format_func(sa_pcm_format_t from, sa_pcm_format_t to) {
sa_assert(from < _SA_PCM_FORMAT_MAX);
sa_assert(to < _SA_PCM_FORMAT_MAX);
-
+
return funcs[from * _SA_PCM_FORMAT_MAX + to];
}