summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/mpegvideo.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 192e27f215..718f946302 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -1633,8 +1633,12 @@ int ff_MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
return ret;
}
- assert(s->pict_type == AV_PICTURE_TYPE_I || (s->last_picture_ptr &&
- s->last_picture_ptr->f.data[0]));
+ if (s->pict_type != AV_PICTURE_TYPE_I &&
+ !(s->last_picture_ptr && s->last_picture_ptr->f.data[0])) {
+ av_log(s, AV_LOG_ERROR,
+ "Non-reference picture received and no reference available\n");
+ return AVERROR_INVALIDDATA;
+ }
if (s->picture_structure!= PICT_FRAME) {
int i;