Il 27/01/2015 20:27, Igor Mironchik ha scritto:
I've looked at qjpeghandler.cpp and it is strangely that practically all of my photos produced by my Android camera is corrupted. Do you know any software that can give me information about exif in jpeg that I can be sure that jpeg is corrupted? Thank you.
Possibly exiftool or some any other image manipulation program. But also I wonder about the code around your backtrace:
0 qt_message_fatal qlogging.cpp 1407 0x57ed3f21 1 QMessageLogger::warning qlogging.cpp 396 0x57ed28bb 2 QBuffer::seek qbuffer.cpp 374 0x5807b386 3 QDataStream::skipRawData qdatastream.cpp 1169 0x5807dfbc 4 getExifOrientation qjpeghandler.cpp 820 0x5ab66204
=>
795 quint32 offset; ... 811 stream >> offset; 812 // we have already used 8 bytes of TIFF header 813 offset -= 8; 814 815 // read IFD 816 while (!stream.atEnd()) { 817 quint16 numEntries; 818 819 // skip offset bytes to get the next IFD 820 if (stream.skipRawData(offset) != (qint32)offset) 821 return -1;
Note in particular that "stream" reads an unsigned 32 bit int into offset, but then skipRawData silently converts to signed... (but it may be totally unrelated with the problem here, which perhaps results from bad EXIF parsing on Qt side)
HTH, -- Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer KDAB (UK) Ltd., a KDAB Group company Tel. UK +44-1738-450410, Sweden (HQ) +46-563-540090 KDAB - Qt Experts - Platform-independent software solutions
smime.p7s
Description: Firma crittografica S/MIME
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest