summaryrefslogtreecommitdiff
path: root/libavcodec/nellymoserdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-04-16 14:59:23 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-04-16 14:59:23 +0000
commit5c65660506fc3379d1b7d290042b790c010ce04c (patch)
tree23b31760a3cb944754055bd2769427d7b6332d2e /libavcodec/nellymoserdec.c
parent2f75d26c10132289c5bdbdbdce6e0c70cc1e85d8 (diff)
Avoid reverse addressing, not sure if this is faster or slower but people
maybe are confused by it. The code needs to be optimized anyway. Originally committed as revision 12854 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/nellymoserdec.c')
-rw-r--r--libavcodec/nellymoserdec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c
index b06f7b1b6b..8a829b3f3a 100644
--- a/libavcodec/nellymoserdec.c
+++ b/libavcodec/nellymoserdec.c
@@ -92,7 +92,7 @@ static const int16_t nelly_delta_table[32] = {
typedef struct NellyMoserDecodeContext {
AVCodecContext* avctx;
DECLARE_ALIGNED_16(float,float_buf[NELLY_SAMPLES]);
- float state[64];
+ float state[128];
AVRandomState random_state;
GetBitContext gb;
int add_bias;
@@ -121,12 +121,12 @@ static void overlap_and_window(NellyMoserDecodeContext *s, float *state, float *
while (bot < NELLY_BUF_LEN/2) {
audio[bot] = ( a_in[bot]*sine_window[bot]+state[bot]*sine_window[top])/s->scale_bias + s->add_bias;
- audio[top] = ( a_in[top]*sine_window[top]+state[bot]*sine_window[bot])/s->scale_bias + s->add_bias;
- state[bot] = a_in[bot + NELLY_BUF_LEN];
+ audio[top] = ( a_in[top]*sine_window[top]+state[top]*sine_window[bot])/s->scale_bias + s->add_bias;
bot++;
top--;
}
+ memcpy(state, a_in + NELLY_BUF_LEN, sizeof(float)*NELLY_BUF_LEN);
}
static int sum_bits(short *buf, short shift, short off)