[FFmpeg-cvslog] indeo3: release buffer before calling decode_plane

Paul B Mahol git at videolan.org
Sat Nov 3 00:49:51 CET 2012


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Fri Nov  2 23:39:03 2012 +0000| [20ac916e6d94cc9df95ca76cabf99c25776dbe41] | committer: Paul B Mahol

indeo3: release buffer before calling decode_plane

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

 libavcodec/indeo3.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index bd2bc3b..1f341e3 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -1084,6 +1084,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
     /* use BS_BUFFER flag for buffer switching */
     ctx->buf_sel = (ctx->frame_flags >> BS_BUFFER) & 1;
 
+    if (ctx->frame.data[0])
+        avctx->release_buffer(avctx, &ctx->frame);
+
     /* decode luma plane */
     if ((res = decode_plane(ctx, avctx, ctx->planes, ctx->y_data_ptr, ctx->y_data_size, 40)))
         return res;
@@ -1095,9 +1098,6 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
     if ((res = decode_plane(ctx, avctx, &ctx->planes[2], ctx->v_data_ptr, ctx->v_data_size, 10)))
         return res;
 
-    if (ctx->frame.data[0])
-        avctx->release_buffer(avctx, &ctx->frame);
-
     ctx->frame.reference = 0;
     if ((res = avctx->get_buffer(avctx, &ctx->frame)) < 0) {
         av_log(ctx->avctx, AV_LOG_ERROR, "get_buffer() failed\n");



More information about the ffmpeg-cvslog mailing list