Mercurial > libavformat.hg
changeset 5187:0394dceb230f libavformat
Improve sierravmd probe. It is still quite weak, but further improvements
are non-obvious and probably need a large (about 1kB at least) probe buffer.
author | reimar |
---|---|
date | Tue, 15 Sep 2009 09:16:29 +0000 |
parents | cbaefd9135ac |
children | 2a5cf64915b5 |
files | sierravmd.c |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/sierravmd.c Mon Sep 14 23:03:33 2009 +0000 +++ b/sierravmd.c Tue Sep 15 09:16:29 2009 +0000 @@ -61,10 +61,17 @@ static int vmd_probe(AVProbeData *p) { + int w, h; + if (p->buf_size < 16) + return 0; /* check if the first 2 bytes of the file contain the appropriate size * of a VMD header chunk */ if (AV_RL16(&p->buf[0]) != VMD_HEADER_SIZE - 2) return 0; + w = AV_RL16(&p->buf[12]); + h = AV_RL16(&p->buf[14]); + if (!w || w > 2048 || !h || h > 2048) + return 0; /* only return half certainty since this check is a bit sketchy */ return AVPROBE_SCORE_MAX / 2;