Browse Source

indeo3: release buffer before calling decode_plane

tags/n1.1
Paul B Mahol 13 years ago
parent
commit
20ac916e6d
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavcodec/indeo3.c

+ 3
- 3
libavcodec/indeo3.c View File

@@ -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");


Loading…
Cancel
Save