diff --git a/libavcodec/mjpeg_parser.c b/libavcodec/mjpeg_parser.c index 16a5902c7c..62b923b625 100644 --- a/libavcodec/mjpeg_parser.c +++ b/libavcodec/mjpeg_parser.c @@ -80,10 +80,10 @@ static int find_frame_end(MJPEGParserContext *m, const uint8_t *buf, int buf_siz pc->frame_start_found=0; pc->state=0; return i-3; + } else if((state>>16)==0xFFD9 && (state&0xFFFF)!=0xFFD8){ + state= 0xFFD900|(state&0xFF); } else if(state<0xFFD00000 || state>0xFFD9FFFF){ m->size= (state&0xFFFF)-1; - if (m->size >= 0xF000) - m->size = 0; } } if(m->size>0){