summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-07-13 20:16:27 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-07-13 20:16:27 +0200
commite879819e7b271e08cfdea9cbcf0f879b04bd09c3 (patch)
treeaacf47a380667613186e17dd030001ad8f3b3c77 /libavfilter
parent57fa9608e419ddc377d04f508329595ec1e027cb (diff)
avfilter/vf_uspp: Check for encoding failure
Fixes CID1363015 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/vf_uspp.c8
1 files changed, 7 insertions, 1 deletions
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<<p->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];