iff: process DEEP DLOC chunk to obtain image dimensions

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Peter Ross 2012-11-18 19:02:03 +11:00 committed by Michael Niedermayer
parent d26eeb0dc1
commit 05001dd7ca

View File

@ -63,6 +63,7 @@
#define ID_BODY MKTAG('B','O','D','Y')
#define ID_DBOD MKTAG('D','B','O','D')
#define ID_DPEL MKTAG('D','P','E','L')
#define ID_DLOC MKTAG('D','L','O','C')
#define LEFT 2
#define RIGHT 4
@ -281,6 +282,13 @@ static int iff_read_header(AVFormatContext *s)
st->codec->bits_per_coded_sample = 24;
break;
case ID_DLOC:
if (data_size < 4)
return AVERROR_INVALIDDATA;
st->codec->width = avio_rb16(pb);
st->codec->height = avio_rb16(pb);
break;
case ID_ANNO:
case ID_TEXT: metadata_tag = "comment"; break;
case ID_AUTH: metadata_tag = "artist"; break;