summaryrefslogtreecommitdiff
path: root/libavcodec/mpeg4video_parser.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-04-29 23:56:15 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2018-04-30 20:39:56 +0200
commita47bd1cd1c714ac94cea9d3a26b58de521a7debc (patch)
treeed6ee910d35b7fdeb82245d3fbe1a7ebe947eb29 /libavcodec/mpeg4video_parser.c
parent0f176bb8e0896f233b35054530f76c4a778b968f (diff)
downloadffmpeg-a47bd1cd1c714ac94cea9d3a26b58de521a7debc.tar.gz
avcodec/mpeg4video_parser: Fix incorrect spliting of MPEG-4 studio frames
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/mpeg4video_parser.c')
-rw-r--r--libavcodec/mpeg4video_parser.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/mpeg4video_parser.c b/libavcodec/mpeg4video_parser.c
index b7d6da1f75..32d3a83ebf 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;