Browse Source

Make dnxhd probe more strict, fail if we detect values in header that would

make our decoder fail anyway.
dnxhd probe now passes probetest.

Originally committed as revision 19847 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Reimar Döffinger 16 years ago
parent
commit
98487a5b69
1 changed files with 12 additions and 3 deletions
  1. +12
    -3
      libavformat/raw.c

+ 12
- 3
libavformat/raw.c View File

@@ -580,10 +580,19 @@ static int dirac_probe(AVProbeData *p)
static int dnxhd_probe(AVProbeData *p)
{
static const uint8_t header[] = {0x00,0x00,0x02,0x80,0x01};
if (!memcmp(p->buf, header, 5))
return AVPROBE_SCORE_MAX;
else
int w, h, compression_id;
if (p->buf_size < 0x2c)
return 0;
if (memcmp(p->buf, header, 5))
return 0;
h = AV_RB16(p->buf + 0x18);
w = AV_RB16(p->buf + 0x1a);
if (!w || !h)
return 0;
compression_id = AV_RB32(p->buf + 0x28);
if (compression_id < 1237 || compression_id > 1253)
return 0;
return AVPROBE_SCORE_MAX;
}
#endif



Loading…
Cancel
Save