From 3ebfe9b245239e0d25f96f2d0fabd16c2d2efe00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 29 Oct 2008 22:40:48 +0000 Subject: [PATCH] make sure we support the compression, it could be a tiff image git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28370 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/translators/raw/RAW.cpp | 9 ++++++--- src/add-ons/translators/raw/RAW.h | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/add-ons/translators/raw/RAW.cpp b/src/add-ons/translators/raw/RAW.cpp index b7ce42938d..6d75e7cb44 100644 --- a/src/add-ons/translators/raw/RAW.cpp +++ b/src/add-ons/translators/raw/RAW.cpp @@ -36,6 +36,9 @@ (fFilters >> ((((row) << 1 & 14) + ((col) & 1)) << 1) & 3) +#define COMPRESSION_PACKBITS 32773 /* Macintosh RLE */ + + static const uint32 kImageBufferCount = 10; static const uint32 kDecodeBufferCount = 2048; @@ -2549,12 +2552,12 @@ DCRaw::_LoadRAW(const image_data_info& image) _LoadRAWCanonCompressed(image); } else { switch (image.compression) { - case 32773: + case COMPRESSION_PACKBITS: _LoadRAWPacked12(image); break; default: - printf("unknown compression: %ld\n", image.compression); + fprintf(stderr, "DCRaw: unknown compression: %ld\n", image.compression); throw (status_t)B_NO_TRANSLATOR; break; } @@ -3430,7 +3433,7 @@ DCRaw::Identify() sizeof(image_data_info) * (fNumImages - i)); } i--; - } else if (fImages[i].is_raw) + } else if (fImages[i].is_raw && fImages[i].compression == COMPRESSION_PACKBITS) rawCount++; } diff --git a/src/add-ons/translators/raw/RAW.h b/src/add-ons/translators/raw/RAW.h index bd9dfa27ec..183048ab22 100644 --- a/src/add-ons/translators/raw/RAW.h +++ b/src/add-ons/translators/raw/RAW.h @@ -11,6 +11,8 @@ struct jhead; struct tiff_tag; +#define COMPRESSION_PACKBITS 32773 + struct image_meta_info { char manufacturer[64];