Commit 3b199d29 authored by Anton Khirnov's avatar Anton Khirnov

lavc decoders: properly initialize AVFrame.

parent 759001c5
......@@ -158,8 +158,10 @@ avs_decode_frame(AVCodecContext * avctx,
static av_cold int avs_decode_init(AVCodecContext * avctx)
{
AvsContext *s = avctx->priv_data;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
avcodec_set_dimensions(avctx, 318, 198);
avcodec_get_frame_defaults(&s->picture);
return 0;
}
......
......@@ -42,6 +42,7 @@ static av_cold int bethsoftvid_decode_init(AVCodecContext *avctx)
{
BethsoftvidContext *vid = avctx->priv_data;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
avcodec_get_frame_defaults(&vid->frame);
return 0;
}
......
......@@ -48,7 +48,10 @@ typedef enum {
static av_cold int decode_init(AVCodecContext *avctx)
{
C93DecoderContext *s = avctx->priv_data;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
avcodec_get_frame_defaults(&s->pictures[0]);
avcodec_get_frame_defaults(&s->pictures[1]);
return 0;
}
......
......@@ -414,7 +414,7 @@ static av_cold int cinepak_decode_init(AVCodecContext *avctx)
avctx->pix_fmt = AV_PIX_FMT_PAL8;
}
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -96,7 +96,7 @@ static av_cold int cinvideo_decode_init(AVCodecContext *avctx)
cin->avctx = avctx;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
cin->frame.data[0] = NULL;
avcodec_get_frame_defaults(&cin->frame);
cin->bitmap_size = avctx->width * avctx->height;
for (i = 0; i < 3; ++i) {
......
......@@ -313,6 +313,7 @@ av_cold int ff_dvvideo_init(AVCodecContext *avctx)
s->idct_put[1] = ff_simple_idct248_put; // FIXME: need to add it to DSP
memcpy(s->dv_zigzag[1], ff_zigzag248_direct, 64);
avcodec_get_frame_defaults(&s->picture);
avctx->coded_frame = &s->picture;
s->avctx = avctx;
avctx->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
......
......@@ -115,7 +115,7 @@ static av_cold int flashsv_decode_init(AVCodecContext *avctx)
return 1;
}
avctx->pix_fmt = AV_PIX_FMT_BGR24;
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -123,7 +123,7 @@ static av_cold int flic_decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
s->new_palette = 0;
return 0;
......
......@@ -66,6 +66,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
s->avctx = avctx;
s->tmpbuf = NULL;
avcodec_get_frame_defaults(&s->frame);
ff_dsputil_init(&s->dsp, avctx);
return 0;
......
......@@ -168,6 +168,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
if (!s->planebuf)
return AVERROR(ENOMEM);
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -219,6 +219,8 @@ static av_cold int ir2_decode_init(AVCodecContext *avctx)
avctx->pix_fmt= AV_PIX_FMT_YUV410P;
avcodec_get_frame_defaults(&ic->picture);
ir2_vlc.table = vlc_tables;
ir2_vlc.table_allocated = 1 << CODE_VLC_BITS;
#ifdef BITSTREAM_READER_LE
......
......@@ -61,6 +61,8 @@ static av_cold int mm_decode_init(AVCodecContext *avctx)
avctx->pix_fmt = AV_PIX_FMT_PAL8;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -64,6 +64,7 @@ static av_cold int mp_decode_init(AVCodecContext *avctx)
mp->vpt = av_mallocz(avctx->height * sizeof(YuvPixel));
mp->hpt = av_mallocz(h4 * w4 / 16 * sizeof(YuvPixel));
avctx->pix_fmt = AV_PIX_FMT_RGB555;
avcodec_get_frame_defaults(&mp->frame);
return 0;
}
......
......@@ -66,7 +66,7 @@ static av_cold int msrle_decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -72,7 +72,7 @@ static av_cold int msvideo1_decode_init(AVCodecContext *avctx)
avctx->pix_fmt = AV_PIX_FMT_RGB555;
}
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -295,6 +295,8 @@ static av_cold int decode_init(AVCodecContext *avctx){
avctx->pix_fmt= AV_PIX_FMT_PAL8;
a->refdata = av_malloc(avctx->width * avctx->height);
avcodec_get_frame_defaults(&a->pic);
return 0;
}
......
......@@ -385,7 +385,7 @@ static av_cold int qtrle_decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -239,7 +239,7 @@ static av_cold int rpza_decode_init(AVCodecContext *avctx)
s->avctx = avctx;
avctx->pix_fmt = AV_PIX_FMT_RGB555;
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -518,7 +518,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
c->avctx = avctx;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
avcodec_get_frame_defaults(&c->pic);
/* decode huffman trees from extradata */
if(avctx->extradata_size < 16){
......
......@@ -417,7 +417,7 @@ static av_cold int smc_decode_init(AVCodecContext *avctx)
s->avctx = avctx;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -217,7 +217,7 @@ static av_cold int seqvideo_decode_init(AVCodecContext *avctx)
seq->avctx = avctx;
avctx->pix_fmt = AV_PIX_FMT_PAL8;
seq->frame.data[0] = NULL;
avcodec_get_frame_defaults(&seq->frame);
return 0;
}
......
......@@ -468,7 +468,7 @@ static av_cold int truemotion1_decode_init(AVCodecContext *avctx)
// else
// avctx->pix_fmt = AV_PIX_FMT_RGB555;
s->frame.data[0] = NULL;
avcodec_get_frame_defaults(&s->frame);
/* there is a vertical predictor for each pixel in a line; each vertical
* predictor is 0 to start with */
......
......@@ -900,7 +900,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
}
l->avctx = avctx;
l->pic.data[0] = NULL;
avcodec_get_frame_defaults(&l->pic);
avctx->pix_fmt = AV_PIX_FMT_BGR24;
ff_dsputil_init(&l->dsp, avctx);
......
......@@ -53,6 +53,7 @@ static av_cold int ulti_decode_init(AVCodecContext *avctx)
avctx->pix_fmt = AV_PIX_FMT_YUV410P;
avctx->coded_frame = &s->frame;
s->ulti_codebook = ulti_codebook;
avcodec_get_frame_defaults(&s->frame);
return 0;
}
......
......@@ -488,6 +488,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
avcodec_get_frame_defaults(&c->pic);
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment