mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
probe for 'junk' and 'pict', changed the scores.
Originally committed as revision 3888 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
edaf11e87a
commit
2497479f2b
@ -1616,6 +1616,7 @@ static int mov_probe(AVProbeData *p)
|
||||
{
|
||||
unsigned int offset;
|
||||
uint32_t tag;
|
||||
int score = 0;
|
||||
|
||||
/* check file header */
|
||||
if (p->buf_size <= 12)
|
||||
@ -1624,26 +1625,33 @@ static int mov_probe(AVProbeData *p)
|
||||
for(;;) {
|
||||
/* ignore invalid offset */
|
||||
if ((offset + 8) > (unsigned int)p->buf_size)
|
||||
return 0;
|
||||
return score;
|
||||
tag = mov_to_tag(p->buf + offset + 4);
|
||||
switch(tag) {
|
||||
/* check for obvious tags */
|
||||
case MKTAG( 'm', 'o', 'o', 'v' ):
|
||||
case MKTAG( 'w', 'i', 'd', 'e' ):
|
||||
case MKTAG( 'f', 'r', 'e', 'e' ):
|
||||
case MKTAG( 'm', 'd', 'a', 't' ):
|
||||
case MKTAG( 'p', 'n', 'o', 't' ): /* detect movs with preview pics like ew.mov and april.mov */
|
||||
case MKTAG( 'u', 'd', 't', 'a' ): /* Packet Video PVAuthor adds this and a lot of more junk */
|
||||
return AVPROBE_SCORE_MAX;
|
||||
/* those are more common words, so rate then a bit less */
|
||||
case MKTAG( 'w', 'i', 'd', 'e' ):
|
||||
case MKTAG( 'f', 'r', 'e', 'e' ):
|
||||
case MKTAG( 'j', 'u', 'n', 'k' ):
|
||||
case MKTAG( 'p', 'i', 'c', 't' ):
|
||||
return AVPROBE_SCORE_MAX - 5;
|
||||
case MKTAG( 'f', 't', 'y', 'p' ):
|
||||
case MKTAG( 's', 'k', 'i', 'p' ):
|
||||
offset = to_be32(p->buf+offset) + offset;
|
||||
/* if we only find those cause probedata is too small at least rate them */
|
||||
score = AVPROBE_SCORE_MAX - 50;
|
||||
break;
|
||||
default:
|
||||
/* unrecognized tag */
|
||||
return 0;
|
||||
return score;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return score;
|
||||
}
|
||||
|
||||
static int mov_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
||||
|
Loading…
Reference in New Issue
Block a user