diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index d1d81d3493..ea9e4ccf55 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -671,7 +671,8 @@ static int mjpeg_decode_scan(MJpegDecodeContext *s, int nb_components, int ss, i linesize[c]=s->linesize[c]; if(s->avctx->codec->id==CODEC_ID_AMV) { //picture should be flipped upside-down for this codec - data[c] += (linesize[c] * (s->v_scount[i] * 8 * s->mb_height - 1)); + assert(!(s->avctx->flags & CODEC_FLAG_EMU_EDGE)); + data[c] += (linesize[c] * (s->v_scount[i] * (8 * s->mb_height -((s->height/s->v_max)&7)) - 1 )); linesize[c] *= -1; } } diff --git a/libavcodec/sp5xdec.c b/libavcodec/sp5xdec.c index ada46ca353..104ed31b7b 100644 --- a/libavcodec/sp5xdec.c +++ b/libavcodec/sp5xdec.c @@ -87,6 +87,7 @@ static int sp5x_decode_frame(AVCodecContext *avctx, recoded[j++] = 0xFF; recoded[j++] = 0xD9; + avctx->flags &= ~CODEC_FLAG_EMU_EDGE; i = ff_mjpeg_decode_frame(avctx, data, data_size, recoded, j); av_free(recoded); @@ -207,6 +208,5 @@ AVCodec amv_decoder = { ff_mjpeg_decode_init, NULL, ff_mjpeg_decode_end, - sp5x_decode_frame, - CODEC_CAP_DR1 + sp5x_decode_frame };