mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/g723_1: fix writing into input frame data and warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
2d56f0d054
commit
d35000c2dc
|
@ -2346,11 +2346,15 @@ static int g723_1_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
|
||||||
int16_t weighted_lpc[LPC_ORDER * SUBFRAMES << 1];
|
int16_t weighted_lpc[LPC_ORDER * SUBFRAMES << 1];
|
||||||
int16_t vector[FRAME_LEN + PITCH_MAX];
|
int16_t vector[FRAME_LEN + PITCH_MAX];
|
||||||
int offset, ret;
|
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];
|
HFParam hf[4];
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
|
if (!in)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
highpass_filter(in, &p->hpf_fir_mem, &p->hpf_iir_mem);
|
highpass_filter(in, &p->hpf_fir_mem, &p->hpf_iir_mem);
|
||||||
|
|
||||||
memcpy(vector, p->prev_data, HALF_FRAME_LEN * sizeof(int16_t));
|
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;
|
offset += LPC_ORDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
av_freep(&in_orig); in = NULL;
|
||||||
|
|
||||||
if ((ret = ff_alloc_packet2(avctx, avpkt, 24)) < 0)
|
if ((ret = ff_alloc_packet2(avctx, avpkt, 24)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue