[FFmpeg-cvslog] fraps: use the AVFrame API properly.

Anton Khirnov git at videolan.org
Sun Nov 17 02:33:00 CET 2013


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sat Nov  9 10:14:46 2013 +0100| [4a4841d4e0f0dc50998511bf6c48b518012024db] | committer: Anton Khirnov

fraps: use the AVFrame API properly.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4a4841d4e0f0dc50998511bf6c48b518012024db
---

 libavcodec/fraps.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c
index 438c215..f12e4e0 100644
--- a/libavcodec/fraps.c
+++ b/libavcodec/fraps.c
@@ -45,7 +45,7 @@
  */
 typedef struct FrapsContext {
     AVCodecContext *avctx;
-    AVFrame frame;
+    AVFrame *frame;
     uint8_t *tmpbuf;
     int tmpbuf_size;
     DSPContext dsp;
@@ -66,7 +66,9 @@ static av_cold int decode_init(AVCodecContext *avctx)
     s->avctx  = avctx;
     s->tmpbuf = NULL;
 
-    avcodec_get_frame_defaults(&s->frame);
+    s->frame = av_frame_alloc();
+    if (!s->frame)
+        return AVERROR(ENOMEM);
 
     ff_dsputil_init(&s->dsp, avctx);
 
@@ -136,7 +138,7 @@ static int decode_frame(AVCodecContext *avctx,
     const uint8_t *buf     = avpkt->data;
     int buf_size           = avpkt->size;
     AVFrame *frame         = data;
-    AVFrame * const f      = &s->frame;
+    AVFrame * const f      = s->frame;
     uint32_t header;
     unsigned int version,header_size;
     unsigned int x, y;
@@ -361,7 +363,7 @@ static av_cold int decode_end(AVCodecContext *avctx)
 {
     FrapsContext *s = (FrapsContext*)avctx->priv_data;
 
-    av_frame_unref(&s->frame);
+    av_frame_free(&s->frame);
 
     av_freep(&s->tmpbuf);
     return 0;



More information about the ffmpeg-cvslog mailing list