diff --git a/libavcodec/mpeg4video_parser.c b/libavcodec/mpeg4video_parser.c index b7d6da1f75257ff007243b5cec710ace73ba6ff2..32d3a83ebf08780b3f78209139e1c0d093360e1b 100644 --- a/libavcodec/mpeg4video_parser.c +++ b/libavcodec/mpeg4video_parser.c @@ -61,6 +61,8 @@ int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size) for (; i < buf_size; i++) { state = (state << 8) | buf[i]; if ((state & 0xFFFFFF00) == 0x100) { + if (state == SLICE_STARTCODE || state == EXT_STARTCODE) + continue; pc->frame_start_found = 0; pc->state = -1; return i - 3;