lavc decoders: properly initialize AVFrame.

This commit is contained in:
Anton Khirnov 2013-02-13 08:50:04 +01:00
parent 759001c534
commit 3b199d29cd
25 changed files with 34 additions and 13 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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) {

View File

@ -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;

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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){

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 */

View File

@ -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);

View File

@ -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;
}

View File

@ -488,6 +488,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
avcodec_get_frame_defaults(&c->pic);
return 0;
}