summaryrefslogtreecommitdiffstats
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)
downloadffmpeg-streaming-5c65660506fc3379d1b7d290042b790c010ce04c.zip
ffmpeg-streaming-5c65660506fc3379d1b7d290042b790c010ce04c.tar.gz
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 b06f7b1..8a829b3 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)
OpenPOWER on IntegriCloud