From 4f2954e2327c211f3fbe20b84f4881e1f8df1528 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Tue, 26 Apr 2011 11:37:36 +0200 Subject: smacker: remove unnecessary call to avctx->release_buffer in decode_frame() The release_buffer was cleaning the provided frame, thus causing the successive call to avctx->reget_buffer() to allocate a new frame. In case the returned frame was not the same one previously returned but a new one with different data, it resulted in artifacts. Signed-off-by: Ronald S. Bultje --- libavcodec/smacker.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'libavcodec/smacker.c') diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c index 3a97b720a5..aef5e2502b 100644 --- a/libavcodec/smacker.c +++ b/libavcodec/smacker.c @@ -360,8 +360,6 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac if(buf_size <= 769) return 0; - if(smk->pic.data[0]) - avctx->release_buffer(avctx, &smk->pic); smk->pic.reference = 1; smk->pic.buffer_hints = FF_BUFFER_HINTS_VALID | FF_BUFFER_HINTS_PRESERVE | FF_BUFFER_HINTS_REUSABLE; -- cgit v1.2.3