X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Frawenc.c;h=d7923931bb82328c2fce65eaefe29915939b37d3;hb=c720b9ce9850710e74a103d9626869e397a89faa;hp=c579230013004f3f22a53430445797f7540aff2a;hpb=5380c9afb9a2be04564aeef2c3ecf080a8cdf24a;p=ffmpeg diff --git a/libavcodec/rawenc.c b/libavcodec/rawenc.c index c5792300130..d7923931bb8 100644 --- a/libavcodec/rawenc.c +++ b/libavcodec/rawenc.c @@ -35,7 +35,10 @@ static av_cold int raw_encode_init(AVCodecContext *avctx) { const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); - avctx->coded_frame = av_frame_alloc(); + avctx->coded_frame = av_frame_alloc(); + if (!avctx->coded_frame) + return AVERROR(ENOMEM); + avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I; avctx->bits_per_coded_sample = av_get_bits_per_pixel(desc); if(!avctx->codec_tag) @@ -68,7 +71,7 @@ static int raw_encode(AVCodecContext *avctx, AVPacket *pkt, return 0; } -static av_cold int raw_close(AVCodecContext *avctx) +static av_cold int raw_encode_close(AVCodecContext *avctx) { av_frame_free(&avctx->coded_frame); return 0; @@ -80,6 +83,6 @@ AVCodec ff_rawvideo_encoder = { .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_RAWVIDEO, .init = raw_encode_init, + .close = raw_encode_close, .encode2 = raw_encode, - .close = raw_close, };