aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/pictordec.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/pictordec.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/pictordec.c')
-rw-r--r--libavcodec/pictordec.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libavcodec/pictordec.c b/libavcodec/pictordec.c
index 8981dbc759..b87c8643d0 100644
--- a/libavcodec/pictordec.c
+++ b/libavcodec/pictordec.c
@@ -94,6 +94,14 @@ static const uint8_t cga_mode45_index[6][4] = {
[5] = { 0, 11, 12, 15 }, // mode5, high intensity
};
+static av_cold int decode_init(AVCodecContext *avctx)
+{
+ PicContext *s = avctx->priv_data;
+
+ avcodec_get_frame_defaults(&s->frame);
+ return 0;
+}
+
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
AVPacket *avpkt)
@@ -242,7 +250,7 @@ AVCodec ff_pictor_decoder = {
AVMEDIA_TYPE_VIDEO,
CODEC_ID_PICTOR,
sizeof(PicContext),
- NULL,
+ decode_init,
NULL,
decode_end,
decode_frame,