From 7f92db14f94eed184a4fa725436d0ed44f4327ae Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Thu, 2 Aug 2012 07:42:44 +0200 Subject: [PATCH] g723_1: save/restore excitation with offset to store LPC history The same buffer with saved data is used later in LPC reconstruction, so it should have some head space for LPC history. --- libavcodec/g723_1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c index df14a46644..11e90e8123 100644 --- a/libavcodec/g723_1.c +++ b/libavcodec/g723_1.c @@ -1071,7 +1071,7 @@ static int g723_1_decode_frame(AVCodecContext *avctx, void *data, vector_ptr = p->excitation + PITCH_MAX; /* Save the excitation */ - memcpy(p->audio, vector_ptr, FRAME_LEN * sizeof(*p->audio)); + memcpy(p->audio + LPC_ORDER, vector_ptr, FRAME_LEN * sizeof(*p->audio)); p->interp_index = comp_interp_index(p, p->pitch_lag[1], &p->sid_gain, &p->cur_gain); @@ -1086,7 +1086,7 @@ static int g723_1_decode_frame(AVCodecContext *avctx, void *data, /* Restore the original excitation */ memcpy(p->excitation, p->prev_excitation, PITCH_MAX * sizeof(*p->excitation)); - memcpy(vector_ptr, p->audio, FRAME_LEN * sizeof(*vector_ptr)); + memcpy(vector_ptr, p->audio + LPC_ORDER, FRAME_LEN * sizeof(*vector_ptr)); /* Peform pitch postfiltering */ if (p->postfilter) -- 2.11.0