function formatFujifilmData($type, $tag, $intel, $data) { if ($type == "ASCII") { } else { if ($type == "URATIONAL" || $type == "SRATIONAL") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $top = hexdec(substr($data, 8, 8)); $bottom = hexdec(substr($data, 0, 8)); if ($bottom != 0) { $data = $top / $bottom; } else { if ($top == 0) { $data = 0; } else { $data = $top . "/" . $bottom; } } if ($tag == "1011") { //FlashStrength $data = $data . " EV"; } } else { if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); if ($tag == "1001") { //Sharpness if ($data == 1) { $data = gettext_glf("Soft"); } else { if ($data == 2) { $data = gettext_glf("Soft"); } else { if ($data == 3) { $data = gettext_glf("Normal"); } else { if ($data == 4) { $data = gettext_glf("Hard"); } else { if ($data == 5) { $data = gettext_glf("Hard"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } } if ($tag == "1002") { //WhiteBalance if ($data == 0) { $data = gettext_glf("Auto"); } else { if ($data == 256) { $data = gettext_glf("Daylight"); } else { if ($data == 512) { $data = gettext_glf("Cloudy"); } else { if ($data == 768) { $data = gettext_glf("DaylightColor-fluorescence"); } else { if ($data == 769) { $data = gettext_glf("DaywhiteColor-fluorescence"); } else { if ($data == 770) { $data = gettext_glf("White-fluorescence"); } else { if ($data == 1024) { $data = gettext_glf("Incandenscense"); } else { if ($data == 3840) { $data = gettext_glf("Custom"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } } } } } if ($tag == "1003") { //Color if ($data == 0) { $data = gettext_glf("Chroma Saturation Normal(STD)"); } else { if ($data == 256) { $data = gettext_glf("Chroma Saturation High"); } else { if ($data == 512) { $data = gettext_glf("Chroma Saturation Low(ORG)"); } else { $data = gettext_glf("Unknown: ") . $data; } } } } if ($tag == "1004") { //Tone if ($data == 0) { $data = gettext_glf("Contrast Normal(STD)"); } else { if ($data == 256) { $data = gettext_glf("Contrast High(HARD)"); } else { if ($data == 512) { $data = gettext_glf("Contrast Low(ORG)"); } else { $data = gettext_glf("Unknown: ") . $data; } } } } if ($tag == "1010") { //FlashMode if ($data == 0) { $data = gettext_glf("Auto"); } else { if ($data == 1) { $data = gettext_glf("On"); } else { if ($data == 2) { $data = gettext_glf("Off"); } else { if ($data == 3) { $data = gettext_glf("Red-Eye Reduction"); } else { $data = gettext_glf("Unknown: ") . $data; } } } } } if ($tag == "1020") { //Macro if ($data == 0) { $data = gettext_glf("Off"); } else { if ($data == 1) { $data = gettext_glf("On"); } else { $data = gettext_glf("Unknown: ") . $data; } } } if ($tag == "1021") { //FocusMode if ($data == 0) { $data = gettext_glf("Auto"); } else { if ($data == 1) { $data = gettext_glf("Manual"); } else { $data = gettext_glf("Unknown: ") . $data; } } } if ($tag == "1030") { //SlowSync if ($data == 0) { $data = gettext_glf("Off"); } else { if ($data == 1) { $data = gettext_glf("On"); } else { $data = gettext_glf("Unknown: ") . $data; } } } if ($tag == "1031") { //PictureMode if ($data == 0) { $data = gettext_glf("Auto"); } else { if ($data == 1) { $data = gettext_glf("Portrait"); } else { if ($data == 2) { $data = gettext_glf("Landscape"); } else { if ($data == 4) { $data = gettext_glf("Sports"); } else { if ($data == 5) { $data = gettext_glf("Night"); } else { if ($data == 6) { $data = gettext_glf("Program AE"); } else { if ($data == 256) { $data = gettext_glf("Aperture Prority AE"); } else { if ($data == 512) { $data = gettext_glf("Shutter Prority"); } else { if ($data == 768) { $data = gettext_glf("Manual Exposure"); } else { $data = gettext_glf("Unknown: ") . $data; } } } } } } } } } } if ($tag == "1100") { //ContinuousTakingBracket if ($data == 0) { $data = gettext_glf("Off"); } else { if ($data == 1) { $data = gettext_glf("On"); } else { $data = gettext_glf("Unknown: ") . $data; } } } if ($tag == "1300") { //BlurWarning if ($data == 0) { $data = gettext_glf("No Warning"); } else { if ($data == 1) { $data = gettext_glf("Warning"); } else { $data = gettext_glf("Unknown: ") . $data; } } } if ($tag == "1301") { //FocusWarning if ($data == 0) { $data = gettext_glf("Auto Focus Good"); } else { if ($data == 1) { $data = gettext_glf("Out of Focus"); } else { $data = gettext_glf("Unknown: ") . $data; } } } if ($tag == "1302") { //AEWarning if ($data == 0) { $data = gettext_glf("AE Good"); } else { if ($data == 1) { $data = gettext_glf("Over Exposure"); } else { $data = gettext_glf("Unknown: ") . $data; } } } } else { if ($type == "UNDEFINED") { } else { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } } } } } return $data; }
function formatCanonData($type, $tag, $intel, $data, $exif, &$result) { $place = 0; if ($type == "ASCII") { $result = $data = str_replace("", "", $data); } else { if ($type == "URATIONAL" || $type == "SRATIONAL") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $top = hexdec(substr($data, 8, 8)); $bottom = hexdec(substr($data, 0, 8)); if ($bottom != 0) { $data = $top / $bottom; } else { if ($top == 0) { $data = 0; } else { $data = $top . "/" . $bottom; } } if ($tag == "0204") { //DigitalZoom $data = $data . "x"; } } else { if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") { $data = bin2hex($data); $result['RAWDATA'] = $data; if ($tag == "0001") { //first chunk $result['Bytes'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //0 if ($result['Bytes'] != strlen($data) / 2) { return $result; } //Bad chunk $result['Macro'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //1 switch ($result['Macro']) { case 1: $result['Macro'] = gettext_glf("Macro"); break; case 2: $result['Macro'] = gettext_glf("Normal"); break; default: $result['Macro'] = gettext_glf("Unknown"); } $result['SelfTimer'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //2 switch ($result['SelfTimer']) { case 0: $result['SelfTimer'] = gettext_glf("Off"); break; default: $result['SelfTimer'] .= gettext_glf("/10s"); } $result['Quality'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //3 switch ($result['Quality']) { case 2: $result['Quality'] = gettext_glf("Normal"); break; case 3: $result['Quality'] = gettext_glf("Fine"); break; case 5: $result['Quality'] = gettext_glf("Superfine"); break; default: $result['Quality'] = gettext_glf("Unknown"); } $result['Flash'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //4 switch ($result['Flash']) { case 0: $result['Flash'] = gettext_glf("Off"); break; case 1: $result['Flash'] = gettext_glf("Auto"); break; case 2: $result['Flash'] = gettext_glf("On"); break; case 3: $result['Flash'] = gettext_glf("Red Eye Reduction"); break; case 4: $result['Flash'] = gettext_glf("Slow Synchro"); break; case 5: $result['Flash'] = gettext_glf("Auto + Red Eye Reduction"); break; case 6: $result['Flash'] = gettext_glf("On + Red Eye Reduction"); break; case 16: $result['Flash'] = gettext_glf("External Flash"); break; default: $result['Flash'] = gettext_glf("Unknown"); } $result['DriveMode'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //5 switch ($result['DriveMode']) { case 0: $result['DriveMode'] = gettext_glf("Single/Timer"); break; case 1: $result['DriveMode'] = gettext_glf("Continuous"); break; default: $result['DriveMode'] = gettext_glf("Unknown"); } $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //6 $result['FocusMode'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //7 switch ($result['FocusMode']) { case 0: $result['FocusMode'] = gettext_glf("One-Shot"); break; case 1: $result['FocusMode'] = gettext_glf("AI Servo"); break; case 2: $result['FocusMode'] = gettext_glf("AI Focus"); break; case 3: $result['FocusMode'] = gettext_glf("Manual Focus"); break; case 4: $result['FocusMode'] = gettext_glf("Single"); break; case 5: $result['FocusMode'] = gettext_glf("Continuous"); break; case 6: $result['FocusMode'] = gettext_glf("Manual Focus"); break; default: $result['FocusMode'] = gettext_glf("Unknown"); } $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //8 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //9 $result['ImageSize'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //10 switch ($result['ImageSize']) { case 0: $result['ImageSize'] = gettext_glf("Large"); break; case 1: $result['ImageSize'] = gettext_glf("Medium"); break; case 2: $result['ImageSize'] = gettext_glf("Small"); break; default: $result['ImageSize'] = gettext_glf("Unknown"); } $result['EasyShooting'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //11 switch ($result['EasyShooting']) { case 0: $result['EasyShooting'] = gettext_glf("Full Auto"); break; case 1: $result['EasyShooting'] = gettext_glf("Manual"); break; case 2: $result['EasyShooting'] = gettext_glf("Landscape"); break; case 3: $result['EasyShooting'] = gettext_glf("Fast Shutter"); break; case 4: $result['EasyShooting'] = gettext_glf("Slow Shutter"); break; case 5: $result['EasyShooting'] = gettext_glf("Night"); break; case 6: $result['EasyShooting'] = gettext_glf("Black & White"); break; case 7: $result['EasyShooting'] = gettext_glf("Sepia"); break; case 8: $result['EasyShooting'] = gettext_glf("Portrait"); break; case 9: $result['EasyShooting'] = gettext_glf("Sport"); break; case 10: $result['EasyShooting'] = gettext_glf("Macro/Close-Up"); break; case 11: $result['EasyShooting'] = gettext_glf("Pan Focus"); break; default: $result['EasyShooting'] = gettext_glf("Unknown"); } $result['DigitalZoom'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //12 switch ($result['DigitalZoom']) { case 0: case 65535: $result['DigitalZoom'] = gettext_glf("None"); break; case 1: $result['DigitalZoom'] = gettext_glf("2x"); break; case 2: $result['DigitalZoom'] = gettext_glf("4x"); break; default: $result['DigitalZoom'] = gettext_glf("Unknown"); } $result['Contrast'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //13 switch ($result['Contrast']) { case 0: $result['Contrast'] = gettext_glf("Normal"); break; case 1: $result['Contrast'] = gettext_glf("High"); break; case 65535: $result['Contrast'] = gettext_glf("Low"); break; default: $result['Contrast'] = gettext_glf("Unknown"); } $result['Saturation'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //14 switch ($result['Saturation']) { case 0: $result['Saturation'] = gettext_glf("Normal"); break; case 1: $result['Saturation'] = gettext_glf("High"); break; case 65535: $result['Saturation'] = gettext_glf("Low"); break; default: $result['Saturation'] = gettext_glf("Unknown"); } $result['Sharpness'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //15 switch ($result['Sharpness']) { case 0: $result['Sharpness'] = gettext_glf("Normal"); break; case 1: $result['Sharpness'] = gettext_glf("High"); break; case 65535: $result['Sharpness'] = gettext_glf("Low"); break; default: $result['Sharpness'] = gettext_glf("Unknown"); } $result['ISO'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //16 switch ($result['ISO']) { case 32767: case 0: $result['ISO'] = isset($exif['SubIFD']['ISOSpeedRatings']) ? $exif['SubIFD']['ISOSpeedRatings'] : 'Unknown'; break; case 15: $result['ISO'] = gettext_glf("Auto"); break; case 16: $result['ISO'] = gettext_glf("50"); break; case 17: $result['ISO'] = gettext_glf("100"); break; case 18: $result['ISO'] = gettext_glf("200"); break; case 19: $result['ISO'] = gettext_glf("400"); break; default: $result['ISO'] = gettext_glf("Unknown"); } $result['MeteringMode'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //17 switch ($result['MeteringMode']) { case 3: $result['MeteringMode'] = gettext_glf("Evaluative"); break; case 4: $result['MeteringMode'] = gettext_glf("Partial"); break; case 5: $result['MeteringMode'] = gettext_glf("Center-weighted"); break; default: $result['MeteringMode'] = gettext_glf("Unknown"); } $result['FocusType'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //18 switch ($result['FocusType']) { case 0: $result['FocusType'] = gettext_glf("Manual"); break; case 1: $result['FocusType'] = gettext_glf("Auto"); break; case 3: $result['FocusType'] = gettext_glf("Close-up (Macro)"); break; case 8: $result['FocusType'] = gettext_glf("Locked (Pan Mode)"); break; default: $result['FocusType'] = gettext_glf("Unknown"); } $result['AFPointSelected'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //19 switch ($result['AFPointSelected']) { case 12288: $result['AFPointSelected'] = gettext_glf("Manual Focus"); break; case 12289: $result['AFPointSelected'] = gettext_glf("Auto Selected"); break; case 12290: $result['AFPointSelected'] = gettext_glf("Right"); break; case 12291: $result['AFPointSelected'] = gettext_glf("Center"); break; case 12292: $result['AFPointSelected'] = gettext_glf("Left"); break; default: $result['AFPointSelected'] = gettext_glf("Unknown"); } $result['ExposureMode'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //20 switch ($result['ExposureMode']) { case 0: $result['ExposureMode'] = gettext_glf("EasyShoot"); break; case 1: $result['ExposureMode'] = gettext_glf("Program"); break; case 2: $result['ExposureMode'] = gettext_glf("Tv"); break; case 3: $result['ExposureMode'] = gettext_glf("Av"); break; case 4: $result['ExposureMode'] = gettext_glf("Manual"); break; case 5: $result['ExposureMode'] = gettext_glf("Auto-DEP"); break; default: $result['ExposureMode'] = gettext_glf("Unknown"); } $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //21 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //22 $result['LongFocalLength'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //23 $result['LongFocalLength'] .= " focal units"; $result['ShortFocalLength'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //24 $result['ShortFocalLength'] .= " focal units"; $result['FocalUnits'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //25 $result['FocalUnits'] .= " per mm"; $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //26 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //27 $result['FlashActivity'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //28 switch ($result['FlashActivity']) { case 0: $result['FlashActivity'] = gettext_glf("Flash Did Not Fire"); break; case 1: $result['FlashActivity'] = gettext_glf("Flash Fired"); break; default: $result['FlashActivity'] = gettext_glf("Unknown"); } $result['FlashDetails'] = str_pad(base_convert(intel2Moto(substr($data, $place, 4)), 16, 2), 16, "0", STR_PAD_LEFT); $place += 4; //29 $flashDetails = array(); if (substr($result['FlashDetails'], 1, 1) == 1) { $flashDetails[] = gettext_glf('External E-TTL'); } if (substr($result['FlashDetails'], 2, 1) == 1) { $flashDetails[] = gettext_glf('Internal Flash'); } if (substr($result['FlashDetails'], 4, 1) == 1) { $flashDetails[] = gettext_glf('FP sync used'); } if (substr($result['FlashDetails'], 8, 1) == 1) { $flashDetails[] = gettext_glf('2nd(rear)-curtain sync used'); } if (substr($result['FlashDetails'], 12, 1) == 1) { $flashDetails[] = gettext_glf('1st curtain sync'); } $result['FlashDetails'] = implode(",", $flashDetails); $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //30 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //31 $anotherFocusMode = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //32 if (strpos(strtoupper($exif['IFD0']['Model']), "G1") !== false) { switch ($anotherFocusMode) { case 0: $result['FocusMode'] = gettext_glf("Single"); break; case 1: $result['FocusMode'] = gettext_glf("Continuous"); break; default: $result['FocusMode'] = gettext_glf("Unknown"); } } } else { if ($tag == "0004") { //second chunk $result['Bytes'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //0 if ($result['Bytes'] != strlen($data) / 2) { return $result; } //Bad chunk $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //1 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //2 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //3 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //4 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //5 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //6 $result['WhiteBalance'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //7 switch ($result['WhiteBalance']) { case 0: $result['WhiteBalance'] = gettext_glf("Auto"); break; case 1: $result['WhiteBalance'] = gettext_glf("Sunny"); break; case 2: $result['WhiteBalance'] = gettext_glf("Cloudy"); break; case 3: $result['WhiteBalance'] = gettext_glf("Tungsten"); break; case 4: $result['WhiteBalance'] = gettext_glf("Fluorescent"); break; case 5: $result['WhiteBalance'] = gettext_glf("Flash"); break; case 6: $result['WhiteBalance'] = gettext_glf("Custom"); break; default: $result['WhiteBalance'] = gettext_glf("Unknown"); } $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //8 $result['SequenceNumber'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //9 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //10 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //11 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //12 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //13 $result['AFPointUsed'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //14 $afPointUsed = array(); if ($result['AFPointUsed'] & 0x1) { $afPointUsed[] = gettext_glf("Right"); } //bit 0 if ($result['AFPointUsed'] & 0x2) { $afPointUsed[] = gettext_glf("Center"); } //bit 1 if ($result['AFPointUsed'] & 0x4) { $afPointUsed[] = gettext_glf("Left"); } //bit 2 if ($result['AFPointUsed'] & 0x800) { $afPointUsed[] = gettext_glf("12"); } //bit 12 if ($result['AFPointUsed'] & 0x1000) { $afPointUsed[] = gettext_glf("13"); } //bit 13 if ($result['AFPointUsed'] & 0x2000) { $afPointUsed[] = gettext_glf("14"); } //bit 14 if ($result['AFPointUsed'] & 0x4000) { $afPointUsed[] = gettext_glf("15"); } //bit 15 $result['AFPointUsed'] = implode(",", $afPointUsed); $result['FlashBias'] = intel2Moto(substr($data, $place, 4)); $place += 4; //15 switch ($result['FlashBias']) { case 'ffc0': $result['FlashBias'] = "-2 EV"; break; case 'ffcc': $result['FlashBias'] = "-1.67 EV"; break; case 'ffd0': $result['FlashBias'] = "-1.5 EV"; break; case 'ffd4': $result['FlashBias'] = "-1.33 EV"; break; case 'ffe0': $result['FlashBias'] = "-1 EV"; break; case 'ffec': $result['FlashBias'] = "-0.67 EV"; break; case 'fff0': $result['FlashBias'] = "-0.5 EV"; break; case 'fff4': $result['FlashBias'] = "-0.33 EV"; break; case '0000': $result['FlashBias'] = "0 EV"; break; case '000c': $result['FlashBias'] = "0.33 EV"; break; case '0010': $result['FlashBias'] = "0.5 EV"; break; case '0014': $result['FlashBias'] = "0.67 EV"; break; case '0020': $result['FlashBias'] = "1 EV"; break; case '002c': $result['FlashBias'] = "1.33 EV"; break; case '0030': $result['FlashBias'] = "1.5 EV"; break; case '0034': $result['FlashBias'] = "1.67 EV"; break; case '0040': $result['FlashBias'] = "2 EV"; break; default: $result['FlashBias'] = gettext_glf("Unknown"); } $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //16 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //17 $result['Unknown'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //18 $result['SubjectDistance'] = hexdec(intel2Moto(substr($data, $place, 4))); $place += 4; //19 $result['SubjectDistance'] .= "/100 m"; } else { if ($tag == "0008") { //image number if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); $result = round($data / 10000) . "-" . $data % 10000; } else { if ($tag == "000c") { //camera serial number if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); $result = "#" . bin2hex(substr($data, 0, 16)) . substr($data, 16, 16); } } } } } else { if ($type == "UNDEFINED") { } else { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } } } } } return $data; }
function formatOlympusData($type, $tag, $intel, $data) { if ($type == "ASCII") { } else { if ($type == "URATIONAL" || $type == "SRATIONAL") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $top = hexdec(substr($data, 8, 8)); $bottom = hexdec(substr($data, 0, 8)); if ($bottom != 0) { $data = $top / $bottom; } else { if ($top == 0) { $data = 0; } else { $data = $top . "/" . $bottom; } } if ($tag == "0204") { //DigitalZoom $data = $data . "x"; } if ($tag == "0205") { //Unknown2 $data = $top . "/" . $bottom; } } else { if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); if ($tag == "0201") { //JPEGQuality if ($data == 1) { $data = "SQ"; } else { if ($data == 2) { $data = "HQ"; } else { if ($data == 3) { $data = "SHQ"; } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } if ($tag == "0202") { //Macro if ($data == 0) { $data = "Normal"; } else { if ($data == 1) { $data = "Macro"; } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } else { if ($type == "UNDEFINED") { } else { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } } } } } return $data; }
function formatPanasonicData($type, $tag, $intel, $data) { if ($type == "ASCII") { } else { if ($type == "UBYTE" || $type == "SBYTE") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); if ($tag == "000f") { //AFMode if ($data == 256) { $data = "9-area-focusing"; } else { if ($data == 16) { $data = "1-area-focusing"; } else { if ($data == 4096) { $data = gettext_glf("3-area-focusing (High speed)"); } else { if ($data == 4112) { $data = gettext_glf("1-area-focusing (High speed)"); } else { if ($data == 16) { $data = gettext_glf("1-area-focusing"); } else { if ($data == 1) { $data = gettext_glf("Spot-focusing"); } else { $data = "Unknown (" . $data . ")"; } } } } } } } } else { if ($type == "URATIONAL" || $type == "SRATIONAL") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $top = hexdec(substr($data, 8, 8)); $bottom = hexdec(substr($data, 0, 8)); if ($bottom != 0) { $data = $top / $bottom; } else { if ($top == 0) { $data = 0; } else { $data = $top . "/" . $bottom; } } } else { if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); if ($tag == "0001") { //Image Quality if ($data == 2) { $data = gettext_glf("High"); } else { if ($data == 3) { $data = gettext_glf("Standard"); } else { if ($data == 6) { $data = gettext_glf("Very High"); } else { if ($data == 7) { $data = gettext_glf("RAW"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } } if ($tag == "0003") { //White Balance if ($data == 1) { $data = gettext_glf("Auto"); } else { if ($data == 2) { $data = gettext_glf("Daylight"); } else { if ($data == 3) { $data = gettext_glf("Cloudy"); } else { if ($data == 4) { $data = gettext_glf("Halogen"); } else { if ($data == 5) { $data = gettext_glf("Manual"); } else { if ($data == 8) { $data = gettext_glf("Flash"); } else { if ($data == 10) { $data = gettext_glf("Black and White"); } else { if ($data == 11) { $data = gettext_glf("Manual"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } } } } } } if ($tag == "0007") { //Focus Mode if ($data == 1) { $data = gettext_glf("Auto"); } else { if ($data == 2) { $data = gettext_glf("Manual"); } else { if ($data == 4) { $data = gettext_glf("Auto, Focus button"); } else { if ($data == 5) { $data = gettext_glf("Auto, Continuous"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } } if ($tag == "001a") { //Image Stabilizer if ($data == 2) { $data = gettext_glf("Mode 1"); } else { if ($data == 3) { $data = gettext_glf("Off"); } else { if ($data == 4) { $data = gettext_glf("Mode 2"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } if ($tag == "001c") { //Macro mode if ($data == 1) { $data = gettext_glf("On"); } else { if ($data == 2) { $data = gettext_glf("Off"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } if ($tag == "001f") { //Shooting Mode if ($data == 1) { $data = gettext_glf("Normal"); } else { if ($data == 2) { $data = gettext_glf("Portrait"); } else { if ($data == 3) { $data = gettext_glf("Scenery"); } else { if ($data == 4) { $data = gettext_glf("Sports"); } else { if ($data == 5) { $data = gettext_glf("Night Portrait"); } else { if ($data == 6) { $data = gettext_glf("Program"); } else { if ($data == 7) { $data = gettext_glf("Aperture Priority"); } else { if ($data == 8) { $data = gettext_glf("Shutter Priority"); } else { if ($data == 9) { $data = gettext_glf("Macro"); } else { if ($data == 11) { $data = gettext_glf("Manual"); } else { if ($data == 13) { $data = gettext_glf("Panning"); } else { if ($data == 14) { $data = gettext_glf("Simple"); } else { if ($data == 18) { $data = gettext_glf("Fireworks"); } else { if ($data == 19) { $data = gettext_glf("Party"); } else { if ($data == 20) { $data = gettext_glf("Snow"); } else { if ($data == 21) { $data = gettext_glf("Night Scenery"); } else { if ($data == 22) { $data = gettext_glf("Food"); } else { if ($data == 23) { $data = gettext_glf("Baby"); } else { if ($data == 27) { $data = gettext_glf("High Sensitivity"); } else { if ($data == 29) { $data = gettext_glf("Underwater"); } else { if ($data == 33) { $data = gettext_glf("Pet"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } } } } } } } } } } } } } } } } } } } if ($tag == "0020") { //Audio if ($data == 1) { $data = gettext_glf("Yes"); } else { if ($data == 2) { $data = gettext_glf("No"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } if ($tag == "0023") { //White Balance Bias $data = $data . " EV"; } if ($tag == "0024") { //Flash Bias $data = $data; } if ($tag == "0028") { //Colour Effect if ($data == 1) { $data = gettext_glf("Off"); } else { if ($data == 2) { $data = gettext_glf("Warm"); } else { if ($data == 3) { $data = gettext_glf("Cool"); } else { if ($data == 4) { $data = gettext_glf("Black and White"); } else { if ($data == 5) { $data = gettext_glf("Sepia"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } } } if ($tag == "002a") { //Burst Mode if ($data == 0) { $data = gettext_glf("Off"); } else { if ($data == 1) { $data = gettext_glf("Low/High Quality"); } else { if ($data == 2) { $data = gettext_glf("Infinite"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } if ($tag == "002c") { //Contrast if ($data == 0) { $data = gettext_glf("Standard"); } else { if ($data == 1) { $data = gettext_glf("Low"); } else { if ($data == 2) { $data = gettext_glf("High"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } if ($tag == "002d") { //Noise Reduction if ($data == 0) { $data = gettext_glf("Standard"); } else { if ($data == 1) { $data = gettext_glf("Low"); } else { if ($data == 2) { $data = gettext_glf("High"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } if ($tag == "002e") { //Self Timer if ($data == 1) { $data = gettext_glf("Off"); } else { if ($data == 2) { $data = gettext_glf("10s"); } else { if ($data == 3) { $data = gettext_glf("2s"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } if ($tag == "0030") { //Rotation if ($data == 1) { $data = gettext_glf("Horizontal (normal)"); } else { if ($data == 6) { $data = gettext_glf("Rotate 90 CW"); } else { if ($data == 8) { $data = gettext_glf("Rotate 270 CW"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } } if ($tag == "0032") { //Color Mode if ($data == 0) { $data = gettext_glf("Normal"); } else { if ($data == 1) { $data = gettext_glf("Natural"); } else { $data = gettext_glf("Unknown") . " (" . $data . ")"; } } } if ($tag == "0036") { //Travel Day $data = $data; } } else { if ($type == "UNDEFINED") { } else { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } } } } } } return $data; }
function formatSanyoData($type, $tag, $intel, $data) { if ($type == "ASCII") { } else { if ($type == "URATIONAL" || $type == "SRATIONAL") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $top = hexdec(substr($data, 8, 8)); $bottom = hexdec(substr($data, 0, 8)); if ($bottom != 0) { $data = $top / $bottom; } else { if ($top == 0) { $data = 0; } else { $data = $top . "/" . $bottom; } } } else { if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); if ($tag == "0200") { //SpecialMode if ($data == 0) { $data = gettext_glf("Normal"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } if ($tag == "0201") { //Quality if ($data == 2) { $data = gettext_glf("High"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } if ($tag == "0202") { //Macro if ($data == 0) { $data = gettext_glf("Normal"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } else { if ($type == "UNDEFINED") { } else { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } } } } } return $data; }
function formatNikonData($type, $tag, $intel, $model, $data) { if ($type == "ASCII") { } else { if ($type == "URATIONAL" || $type == "SRATIONAL") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $top = hexdec(substr($data, 8, 8)); $bottom = hexdec(substr($data, 0, 8)); if ($bottom != 0) { $data = $top / $bottom; } else { if ($top == 0) { $data = 0; } else { $data = $top . "/" . $bottom; } } if ($tag == "0085" && $model == 1) { //ManualFocusDistance $data = $data . " m"; } if ($tag == "0086" && $model == 1) { //DigitalZoom $data = $data . "x"; } if ($tag == "000a" && $model == 0) { //DigitalZoom $data = $data . "x"; } } else { if ($type == "USHORT" || $type == "SSHORT" || $type == "ULONG" || $type == "SLONG" || $type == "FLOAT" || $type == "DOUBLE") { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } $data = hexdec($data); if ($tag == "0003" && $model == 0) { //Quality if ($data == 1) { $data = gettext_glf("VGA Basic"); } else { if ($data == 2) { $data = gettext_glf("VGA Normal"); } else { if ($data == 3) { $data = gettext_glf("VGA Fine"); } else { if ($data == 4) { $data = gettext_glf("SXGA Basic"); } else { if ($data == 5) { $data = gettext_glf("SXGA Normal"); } else { if ($data == 6) { $data = gettext_glf("SXGA Fine"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } } } if ($tag == "0004" && $model == 0) { //Color if ($data == 1) { $data = gettext_glf("Color"); } else { if ($data == 2) { $data = gettext_glf("Monochrome"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } if ($tag == "0005" && $model == 0) { //Image Adjustment if ($data == 0) { $data = gettext_glf("Normal"); } else { if ($data == 1) { $data = gettext_glf("Bright+"); } else { if ($data == 2) { $data = gettext_glf("Bright-"); } else { if ($data == 3) { $data = gettext_glf("Contrast+"); } else { if ($data == 4) { $data = gettext_glf("Contrast-"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } } if ($tag == "0006" && $model == 0) { //CCD Sensitivity if ($data == 0) { $data = "ISO-80"; } else { if ($data == 2) { $data = "ISO-160"; } else { if ($data == 4) { $data = "ISO-320"; } else { if ($data == 5) { $data = "ISO-100"; } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } if ($tag == "0007" && $model == 0) { //White Balance if ($data == 0) { $data = gettext_glf("Auto"); } else { if ($data == 1) { $data = gettext_glf("Preset"); } else { if ($data == 2) { $data = gettext_glf("Daylight"); } else { if ($data == 3) { $data = gettext_glf("Incandescense"); } else { if ($data == 4) { $data = gettext_glf("Flourescence"); } else { if ($data == 5) { $data = gettext_glf("Cloudy"); } else { if ($data == 6) { $data = gettext_glf("SpeedLight"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } } } } if ($tag == "000b" && $model == 0) { //Converter if ($data == 0) { $data = gettext_glf("None"); } else { if ($data == 1) { $data = gettext_glf("Fisheye"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } else { if ($type == "UNDEFINED") { if ($tag == "0001" && $model == 1) { //Unknown (Version?) $data = $data / 100; } if ($tag == "0088" && $model == 1) { //AF Focus Position $temp = gettext_glf("Center"); $data = bin2hex($data); $data = str_replace("01", "Top", $data); $data = str_replace("02", "Bottom", $data); $data = str_replace("03", "Left", $data); $data = str_replace("04", "Right", $data); $data = str_replace("00", "", $data); if (strlen($data) == 0) { $data = $temp; } } } else { $data = bin2hex($data); if ($intel == 1) { $data = intel2Moto($data); } if ($tag == "0083" && $model == 1) { //Lens Type $data = hexdec(substr($data, 0, 2)); if ($data == 0) { $data = gettext_glf("AF non D"); } else { if ($data == 1) { $data = gettext_glf("Manual"); } else { if ($data == 2) { $data = "AF-D or AF-S"; } else { if ($data == 6) { $data = "AF-D G"; } else { if ($data == 10) { $data = "AF-D VR"; } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } } if ($tag == "0087" && $model == 1) { //Flash type $data = hexdec(substr($data, 0, 2)); if ($data == 0) { $data = gettext_glf("Did Not Fire"); } else { if ($data == 4) { $data = gettext_glf("Unknown"); } else { if ($data == 7) { $data = gettext_glf("External"); } else { if ($data == 9) { $data = gettext_glf("On Camera"); } else { $data = gettext_glf("Unknown") . ": " . $data; } } } } } } } } } return $data; }