diff --git a/libavcodec/cpia.c b/libavcodec/cpia.c index c45936b65f..a631a05108 100644 --- a/libavcodec/cpia.c +++ b/libavcodec/cpia.c @@ -61,12 +61,6 @@ static int cpia_decode_frame(AVCodecContext* avctx, AVFrame* const frame = &cpia->frame; uint8_t *y, *u, *v, *y_end, *u_end, *v_end; - // Get buffer filled with previous frame - if ((ret = avctx->reget_buffer(avctx, frame)) < 0) { - av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed!\n"); - return ret; - } - // Check header if ( avpkt->size < FRAME_HEADER_SIZE || header[0] != MAGIC_0 || header[1] != MAGIC_1 @@ -104,6 +98,12 @@ static int cpia_decode_frame(AVCodecContext* avctx, frame->key_frame = 0; } + // Get buffer filled with previous frame + if ((ret = avctx->reget_buffer(avctx, frame)) < 0) { + av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed!\n"); + return ret; + } + for ( i = 0; i < frame->height;