mpegvideo: dont call draw edges on lowres
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 15 Aug 2012 20:33:55 +0000 (22:33 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 15 Aug 2012 20:42:30 +0000 (22:42 +0200)
this crashes otherwise, and can happen from try_decode_frame() in the case of decoding errors
Fixes Ticket1602

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/mpegvideo.c

index 22a9ec8..fc05b5f 100644 (file)
@@ -1354,7 +1354,9 @@ void ff_MPV_frame_end(MpegEncContext *s)
               s->unrestricted_mv &&
               s->current_picture.f.reference &&
               !s->intra_only &&
-              !(s->flags & CODEC_FLAG_EMU_EDGE)) {
+              !(s->flags & CODEC_FLAG_EMU_EDGE) &&
+              !s->avctx->lowres
+            ) {
         int hshift = av_pix_fmt_descriptors[s->avctx->pix_fmt].log2_chroma_w;
         int vshift = av_pix_fmt_descriptors[s->avctx->pix_fmt].log2_chroma_h;
         s->dsp.draw_edges(s->current_picture.f.data[0], s->current_picture.f.linesize[0],