Correctly detect 4-component images
authorKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 13 Nov 2006 05:28:55 +0000 (05:28 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Mon, 13 Nov 2006 05:28:55 +0000 (05:28 +0000)
Originally committed as revision 7002 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/tiff.c

index 57bdc3710002537211d04607bc04fcc7d80cc8f7..ee2627c8e8ecc2f5c2b0a2f819cab14727917a55 100644 (file)
@@ -242,11 +242,12 @@ static int tiff_decode_tag(TiffContext *s, uint8_t *start, uint8_t *buf, uint8_t
         else{
             switch(type){
             case TIFF_BYTE:
-                s->bpp = (off & 0xFF) + ((off >> 8) & 0xFF) + ((off >> 16) & 0xFF);
+                s->bpp = (off & 0xFF) + ((off >> 8) & 0xFF) + ((off >> 16) & 0xFF) + ((off >> 24) & 0xFF);
                 break;
             case TIFF_SHORT:
             case TIFF_LONG:
-                s->bpp = tget(&buf, type, s->le) + tget(&buf, type, s->le) + tget(&buf, type, s->le);
+                s->bpp = 0;
+                for(i = 0; i < count; i++) s->bpp += tget(&buf, type, s->le);
                 break;
             default:
                 s->bpp = -1;