Commit 76a47d66 authored by Michael Niedermayer's avatar Michael Niedermayer

avformat/dv: about 3 times faster probe

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent dbb41f93
......@@ -590,19 +590,21 @@ static int dv_probe(AVProbeData *p)
if (p->buf_size < 5)
return 0;
state = AV_RB32(p->buf);
for (i = 4; i < p->buf_size; i++) {
if ((state & 0xffffff7f) == 0x1f07003f)
matches++;
// any section header, also with seq/chan num != 0,
// should appear around every 12000 bytes, at least 10 per frame
if ((state & 0xff07ff7f) == 0x1f07003f)
secondary_matches++;
if (state == 0x003f0700 || state == 0xff3f0700)
marker_pos = i;
if (state == 0xff3f0701 && i - marker_pos == 80)
matches++;
state = (state << 8) | p->buf[i];
for (i = 0; i < p->buf_size-4; i++) {
unsigned state = AV_RB32(p->buf+i);
if ((state & 0x0007f840) == 0x00070000) {
// any section header, also with seq/chan num != 0,
// should appear around every 12000 bytes, at least 10 per frame
if ((state & 0xff07ff7f) == 0x1f07003f) {
secondary_matches++;
if ((state & 0xffffff7f) == 0x1f07003f)
matches++;
}
if (state == 0x003f0700 || state == 0xff3f0700)
marker_pos = i;
if (state == 0xff3f0701 && i - marker_pos == 80)
matches++;
}
}
if (matches && p->buf_size / matches < 1024 * 1024) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment