avcodec/rasc: Move ff_get_buffer() after frame checks

If the frame1/2 checks fail this avoids doing the allocation of a new frame

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2019-01-23 00:19:14 +01:00
parent f4079d5174
commit 9f4af97aff
1 changed files with 3 additions and 3 deletions

View File

@ -723,12 +723,12 @@ static int decode_frame(AVCodecContext *avctx,
return ret; return ret;
} }
if ((ret = ff_get_buffer(avctx, s->frame, 0)) < 0)
return ret;
if (!s->frame2->data[0] || !s->frame1->data[0]) if (!s->frame2->data[0] || !s->frame1->data[0])
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
if ((ret = ff_get_buffer(avctx, s->frame, 0)) < 0)
return ret;
copy_plane(avctx, s->frame2, s->frame); copy_plane(avctx, s->frame2, s->frame);
if (avctx->pix_fmt == AV_PIX_FMT_PAL8) if (avctx->pix_fmt == AV_PIX_FMT_PAL8)
memcpy(s->frame->data[1], s->frame2->data[1], 1024); memcpy(s->frame->data[1], s->frame2->data[1], 1024);