avfilter/vf_uspp: Check for encoding failure

Fixes CID1363015

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2016-07-13 20:16:27 +02:00
parent 57fa9608e4
commit e879819e7b
1 changed files with 7 additions and 1 deletions

View File

@ -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];