summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2017-01-08 18:00:49 -0500
committeryenatch <yenatch@gmail.com>2017-01-08 18:00:49 -0500
commitde69de433b922502b6fe4ce966b7b636dcf53a71 (patch)
tree84f435fbe323db2063368064d096fd9dbbbc42aa /tools
parent10e5474a65d2ff356e1a6280568c078fee1c9b52 (diff)
aif2pcm: Fix delta compression for foreign audio.
The direction should not be reversed if the delta is too large. The new code is redundant, but the intent is more obvious.
Diffstat (limited to 'tools')
-rw-r--r--tools/aif2pcm/main.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c
index a2c3bcd5c..b7058f0c8 100644
--- a/tools/aif2pcm/main.c
+++ b/tools/aif2pcm/main.c
@@ -400,11 +400,9 @@ struct Bytes *delta_compress(struct Bytes *pcm)
break;
}
hi = 0;
- diff = pcm->data[i++] - base;
- if (diff > 49)
- {
- diff = -diff;
- }
+ diff = ((int8_t)pcm->data[i++]) - base;
+ if (diff > 49) diff = 49;
+ if (diff < -64) diff = -64;
if (diff < 0)
{
for (l = 8; l < 16; l++)
@@ -429,8 +427,9 @@ struct Bytes *delta_compress(struct Bytes *pcm)
}
for (k = 0; k < 31; k++)
{
- diff = pcm->data[i++] - base;
- if (diff > 49) diff = -diff;
+ diff = ((int8_t)pcm->data[i++]) - base;
+ if (diff > 49) diff = 49;
+ if (diff < -64) diff = -64;
if (diff < 0)
{
for (l = 8; l < 16; l++)
@@ -453,8 +452,9 @@ struct Bytes *delta_compress(struct Bytes *pcm)
{
break;
}
- diff = pcm->data[i++] - base;
- if (diff > 49) diff = -diff;
+ diff = ((int8_t)pcm->data[i++]) - base;
+ if (diff > 49) diff = 49;
+ if (diff < -64) diff = -64;
if (diff < 0)
{
for (l = 8; l < 16; l++)