[FFmpeg-cvslog] g723_1: save/restore excitation with offset to store LPC history
Kostya Shishkov
git at videolan.org
Fri Aug 3 23:30:30 CEST 2012
ffmpeg | branch: master | Kostya Shishkov <kostya.shishkov at gmail.com> | Thu Aug 2 07:42:44 2012 +0200| [7f92db14f94eed184a4fa725436d0ed44f4327ae] | committer: Kostya Shishkov
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7f92db14f94eed184a4fa725436d0ed44f4327ae
---
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 df14a46..11e90e8 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)
More information about the ffmpeg-cvslog
mailing list