aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/tmv.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2011-05-02 02:15:15 +0200
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2011-05-07 12:03:59 +0200
commit01042d4123b6e0a4c15d6828f835bd648eb03d38 (patch)
tree1effe8a600ae996aaa2f0a036b6ce7e87bbd09a8 /libavcodec/tmv.c
parent2beac7c325583160bdf2978de6e87176b9146da0 (diff)
downloadffmpeg-01042d4123b6e0a4c15d6828f835bd648eb03d38.tar.gz
lavc: set defaults in internal codec frames
This is required specifically for setting frame->format to -1, otherwise it will be set to 0 = PIX_FMT_YUV420P and code reading the format from the output decoded frame will get misled. In particular fix regressions occurring with the pending vsrc_buffer patch.
Diffstat (limited to 'libavcodec/tmv.c')
-rw-r--r--libavcodec/tmv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/tmv.c b/libavcodec/tmv.c
index ee5d060525..b1083fe682 100644
--- a/libavcodec/tmv.c
+++ b/libavcodec/tmv.c
@@ -34,6 +34,14 @@ typedef struct TMVContext {
AVFrame pic;
} TMVContext;
+static av_cold int tmv_decode_init(AVCodecContext *avctx)
+{
+ TMVContext *tmv = avctx->priv_data;
+
+ avcodec_get_frame_defaults(&tmv->pic);
+ return 0;
+}
+
static int tmv_decode_frame(AVCodecContext *avctx, void *data,
int *data_size, AVPacket *avpkt)
{
@@ -97,6 +105,7 @@ AVCodec ff_tmv_decoder = {
.type = AVMEDIA_TYPE_VIDEO,
.id = CODEC_ID_TMV,
.priv_data_size = sizeof(TMVContext),
+ .init = tmv_decode_init,
.close = tmv_decode_close,
.decode = tmv_decode_frame,
.capabilities = CODEC_CAP_DR1,