[FFmpeg-cvslog] iff: process DEEP DLOC chunk to obtain image dimensions

Peter Ross git at videolan.org
Sun Nov 18 13:55:57 CET 2012


ffmpeg | branch: master | Peter Ross <pross at xvid.org> | Sun Nov 18 19:02:03 2012 +1100| [05001dd7ca398f495f35e1b4ef7282d2b1dfdaf0] | committer: Michael Niedermayer

iff: process DEEP DLOC chunk to obtain image dimensions

Reviewed-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=05001dd7ca398f495f35e1b4ef7282d2b1dfdaf0
---

 libavformat/iff.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavformat/iff.c b/libavformat/iff.c
index d4bdf50..53e104d 100644
--- a/libavformat/iff.c
+++ b/libavformat/iff.c
@@ -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;



More information about the ffmpeg-cvslog mailing list