diff options
author | Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> | 2009-11-26 04:38:52 +0300 |
---|---|---|
committer | Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> | 2009-11-26 04:38:52 +0300 |
commit | 7a7c42a7166bba35084f44436b1f43078b806c8c (patch) | |
tree | f9236d90709b850de602818a6b67b170b36e4f7a | |
parent | 065dafdc3e6259093c49f984a39b3a16a299e44a (diff) |
Fixing a few memory errors
-rw-r--r-- | libcelt/celt.c | 4 | ||||
-rw-r--r-- | libcelt/pitch.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libcelt/celt.c b/libcelt/celt.c index 782c6c3..ab12f0e 100644 --- a/libcelt/celt.c +++ b/libcelt/celt.c @@ -1234,11 +1234,11 @@ static void celt_decode_lost(CELTDecoder * restrict st, celt_word16 * restrict p if (st->loss_count == 0) { - celt_word16 pitch_buf[MAX_PERIOD]; + celt_word16 pitch_buf[MAX_PERIOD>>1]; celt_word32 tmp=0; /*find_spectral_pitch(st->mode, st->mode->fft, &st->mode->psy, st->out_mem+MAX_PERIOD-len, st->out_mem, st->mode->window, NULL, len, MAX_PERIOD-len-100, &pitch_index, C);*/ /* FIXME: Should do a bit of interpolation while decimating */ - for (i=0;i<MAX_PERIOD;i++) + for (i=0;i<MAX_PERIOD>>1;i++) pitch_buf[i] = EXTRACT16(SHR32(st->out_mem[2*i], SIG_SHIFT)); find_temporal_pitch(st->mode, st->out_mem+MAX_PERIOD-len, pitch_buf, len, MAX_PERIOD-len-100, &pitch_index, C, &tmp); diff --git a/libcelt/pitch.c b/libcelt/pitch.c index 72c183d..6558bd4 100644 --- a/libcelt/pitch.c +++ b/libcelt/pitch.c @@ -199,7 +199,7 @@ void find_temporal_pitch(const CELTMode *m, const celt_sig * restrict x, celt_wo } *pitch = 2*best_pitch[0]-offset; - CELT_COPY(y, y+(N>>1), (lag-N)>>1); + CELT_MOVE(y, y+(N>>1), (lag-N)>>1); CELT_COPY(y+((lag-N)>>1), x_lp, N>>1); RESTORE_STACK; |