Browse Source

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.
tags/n1.0
Kostya Shishkov 13 years ago
parent
commit
7f92db14f9
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      libavcodec/g723_1.c

+ 2
- 2
libavcodec/g723_1.c View File

@@ -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)


Loading…
Cancel
Save