//-------------------------------------------------------------------------- // Process maker note - to the limited extent that its supported. //-------------------------------------------------------------------------- void ProcessMakerNote(unsigned char * ValuePtr, int ByteCount, unsigned char * OffsetBase, unsigned ExifLength) { if (strstr(ImageInfo.CameraMake, "Canon")){ ProcessCanonMakerNoteDir(ValuePtr, OffsetBase, ExifLength); }else{ if (ShowTags){ ShowMakerNoteGeneric(ValuePtr, ByteCount); } } }
//-------------------------------------------------------------------------- // Process maker note - to the limited extent that its supported. //-------------------------------------------------------------------------- void ProcessMakerNote(unsigned char * ValuePtr, int ByteCount, unsigned char * OffsetBase, unsigned ExifLength) { if (strstr(ImageInfo.Make, "Canon")) { // So it turns out that some canons cameras use big endian, others use little // endian in the main exif header. But the maker note is always little endian. static int MotorolaOrderSave; MotorolaOrderSave = MotorolaOrder; MotorolaOrder = 0; // Temporarily switch to little endian. ProcessCanonMakerNoteDir(ValuePtr, OffsetBase, ExifLength); MotorolaOrder = MotorolaOrderSave; } else { if (ShowTags) { ShowMakerNoteGeneric(ValuePtr, ByteCount); } } }