From e879819e7b271e08cfdea9cbcf0f879b04bd09c3 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 13 Jul 2016 20:16:27 +0200 Subject: [PATCH] avfilter/vf_uspp: Check for encoding failure Fixes CID1363015 Signed-off-by: Michael Niedermayer --- libavfilter/vf_uspp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c index f963254e11..8a6d0fbb93 100644 --- a/libavfilter/vf_uspp.c +++ b/libavfilter/vf_uspp.c @@ -186,6 +186,7 @@ static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3], { int x, y, i, j; const int count = 1<log2_count; + int ret; for (i = 0; i < 3; i++) { int is_chroma = !!i; @@ -249,7 +250,12 @@ static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3], p->frame->data[2] = p->src[2] + x1c + y1c * p->frame->linesize[2]; p->frame->format = p->avctx_enc[i]->pix_fmt; - avcodec_encode_video2(p->avctx_enc[i], &pkt, p->frame, &got_pkt_ptr); + ret = avcodec_encode_video2(p->avctx_enc[i], &pkt, p->frame, &got_pkt_ptr); + if (ret < 0) { + av_log(p->avctx_enc[i], AV_LOG_ERROR, "Encoding failed\n"); + continue; + } + p->frame_dec = p->avctx_enc[i]->coded_frame; offset = (BLOCK-x1) + (BLOCK-y1) * p->frame_dec->linesize[0];