mirror of https://git.ffmpeg.org/ffmpeg.git
Do not leak extradata when encoding avui.
This commit is contained in:
parent
fb6c6b15d7
commit
5e268633d1
|
@ -35,6 +35,16 @@ static av_cold int avui_encode_init(AVCodecContext *avctx)
|
|||
av_log(avctx, AV_LOG_ERROR, "Could not allocate frame.\n");
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
if (!(avctx->extradata = av_mallocz(24 + FF_INPUT_BUFFER_PADDING_SIZE)))
|
||||
return AVERROR(ENOMEM);
|
||||
avctx->extradata_size = 24;
|
||||
memcpy(avctx->extradata, "\0\0\0\x18""APRGAPRG0001", 16);
|
||||
if (avctx->field_order > AV_FIELD_PROGRESSIVE) {
|
||||
avctx->extradata[19] = 2;
|
||||
} else {
|
||||
avctx->extradata[19] = 1;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -56,14 +66,7 @@ static int avui_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||
if ((ret = ff_alloc_packet2(avctx, pkt, size)) < 0)
|
||||
return ret;
|
||||
dst = pkt->data;
|
||||
if (!(avctx->extradata = av_mallocz(24 + FF_INPUT_BUFFER_PADDING_SIZE)))
|
||||
return AVERROR(ENOMEM);
|
||||
avctx->extradata_size = 24;
|
||||
memcpy(avctx->extradata, "\0\0\0\x18""APRGAPRG0001", 16);
|
||||
if (interlaced) {
|
||||
avctx->extradata[19] = 2;
|
||||
} else {
|
||||
avctx->extradata[19] = 1;
|
||||
if (!interlaced) {
|
||||
dst += avctx->width * skip;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue