[SCM] libav/experimental: Optimize h261_probe function, since it is far slower than all others. About 5 times faster.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:00:03 UTC 2013


The following commit has been merged in the experimental branch:
commit 3adcfbbeb51e3e941b0fa8288d202400789eda53
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Sun Feb 14 18:59:56 2010 +0000

    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

diff --git a/libavformat/raw.c b/libavformat/raw.c
index f4d7bb1..df3b017 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list