From 4a14e666056e430298616b5d5ffa8c57cf609465 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Mon, 24 Nov 2008 10:53:13 +0000 Subject: [PATCH] Add known BMP header sizes. Now 11B*.bmp from samples repository can be decoded. Originally committed as revision 15922 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/bmp.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libavcodec/bmp.c b/libavcodec/bmp.c index ca2e201b54..f4205c9973 100644 --- a/libavcodec/bmp.c +++ b/libavcodec/bmp.c @@ -85,13 +85,19 @@ static int bmp_decode_frame(AVCodecContext *avctx, return -1; } - if (ihsize == 40) { + switch(ihsize){ + case 40: // windib v3 + case 64: // OS/2 v2 + case 108: // windib v4 + case 124: // windib v5 width = bytestream_get_le32(&buf); height = bytestream_get_le32(&buf); - } else if (ihsize == 12) { + break; + case 12: // OS/2 v1 width = bytestream_get_le16(&buf); height = bytestream_get_le16(&buf); - } else { + break; + default: av_log(avctx, AV_LOG_ERROR, "unsupported BMP file, patch welcome\n"); return -1; }