From 9af97721e78da0c2e5be2f82ee8ca9d0fb951ddc Mon Sep 17 00:00:00 2001 From: Moritz Hanke Date: Tue, 9 Sep 2014 16:40:36 +0200 Subject: [PATCH] makes last_out int32_t --- src/decode.c | 9 ++++----- src/decode.h | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/decode.c b/src/decode.c index 099fc44..a8c0afc 100644 --- a/src/decode.c +++ b/src/decode.c @@ -68,8 +68,7 @@ static void flush_##KIND(struct aec_stream *strm) \ { \ uint32_t *flush_end, *bp, half_d; \ - int32_t data; \ - int64_t m; \ + int32_t data, m; \ struct internal_state *state = strm->state; \ \ flush_end = state->rsip; \ @@ -79,7 +78,7 @@ state->last_out = *state->rsi_buffer; \ \ if (strm->flags & AEC_DATA_SIGNED) { \ - m = UINT64_C(1) << (strm->bits_per_sample - 1); \ + m = UINT32_C(1) << (strm->bits_per_sample - 1); \ /* Reference samples have to be sign extended */ \ state->last_out = (state->last_out ^ m) - m; \ } \ @@ -87,11 +86,12 @@ state->flush_start++; \ } \ \ + data = state->last_out; \ + \ if (state->xmin == 0) { \ \ uint32_t xmax, med, d; \ med = state->xmax / 2 + 1; \ - data = (uint32_t)state->last_out; \ xmax = state->xmax; \ \ for (bp = state->flush_start; bp < flush_end; bp++) { \ @@ -118,7 +118,6 @@ } else { \ \ int32_t xmax, d; \ - data = state->last_out; \ xmax = state->xmax; \ \ for (bp = state->flush_start; bp < flush_end; bp++) { \ diff --git a/src/decode.h b/src/decode.h index d3c6bb7..57a2ec8 100644 --- a/src/decode.h +++ b/src/decode.h @@ -78,7 +78,7 @@ struct internal_state { void (*flush_output)(struct aec_stream *); /* previous output for post-processing */ - int64_t last_out; + int32_t last_out; /* minimum integer for post-processing */ int64_t xmin; -- 2.7.4