diff options
Diffstat (limited to 'gst/mpegvideoparse')
-rw-r--r-- | gst/mpegvideoparse/mpegpacketiser.c | 10 |
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++; } |