aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-01-23 00:19:14 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2019-01-31 17:29:05 +0100
commitb482e94e59b15efde07326619c3cdab5826d1320 (patch)
tree4116063423599461295ba5c1b217a5572c222269
parent0f1332309aff3924fcd740cf36c61f1f9e6f026e (diff)
downloadffmpeg-b482e94e59b15efde07326619c3cdab5826d1320.tar.gz
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> (cherry picked from commit 9f4af97aff899571663342fbe68df8caee30097f) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/rasc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/rasc.c b/libavcodec/rasc.c
index 6e32c1540e..21fc43f325 100644
--- a/libavcodec/rasc.c
+++ b/libavcodec/rasc.c
@@ -723,12 +723,12 @@ static int decode_frame(AVCodecContext *avctx,
return ret;
}
- if ((ret = ff_get_buffer(avctx, s->frame, 0)) < 0)
- return ret;
-
if (!s->frame2->data[0] || !s->frame1->data[0])
return AVERROR_INVALIDDATA;
+ if ((ret = ff_get_buffer(avctx, s->frame, 0)) < 0)
+ return ret;
+
copy_plane(avctx, s->frame2, s->frame);
if (avctx->pix_fmt == AV_PIX_FMT_PAL8)
memcpy(s->frame->data[1], s->frame2->data[1], 1024);