diff options
author | Lennart Poettering <lennart@poettering.net> | 2007-10-01 20:16:28 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2007-10-01 20:16:28 +0000 |
commit | 7d83e5c7816b5e343695a75ba58b32dbe1be969a (patch) | |
tree | bfd1dfc9b7c8f4a2aaf66c1b30e78355dee8c88a /zero.c | |
parent | 762196328ab7e60f1d2908fd5a337d2ca99726dd (diff) |
move all sources down to a seperate src/ tree
git-svn-id: file:///home/lennart/svn/public/libsydney/trunk@34 9ba3c220-e4d3-45a2-8aa3-73fcc9aff6ce
Diffstat (limited to 'zero.c')
-rw-r--r-- | zero.c | 53 |
1 files changed, 0 insertions, 53 deletions
@@ -1,53 +0,0 @@ -#include <string.h> - -#include "macro.h" -#include "zero.h" - -static void zero_u8(void *dst, size_t dstr, size_t bytes) { - uint8_t *d = dst; - - if (dstr == 1) - memset(dst, 0x80, bytes); - else { - for (; bytes > 0; bytes --, d += dstr) - *d = 0x80; - } -} - -static void zero_16(void *dst, size_t dstr, size_t bytes) { - uint16_t *d = dst; - unsigned n = bytes/sizeof(uint16_t); - - if (dstr == sizeof(uint16_t)) - memset(dst, 0, bytes); - else { - for (; n > 0; n --, d += dstr/sizeof(uint16_t)) - *d = 0; - } -} - -static void zero_32(void *dst, size_t dstr, size_t bytes) { - uint32_t *d = dst; - unsigned n = bytes/sizeof(float); - - if (dstr == sizeof(uint32_t)) - memset(dst, 0, bytes); - else { - for (; n > 0; n --, d += dstr/sizeof(uint32_t)) - *d = 0; - } -} - -sa_zero_func_t sa_get_zero_func(sa_pcm_format_t f) { - - static const sa_zero_func_t funcs[_SA_PCM_FORMAT_MAX] = { - [SA_PCM_FORMAT_U8] = zero_u8, - [SA_PCM_FORMAT_S16_NE] = zero_16, - [SA_PCM_FORMAT_S32_NE] = zero_32, - [SA_PCM_FORMAT_FLOAT32_NE] = zero_32 - }; - - sa_assert(f < _SA_PCM_FORMAT_MAX); - - return funcs[f]; -} |