mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
lavc decoders: properly initialize AVFrame.
This commit is contained in:
parent
759001c534
commit
3b199d29cd
@ -158,8 +158,10 @@ avs_decode_frame(AVCodecContext * avctx,
|
|||||||
|
|
||||||
static av_cold int avs_decode_init(AVCodecContext * avctx)
|
static av_cold int avs_decode_init(AVCodecContext * avctx)
|
||||||
{
|
{
|
||||||
|
AvsContext *s = avctx->priv_data;
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
avcodec_set_dimensions(avctx, 318, 198);
|
avcodec_set_dimensions(avctx, 318, 198);
|
||||||
|
avcodec_get_frame_defaults(&s->picture);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ static av_cold int bethsoftvid_decode_init(AVCodecContext *avctx)
|
|||||||
{
|
{
|
||||||
BethsoftvidContext *vid = avctx->priv_data;
|
BethsoftvidContext *vid = avctx->priv_data;
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
|
avcodec_get_frame_defaults(&vid->frame);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,10 @@ typedef enum {
|
|||||||
|
|
||||||
static av_cold int decode_init(AVCodecContext *avctx)
|
static av_cold int decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
|
C93DecoderContext *s = avctx->priv_data;
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
|
avcodec_get_frame_defaults(&s->pictures[0]);
|
||||||
|
avcodec_get_frame_defaults(&s->pictures[1]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -414,7 +414,7 @@ static av_cold int cinepak_decode_init(AVCodecContext *avctx)
|
|||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
}
|
}
|
||||||
|
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ static av_cold int cinvideo_decode_init(AVCodecContext *avctx)
|
|||||||
cin->avctx = avctx;
|
cin->avctx = avctx;
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
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;
|
cin->bitmap_size = avctx->width * avctx->height;
|
||||||
for (i = 0; i < 3; ++i) {
|
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
|
s->idct_put[1] = ff_simple_idct248_put; // FIXME: need to add it to DSP
|
||||||
memcpy(s->dv_zigzag[1], ff_zigzag248_direct, 64);
|
memcpy(s->dv_zigzag[1], ff_zigzag248_direct, 64);
|
||||||
|
|
||||||
|
avcodec_get_frame_defaults(&s->picture);
|
||||||
avctx->coded_frame = &s->picture;
|
avctx->coded_frame = &s->picture;
|
||||||
s->avctx = avctx;
|
s->avctx = avctx;
|
||||||
avctx->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
|
avctx->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
|
||||||
|
@ -115,7 +115,7 @@ static av_cold int flashsv_decode_init(AVCodecContext *avctx)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
avctx->pix_fmt = AV_PIX_FMT_BGR24;
|
avctx->pix_fmt = AV_PIX_FMT_BGR24;
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -123,7 +123,7 @@ static av_cold int flic_decode_init(AVCodecContext *avctx)
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
s->new_palette = 0;
|
s->new_palette = 0;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -66,6 +66,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||||||
s->avctx = avctx;
|
s->avctx = avctx;
|
||||||
s->tmpbuf = NULL;
|
s->tmpbuf = NULL;
|
||||||
|
|
||||||
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
ff_dsputil_init(&s->dsp, avctx);
|
ff_dsputil_init(&s->dsp, avctx);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -168,6 +168,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||||||
if (!s->planebuf)
|
if (!s->planebuf)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,6 +219,8 @@ static av_cold int ir2_decode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
avctx->pix_fmt= AV_PIX_FMT_YUV410P;
|
avctx->pix_fmt= AV_PIX_FMT_YUV410P;
|
||||||
|
|
||||||
|
avcodec_get_frame_defaults(&ic->picture);
|
||||||
|
|
||||||
ir2_vlc.table = vlc_tables;
|
ir2_vlc.table = vlc_tables;
|
||||||
ir2_vlc.table_allocated = 1 << CODE_VLC_BITS;
|
ir2_vlc.table_allocated = 1 << CODE_VLC_BITS;
|
||||||
#ifdef BITSTREAM_READER_LE
|
#ifdef BITSTREAM_READER_LE
|
||||||
|
@ -61,6 +61,8 @@ static av_cold int mm_decode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
|
|
||||||
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +64,7 @@ static av_cold int mp_decode_init(AVCodecContext *avctx)
|
|||||||
mp->vpt = av_mallocz(avctx->height * sizeof(YuvPixel));
|
mp->vpt = av_mallocz(avctx->height * sizeof(YuvPixel));
|
||||||
mp->hpt = av_mallocz(h4 * w4 / 16 * sizeof(YuvPixel));
|
mp->hpt = av_mallocz(h4 * w4 / 16 * sizeof(YuvPixel));
|
||||||
avctx->pix_fmt = AV_PIX_FMT_RGB555;
|
avctx->pix_fmt = AV_PIX_FMT_RGB555;
|
||||||
|
avcodec_get_frame_defaults(&mp->frame);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ static av_cold int msrle_decode_init(AVCodecContext *avctx)
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ static av_cold int msvideo1_decode_init(AVCodecContext *avctx)
|
|||||||
avctx->pix_fmt = AV_PIX_FMT_RGB555;
|
avctx->pix_fmt = AV_PIX_FMT_RGB555;
|
||||||
}
|
}
|
||||||
|
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -295,6 +295,8 @@ static av_cold int decode_init(AVCodecContext *avctx){
|
|||||||
avctx->pix_fmt= AV_PIX_FMT_PAL8;
|
avctx->pix_fmt= AV_PIX_FMT_PAL8;
|
||||||
a->refdata = av_malloc(avctx->width * avctx->height);
|
a->refdata = av_malloc(avctx->width * avctx->height);
|
||||||
|
|
||||||
|
avcodec_get_frame_defaults(&a->pic);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -385,7 +385,7 @@ static av_cold int qtrle_decode_init(AVCodecContext *avctx)
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -239,7 +239,7 @@ static av_cold int rpza_decode_init(AVCodecContext *avctx)
|
|||||||
s->avctx = avctx;
|
s->avctx = avctx;
|
||||||
avctx->pix_fmt = AV_PIX_FMT_RGB555;
|
avctx->pix_fmt = AV_PIX_FMT_RGB555;
|
||||||
|
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -518,7 +518,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||||||
c->avctx = avctx;
|
c->avctx = avctx;
|
||||||
|
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
|
avcodec_get_frame_defaults(&c->pic);
|
||||||
|
|
||||||
/* decode huffman trees from extradata */
|
/* decode huffman trees from extradata */
|
||||||
if(avctx->extradata_size < 16){
|
if(avctx->extradata_size < 16){
|
||||||
|
@ -417,7 +417,7 @@ static av_cold int smc_decode_init(AVCodecContext *avctx)
|
|||||||
s->avctx = avctx;
|
s->avctx = avctx;
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
|
|
||||||
s->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -217,7 +217,7 @@ static av_cold int seqvideo_decode_init(AVCodecContext *avctx)
|
|||||||
seq->avctx = avctx;
|
seq->avctx = avctx;
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
||||||
|
|
||||||
seq->frame.data[0] = NULL;
|
avcodec_get_frame_defaults(&seq->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -468,7 +468,7 @@ static av_cold int truemotion1_decode_init(AVCodecContext *avctx)
|
|||||||
// else
|
// else
|
||||||
// avctx->pix_fmt = AV_PIX_FMT_RGB555;
|
// 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
|
/* there is a vertical predictor for each pixel in a line; each vertical
|
||||||
* predictor is 0 to start with */
|
* predictor is 0 to start with */
|
||||||
|
@ -900,7 +900,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
l->avctx = avctx;
|
l->avctx = avctx;
|
||||||
l->pic.data[0] = NULL;
|
avcodec_get_frame_defaults(&l->pic);
|
||||||
avctx->pix_fmt = AV_PIX_FMT_BGR24;
|
avctx->pix_fmt = AV_PIX_FMT_BGR24;
|
||||||
|
|
||||||
ff_dsputil_init(&l->dsp, avctx);
|
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->pix_fmt = AV_PIX_FMT_YUV410P;
|
||||||
avctx->coded_frame = &s->frame;
|
avctx->coded_frame = &s->frame;
|
||||||
s->ulti_codebook = ulti_codebook;
|
s->ulti_codebook = ulti_codebook;
|
||||||
|
avcodec_get_frame_defaults(&s->frame);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -488,6 +488,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
avcodec_get_frame_defaults(&c->pic);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user