summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2015-06-29 16:25:11 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2015-06-29 16:25:11 +0200
commitdee7943819042f310d7995671d3e39f4dd31d770 (patch)
treeda1e0dabef313ebcb508ba3796cb60760b9982b2 /libavformat
parent5a458420e2fb804c8995db8c2936a9974c46678c (diff)
lavf/img2dec: Improve detection of valid Quickdraw images.
Detect Quickdraw images without application header with lower score.
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/img2dec.c12
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;
}