From 3adcfbbeb51e3e941b0fa8288d202400789eda53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= <Reimar.Doeffinger@gmx.de>
Date: Sun, 14 Feb 2010 18:59:56 +0000
Subject: [PATCH] Optimize h261_probe function, since it is far slower than all
 others. About 5 times faster.

Originally committed as revision 21823 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/raw.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavformat/raw.c b/libavformat/raw.c
index f4d7bb16c3b..df3b01754d8 100644
--- a/libavformat/raw.c
+++ b/libavformat/raw.c
@@ -497,6 +497,10 @@ static int h261_probe(AVProbeData *p)
     init_get_bits(&gb, p->buf, p->buf_size*8);
 
     for(i=0; i<p->buf_size*8; i++){
+        if ((code & 0x01ff0000) || !(code & 0xff00)) {
+            code = (code<<8) + get_bits(&gb, 8);
+            i += 7;
+        } else
         code = (code<<1) + get_bits1(&gb);
         if ((code & 0xffff0000) == 0x10000) {
             int gn= (code>>12)&0xf;
-- 
GitLab