diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 47f3a0908e..6e9c2eae99 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -2504,9 +2504,10 @@ static int hevc_decode_frame(AVCodecContext *avctx, void *data, int *got_output, /* verify the SEI checksum */ if (avctx->err_recognition & AV_EF_CRCCHECK && s->is_decoded && + avctx->err_recognition & AV_EF_EXPLODE && s->is_md5) { ret = verify_md5(s, s->ref->frame); - if (ret < 0 && avctx->err_recognition & AV_EF_EXPLODE) { + if (ret < 0) { ff_hevc_unref_frame(s, s->ref, ~0); return ret; }