diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-06-29 16:25:11 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-06-29 16:25:11 +0200 |
commit | dee7943819042f310d7995671d3e39f4dd31d770 (patch) | |
tree | da1e0dabef313ebcb508ba3796cb60760b9982b2 | |
parent | 5a458420e2fb804c8995db8c2936a9974c46678c (diff) | |
download | ffmpeg-dee7943819042f310d7995671d3e39f4dd31d770.tar.gz |
lavf/img2dec: Improve detection of valid Quickdraw images.
Detect Quickdraw images without application header with
lower score.
-rw-r--r-- | libavformat/img2dec.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 772204cde6..cf848ce05e 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -725,9 +725,15 @@ static int qdraw_probe(AVProbeData *p) { const uint8_t *b = p->buf; - if (!b[10] && AV_RB32(b+11) == 0x1102ff0c && !b[15] || - p->buf_size >= 528 && !b[522] && AV_RB32(b+523) == 0x1102ff0c && !b[527]) - return AVPROBE_SCORE_EXTENSION + 1; + if ( p->buf_size >= 528 + && (AV_RB64(b + 520) & 0xFFFFFFFFFFFF) == 0x001102ff0c00 + && AV_RB16(b + 520) + && AV_RB16(b + 518)) + return AVPROBE_SCORE_MAX * 3 / 4; + if ( (AV_RB64(b + 8) & 0xFFFFFFFFFFFF) == 0x001102ff0c00 + && AV_RB16(b + 8) + && AV_RB16(b + 6)) + return AVPROBE_SCORE_EXTENSION / 4; return 0; } |