diff options
Diffstat (limited to 'src/pcm_pack.c')
-rw-r--r-- | src/pcm_pack.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/pcm_pack.c b/src/pcm_pack.c index 921d880c..5cf79b4c 100644 --- a/src/pcm_pack.c +++ b/src/pcm_pack.c @@ -45,33 +45,3 @@ pcm_pack_24(uint8_t *dest, const int32_t *src, const int32_t *src_end) dest += 3; } } - -static void -unpack_sample(int32_t *dest0, const uint8_t *src) -{ - uint8_t *dest = (uint8_t *)dest0; - - if (G_BYTE_ORDER == G_BIG_ENDIAN) - /* extend the sign bit to the most fourth byte */ - *dest++ = *src & 0x80 ? 0xff : 0x00; - - *dest++ = *src++; - *dest++ = *src++; - *dest++ = *src; - - if (G_BYTE_ORDER == G_LITTLE_ENDIAN) - /* extend the sign bit to the most fourth byte */ - *dest++ = *src & 0x80 ? 0xff : 0x00; -} - -void -pcm_unpack_24(int32_t *dest, const uint8_t *src, const uint8_t *src_end) -{ - /* duplicate loop to help the compiler's optimizer (constant - parameter to the unpack_sample() inline function) */ - - while (src < src_end) { - unpack_sample(dest++, src); - src += 3; - } -} |