// 2 byte datatype
$type = bin2hex(fread($in, 2));
if ($intel == 1) $type = Horde_Image_Exif::intel2Moto($type);
- lookup_type($type, $size);
+ self::_lookupType($type, $size);
// 4 byte number of elements
$count = bin2hex(fread($in, 4));
return $data;
}
+ /**
+ *
+ * @param $type
+ * @param $size
+ * @return unknown_type
+ */
+ static protected function _lookupType(&$type,&$size) {
+ switch ($type) {
+ case '0001': $type = 'UBYTE'; $size=1; break;
+ case '0002': $type = 'ASCII'; $size=1; break;
+ case '0003': $type = 'USHORT'; $size=2; break;
+ case '0004': $type = 'ULONG'; $size=4; break;
+ case '0005': $type = 'URATIONAL'; $size=8; break;
+ case '0006': $type = 'SBYTE'; $size=1; break;
+ case '0007': $type = 'UNDEFINED'; $size=1; break;
+ case '0008': $type = 'SSHORT'; $size=2; break;
+ case '0009': $type = 'SLONG'; $size=4; break;
+ case '000a': $type = 'SRATIONAL'; $size=8; break;
+ case '000b': $type = 'FLOAT'; $size=4; break;
+ case '000c': $type = 'DOUBLE'; $size=8; break;
+ default: $type = 'error:'.$type; $size=0; break;
+ }
+
+ return $type;
+ }
+
}
\ No newline at end of file