[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