avcodec/g723_1: fix writing into input frame data and warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/72/head
Michael Niedermayer 11 years ago
parent 2d56f0d054
commit d35000c2dc
  1. 8
      libavcodec/g723_1.c

@ -2346,11 +2346,15 @@ static int g723_1_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
int16_t weighted_lpc[LPC_ORDER * SUBFRAMES << 1];
int16_t vector[FRAME_LEN + PITCH_MAX];
int offset, ret;
int16_t *in = (const int16_t *)frame->data[0];
int16_t *in_orig = av_memdup(frame->data[0], frame->nb_samples * sizeof(int16_t));
int16_t *in = in_orig;
HFParam hf[4];
int i, j;
if (!in)
return AVERROR(ENOMEM);
highpass_filter(in, &p->hpf_fir_mem, &p->hpf_iir_mem);
memcpy(vector, p->prev_data, HALF_FRAME_LEN * sizeof(int16_t));
@ -2456,6 +2460,8 @@ static int g723_1_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
offset += LPC_ORDER;
}
av_freep(&in_orig); in = NULL;
if ((ret = ff_alloc_packet2(avctx, avpkt, 24)) < 0)
return ret;

Loading…
Cancel
Save