[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