lavc decoders: properly initialize AVFrame.
authorAnton Khirnov <anton@khirnov.net>
Wed, 13 Feb 2013 07:50:04 +0000 (08:50 +0100)
committerAnton Khirnov <anton@khirnov.net>
Fri, 8 Mar 2013 06:39:37 +0000 (07:39 +0100)
25 files changed:
libavcodec/avs.c
libavcodec/bethsoftvideo.c
libavcodec/c93.c
libavcodec/cinepak.c
libavcodec/dsicinav.c
libavcodec/dv.c
libavcodec/flashsv.c
libavcodec/flicvideo.c
libavcodec/fraps.c
libavcodec/iff.c
libavcodec/indeo2.c
libavcodec/mmvideo.c
libavcodec/motionpixels.c
libavcodec/msrle.c
libavcodec/msvideo1.c
libavcodec/qpeg.c
libavcodec/qtrle.c
libavcodec/rpza.c
libavcodec/smacker.c
libavcodec/smc.c
libavcodec/tiertexseqv.c
libavcodec/truemotion1.c
libavcodec/truemotion2.c
libavcodec/ulti.c
libavcodec/vmnc.c

index 45cb448..da27e00 100644 (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;
 }
 
index 7314570..b113bc4 100644 (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;
 }
 
index 750941e..b534669 100644 (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;
 }
 
index 0c5d5b0..e0c527c 100644 (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;
 }
index 3947954..959a82f 100644 (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) {
index 9158819..5253b7f 100644 (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;
index 3f21192..26b42e5 100644 (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;
 }
index 2588619..3d43e5e 100644 (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;
index 2a5a5a8..66ecdef 100644 (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;
index 08d548b..184dcab 100644 (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;
 }
 
index 37b3ea1..a33bbb1 100644 (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
index 7101f80..48d5772 100644 (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;
 }
 
index c205735..6ef9b0b 100644 (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;
 }
 
index 24fa523..fe6819c 100644 (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;
 }
index d0aee12..fd968bc 100644 (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;
 }
index afcb2df..bb963ed 100644 (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;
 }
 
index 7a1213f..b4667f4 100644 (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;
 }
index dd2b547..45350a8 100644 (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;
 }
index c37fb14..a27997f 100644 (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){
index de81a43..d16242b 100644 (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;
 }
index 5d5d694..50f8921 100644 (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;
 }
index 01d4694..f8a8dad 100644 (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 */
index 2ecfb93..342cb05 100644 (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);
index e99c267..3825980 100644 (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;
 }
index 41e4730..d060d5b 100644 (file)
@@ -488,6 +488,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
         return AVERROR_INVALIDDATA;
     }
 
+    avcodec_get_frame_defaults(&c->pic);
+
     return 0;
 }