Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2010-02-14 21:59:56 +0300
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2010-02-14 21:59:56 +0300
commit3adcfbbeb51e3e941b0fa8288d202400789eda53 (patch)
tree27a9ff9f1fb16800f09301ee2e59783f45775929 /libavformat
parenta59b9ee33d2442ab89a5a367eac3bc08c6b581da (diff)
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
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/raw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/raw.c b/libavformat/raw.c
index f4d7bb16c3..df3b01754d 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;