diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-11-17 01:07:37 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-11-17 01:07:37 +0100 |
commit | 5219afc09d8e97e18917738cbc052f903df9a619 (patch) | |
tree | 324177cb47f114fb5dabb34f96833ee54b269c6d /libavcodec/msvideo1.c | |
parent | bfb1f44d246f4ed97d5cad9c1eace8a20951ff76 (diff) | |
parent | 2d2a92f72199823a92e4e226c32e42a27ec801c0 (diff) | |
download | ffmpeg-5219afc09d8e97e18917738cbc052f903df9a619.tar.gz |
Merge commit '2d2a92f72199823a92e4e226c32e42a27ec801c0'
* commit '2d2a92f72199823a92e4e226c32e42a27ec801c0':
dxa: use the AVFrame API properly.
qpeg: use the AVFrame API properly.
cin video: use the AVFrame API properly.
msvideo1: use the AVFrame API properly.
Conflicts:
libavcodec/dsicinav.c
libavcodec/dxa.c
libavcodec/msvideo1.c
libavcodec/qpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/msvideo1.c')
-rw-r--r-- | libavcodec/msvideo1.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/libavcodec/msvideo1.c b/libavcodec/msvideo1.c index 83c50ac46d..970c67ce12 100644 --- a/libavcodec/msvideo1.c +++ b/libavcodec/msvideo1.c @@ -47,7 +47,7 @@ typedef struct Msvideo1Context { AVCodecContext *avctx; - AVFrame frame; + AVFrame *frame; const unsigned char *buf; int size; @@ -72,7 +72,9 @@ static av_cold int msvideo1_decode_init(AVCodecContext *avctx) avctx->pix_fmt = AV_PIX_FMT_RGB555; } - avcodec_get_frame_defaults(&s->frame); + s->frame = av_frame_alloc(); + if (!s->frame) + return AVERROR(ENOMEM); return 0; } @@ -93,8 +95,8 @@ static void msvideo1_decode_8bit(Msvideo1Context *s) unsigned short flags; int skip_blocks; unsigned char colors[8]; - unsigned char *pixels = s->frame.data[0]; - int stride = s->frame.linesize[0]; + unsigned char *pixels = s->frame->data[0]; + int stride = s->frame->linesize[0]; stream_ptr = 0; skip_blocks = 0; @@ -174,7 +176,7 @@ static void msvideo1_decode_8bit(Msvideo1Context *s) /* make the palette available on the way out */ if (s->avctx->pix_fmt == AV_PIX_FMT_PAL8) - memcpy(s->frame.data[1], s->pal, AVPALETTE_SIZE); + memcpy(s->frame->data[1], s->pal, AVPALETTE_SIZE); } static void msvideo1_decode_16bit(Msvideo1Context *s) @@ -193,8 +195,8 @@ static void msvideo1_decode_16bit(Msvideo1Context *s) unsigned short flags; int skip_blocks; unsigned short colors[8]; - unsigned short *pixels = (unsigned short *)s->frame.data[0]; - int stride = s->frame.linesize[0] / 2; + unsigned short *pixels = (unsigned short *)s->frame->data[0]; + int stride = s->frame->linesize[0] / 2; stream_ptr = 0; skip_blocks = 0; @@ -298,7 +300,7 @@ static int msvideo1_decode_frame(AVCodecContext *avctx, s->buf = buf; s->size = buf_size; - if ((ret = ff_reget_buffer(avctx, &s->frame)) < 0) + if ((ret = ff_reget_buffer(avctx, s->frame)) < 0) return ret; if (s->mode_8bit) { @@ -306,7 +308,7 @@ static int msvideo1_decode_frame(AVCodecContext *avctx, if (pal) { memcpy(s->pal, pal, AVPALETTE_SIZE); - s->frame.palette_has_changed = 1; + s->frame->palette_has_changed = 1; } } @@ -315,7 +317,7 @@ static int msvideo1_decode_frame(AVCodecContext *avctx, else msvideo1_decode_16bit(s); - if ((ret = av_frame_ref(data, &s->frame)) < 0) + if ((ret = av_frame_ref(data, s->frame)) < 0) return ret; *got_frame = 1; @@ -328,7 +330,7 @@ static av_cold int msvideo1_decode_end(AVCodecContext *avctx) { Msvideo1Context *s = avctx->priv_data; - av_frame_unref(&s->frame); + av_frame_free(&s->frame); return 0; } |