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-06-15 22:31:13 +0200
commit90c4c076c700b2864fc6042ce00af03c296da1d5 (patch)
treefdd5beb403618b7cbf9852c17c8793c6b73780bd /libavcodec/mpeg4video_parser.c
parentd976855c00298fb84869e0ba5dc2ae0d48fbcfac (diff)
downloadffmpeg-90c4c076c700b2864fc6042ce00af03c296da1d5.tar.gz
avcodec/mpeg4video_parser: Fix incorrect spliting of MPEG-4 studio frames
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit a47bd1cd1c714ac94cea9d3a26b58de521a7debc) 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;