forked from pool/pulseaudio
62 lines
2.0 KiB
Diff
62 lines
2.0 KiB
Diff
From d622b229871038b97681c465432e3da14bc85782 Mon Sep 17 00:00:00 2001
|
|
From: Lennart Poettering <lennart@poettering.net>
|
|
Date: Fri, 1 May 2009 04:22:08 +0200
|
|
Subject: [PATCH] sconv: fix a few minor conversion issues
|
|
|
|
---
|
|
src/pulsecore/sconv-s16le.c | 10 +++++-----
|
|
src/pulsecore/sconv.c | 2 +-
|
|
2 files changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/src/pulsecore/sconv-s16le.c b/src/pulsecore/sconv-s16le.c
|
|
index 307ce7b..43b8cb3 100644
|
|
--- a/src/pulsecore/sconv-s16le.c
|
|
+++ b/src/pulsecore/sconv-s16le.c
|
|
@@ -370,7 +370,7 @@ void pa_sconv_s24_32le_to_s16ne(unsigned n, const uint32_t *a, int16_t *b) {
|
|
pa_assert(b);
|
|
|
|
for (; n > 0; n--) {
|
|
- *b = (int16_t) ((int32_t) (UINT32_FROM(*a) << 8) >> 16);
|
|
+ *b = (int16_t) (((int32_t) (UINT32_FROM(*a) << 8)) >> 16);
|
|
a++;
|
|
b++;
|
|
}
|
|
@@ -416,8 +416,8 @@ void pa_sconv_s24_32le_to_float32ne(unsigned n, const uint32_t *a, float *b) {
|
|
pa_assert(b);
|
|
|
|
for (; n > 0; n--) {
|
|
- int32_t s = (int16_t) ((int32_t) (UINT32_FROM(*a) << 8));
|
|
- *b = ((float) s) / 0x7FFFFFFF;
|
|
+ int32_t s = (int32_t) (UINT32_FROM(*a) << 8);
|
|
+ *b = (float) s / (float) 0x7FFFFFFF;
|
|
a ++;
|
|
b ++;
|
|
}
|
|
@@ -428,8 +428,8 @@ void pa_sconv_s24_32le_to_float32re(unsigned n, const uint32_t *a, float *b) {
|
|
pa_assert(b);
|
|
|
|
for (; n > 0; n--) {
|
|
- int32_t s = (int16_t) ((int32_t) (UINT32_FROM(*a) << 8));
|
|
- float k = ((float) s) / 0x7FFFFFFF;
|
|
+ int32_t s = (int32_t) (UINT32_FROM(*a) << 8);
|
|
+ float k = (float) s / (float) 0x7FFFFFFF;
|
|
*b = PA_FLOAT32_SWAP(k);
|
|
a ++;
|
|
b ++;
|
|
diff --git a/src/pulsecore/sconv.c b/src/pulsecore/sconv.c
|
|
index 29a9a45..d89f428 100644
|
|
--- a/src/pulsecore/sconv.c
|
|
+++ b/src/pulsecore/sconv.c
|
|
@@ -75,7 +75,7 @@ static void u8_from_s16ne(unsigned n, const int16_t *a, uint8_t *b) {
|
|
pa_assert(b);
|
|
|
|
for (; n > 0; n--, a++, b++)
|
|
- *b = (uint8_t) (*a / 0x100 + 0x80);
|
|
+ *b = (uint8_t) ((uint16_t) *a >> 8) + (uint8_t) 0x80U;
|
|
}
|
|
|
|
/* float32 */
|
|
--
|
|
1.6.0.2
|
|
|