diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-11-17 15:02:09 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-11-17 15:06:34 +0400 |
commit | 3ea168edeb7a20eae1fccf7da66ac7b8c8c791ba (patch) | |
tree | 4e167e434117d6f13a92fc7a2a7356108c273816 /libavcodec/targaenc.c | |
parent | 85b7b0c519f8d9491b4c0340329a605cc97c8984 (diff) | |
parent | 45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7 (diff) |
Merge commit '45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7'
* commit '45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7':
sunrastenc: use the AVFrame API properly.
targaenc: use the AVFrame API properly.
tiffenc: use the AVFrame API properly.
pngenc: use the AVFrame API properly.
Conflicts:
libavcodec/pngenc.c
libavcodec/sunrastenc.c
libavcodec/targaenc.c
libavcodec/tiffenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/targaenc.c')
-rw-r--r-- | libavcodec/targaenc.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libavcodec/targaenc.c b/libavcodec/targaenc.c index 108e1485e4..d4483ec398 100644 --- a/libavcodec/targaenc.c +++ b/libavcodec/targaenc.c @@ -170,11 +170,31 @@ static int targa_encode_frame(AVCodecContext *avctx, AVPacket *pkt, return 0; } +static av_cold int targa_encode_init(AVCodecContext *avctx) +{ + avctx->coded_frame = av_frame_alloc(); + if (!avctx->coded_frame) + return AVERROR(ENOMEM); + + avctx->coded_frame->key_frame = 1; + avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I; + + return 0; +} + +static av_cold int targa_encode_close(AVCodecContext *avctx) +{ + av_frame_free(&avctx->coded_frame); + return 0; +} + AVCodec ff_targa_encoder = { .name = "targa", .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_TARGA, + .init = targa_encode_init, + .close = targa_encode_close, .encode2 = targa_encode_frame, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_BGRA, AV_PIX_FMT_RGB555LE, AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8, |