summaryrefslogtreecommitdiff
path: root/gst/mpegvideoparse
diff options
context:
space:
mode:
Diffstat (limited to 'gst/mpegvideoparse')
-rw-r--r--gst/mpegvideoparse/mpegpacketiser.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gst/mpegvideoparse/mpegpacketiser.c b/gst/mpegvideoparse/mpegpacketiser.c
index fb8c9f524..694c4761d 100644
--- a/gst/mpegvideoparse/mpegpacketiser.c
+++ b/gst/mpegvideoparse/mpegpacketiser.c
@@ -108,6 +108,16 @@ mpeg_util_find_start_code (guint32 * sync_word, guint8 * cur, guint8 * end)
return cur;
}
+ /* accelerate search for start code */
+ if (*cur > 1) {
+ while (cur < (end - 4) && *cur > 1)
+ if (cur[3] > 1)
+ cur += 4;
+ else
+ cur++;
+ code = 0xffffff00;
+ }
+
/* Add the next available byte to the collected sync word */
code |= *cur++;
}