h264: call av_frame_unref() instead of avcodec_get_frame_defaults().
authorAnton Khirnov <anton@khirnov.net>
Mon, 9 Dec 2013 10:51:31 +0000 (11:51 +0100)
committerAnton Khirnov <anton@khirnov.net>
Wed, 11 Dec 2013 19:39:55 +0000 (20:39 +0100)
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.

libavcodec/h264.c

index 29a6960..07a93cf 100644 (file)
@@ -1341,8 +1341,8 @@ int ff_h264_alloc_tables(H264Context *h)
         if (!h->DPB)
             return AVERROR(ENOMEM);
         for (i = 0; i < MAX_PICTURE_COUNT; i++)
-            avcodec_get_frame_defaults(&h->DPB[i].f);
-        avcodec_get_frame_defaults(&h->cur_pic.f);
+            av_frame_unref(&h->DPB[i].f);
+        av_frame_unref(&h->cur_pic.f);
     }
 
     return 0;
@@ -1721,7 +1721,7 @@ static int decode_update_thread_context(AVCodecContext *dst,
         h->context_initialized = 0;
 
         memset(&h->cur_pic, 0, sizeof(h->cur_pic));
-        avcodec_get_frame_defaults(&h->cur_pic.f);
+        av_frame_unref(&h->cur_pic.f);
         h->cur_pic.tf.f = &h->cur_pic.f;
 
         h->avctx             = dst;