-rw-r--r-- | noncore/graphics/opie-eye/slave/jpeg_slave.cpp | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/noncore/graphics/opie-eye/slave/jpeg_slave.cpp b/noncore/graphics/opie-eye/slave/jpeg_slave.cpp index fb7d5de..1bb81d9 100644 --- a/noncore/graphics/opie-eye/slave/jpeg_slave.cpp +++ b/noncore/graphics/opie-eye/slave/jpeg_slave.cpp @@ -15,3 +15,3 @@ using namespace Opie::Core; /** - exif.h + exif.h */ @@ -268,3 +268,3 @@ int ExifData::ReadJpegSections (QFile & infile, ReadMode_t ReadMode) - owarn << "too many padding bytes" << oendl; + owarn << "too many padding bytes" << oendl; return false; @@ -333,3 +333,3 @@ int ExifData::ReadJpegSections (QFile & infile, ReadMode_t ReadMode) case M_EOI: // in case it's a tables-only JPEG stream - owarn << "No image in jpeg!" << oendl; + owarn << "No image in jpeg!" << oendl; return false; @@ -337,6 +337,6 @@ int ExifData::ReadJpegSections (QFile & infile, ReadMode_t ReadMode) case M_COM: // Comment section - // pieczy 2002-02-12 - // now the User comment goes to UserComment - // so we can store a Comment section also in READ_EXIF mode - process_COM(Data, itemlen); + // pieczy 2002-02-12 + // now the User comment goes to UserComment + // so we can store a Comment section also in READ_EXIF mode + process_COM(Data, itemlen); break; @@ -549,3 +549,3 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa ExifData::CameraModel = QString((char*)ValuePtr); - break; + break; @@ -556,3 +556,3 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa case TAG_DATETIME_ORIGINAL: - DateTime = QString((char*)ValuePtr); + DateTime = QString((char*)ValuePtr); break; @@ -591,3 +591,3 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa // (overwrite previously computd value if there is one) - ExifData::ApertureFNumber = (float)ConvertAnyFormat(ValuePtr, Format); + ExifData::ApertureFNumber = (float)ConvertAnyFormat(ValuePtr, Format); break; @@ -668,4 +668,4 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa case TAG_EXPOSURE_BIAS: - ExifData::ExposureBias = (float)ConvertAnyFormat(ValuePtr, Format); - break; + ExifData::ExposureBias = (float)ConvertAnyFormat(ValuePtr, Format); + break; @@ -673,3 +673,3 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa ExifData::Whitebalance = (int)ConvertAnyFormat(ValuePtr, Format); - break; + break; @@ -722,6 +722,6 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa Offset = Get32u(DIR_ENTRY_ADDR(DirStart, NumDirEntries)); - // There is at least one jpeg from an HP camera having an Offset of almost MAXUINT. - // Adding OffsetBase to it produces an overflow, so compare with ExifLength here. - // See http://bugs.kde.org/show_bug.cgi?id=54542 - if (Offset && Offset < ExifLength){ + // There is at least one jpeg from an HP camera having an Offset of almost MAXUINT. + // Adding OffsetBase to it produces an overflow, so compare with ExifLength here. + // See http://bugs.kde.org/show_bug.cgi?id=54542 + if (Offset && Offset < ExifLength){ SubdirStart = OffsetBase + Offset; @@ -732,3 +732,3 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa // I'll just let it pass silently - owarn << "Thumbnail removed with Jhead 1.3 or earlier" << oendl; + owarn << "Thumbnail removed with Jhead 1.3 or earlier" << oendl; }else{ @@ -750,3 +750,3 @@ void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBa // The thumbnail pointer appears to be valid. Store it. - Thumbnail.loadFromData(OffsetBase + ThumbnailOffset, ThumbnailSize, "JPEG"); + Thumbnail.loadFromData(OffsetBase + ThumbnailOffset, ThumbnailSize, "JPEG"); } @@ -919,3 +919,3 @@ bool ExifData::scan(const QString & path) if (ret == false){ - owarn << "Not JPEG file!" << oendl; + owarn << "Not JPEG file!" << oendl; DiscardData(); @@ -1417,2 +1417,4 @@ QPixmap JpegSlave::pixmap( const QString& path, int wid, int hei) { ExifData ImageInfo; + /* + */ if ( !ImageInfo.scan( path ) || ImageInfo.isNullThumbnail() ) { @@ -1420,4 +1422,10 @@ QPixmap JpegSlave::pixmap( const QString& path, int wid, int hei) { QImageIO iio( path, 0l ); - QString str = QString( "Fast Shrink( 4 ) Scale( %1, %2, ScaleFree)" ).arg( wid ).arg( hei ); - iio.setParameters( str.latin1() );// will be strdupped anyway + if (wid < ImageInfo.getWidth() || hei<ImageInfo.getHeight()) { + odebug << "Scaling "<<ImageInfo.getWidth()<<"x"<<ImageInfo.getHeight() + << " to "<<wid<<"x"<<hei<< " ("<<path<<")"<<oendl; + QString str = QString( "Fast Shrink( 4 ) Scale( %1, %2, ScaleFree)" ).arg( wid ).arg( hei ); + iio.setParameters( str.latin1() );// will be strdupped anyway + } else { + odebug << "Not scaling "<<ImageInfo.getWidth()<<"x"<<ImageInfo.getHeight()<< " ("<<path<<")"<<oendl; + } img = iio.read() ? iio.image() : QImage(); |