|
|
|
|
@@ -976,7 +976,6 @@ static tag_info_array tag_table_VND_PANASONIC = {
|
|
|
|
|
{ 0x0001, "Quality"},
|
|
|
|
|
{ 0x0002, "FirmwareVersion"},
|
|
|
|
|
{ 0x0003, "WhiteBalance"},
|
|
|
|
|
{ 0x0004, "0x0004"},
|
|
|
|
|
{ 0x0007, "FocusMode"},
|
|
|
|
|
{ 0x000f, "AFMode"},
|
|
|
|
|
{ 0x001a, "ImageStabilization"},
|
|
|
|
|
@@ -984,12 +983,10 @@ static tag_info_array tag_table_VND_PANASONIC = {
|
|
|
|
|
{ 0x001f, "ShootingMode"},
|
|
|
|
|
{ 0x0020, "Audio"},
|
|
|
|
|
{ 0x0021, "DataDump"},
|
|
|
|
|
{ 0x0022, "0x0022"},
|
|
|
|
|
{ 0x0023, "WhiteBalanceBias"},
|
|
|
|
|
{ 0x0024, "FlashBias"},
|
|
|
|
|
{ 0x0025, "InternalSerialNumber"},
|
|
|
|
|
{ 0x0026, "ExifVersion"},
|
|
|
|
|
{ 0x0027, "0x0027"},
|
|
|
|
|
{ 0x0028, "ColorEffect"},
|
|
|
|
|
{ 0x0029, "TimeSincePowerOn"},
|
|
|
|
|
{ 0x002a, "BurstMode"},
|
|
|
|
|
@@ -997,7 +994,6 @@ static tag_info_array tag_table_VND_PANASONIC = {
|
|
|
|
|
{ 0x002c, "Contrast"},
|
|
|
|
|
{ 0x002d, "NoiseReduction"},
|
|
|
|
|
{ 0x002e, "SelfTimer"},
|
|
|
|
|
{ 0x002f, "0x002f"},
|
|
|
|
|
{ 0x0030, "Rotation"},
|
|
|
|
|
{ 0x0031, "AFAssistLamp"},
|
|
|
|
|
{ 0x0032, "ColorMode"},
|
|
|
|
|
@@ -1064,7 +1060,6 @@ static tag_info_array tag_table_VND_PANASONIC = {
|
|
|
|
|
{ 0x00a3, "ClearRetouchValue"},
|
|
|
|
|
{ 0x00ab, "TouchAE"},
|
|
|
|
|
{ 0x0e00, "PrintIM"},
|
|
|
|
|
{ 0x4449, "0x4449"},
|
|
|
|
|
{ 0x8000, "MakerNoteVersion"},
|
|
|
|
|
{ 0x8001, "SceneMode"},
|
|
|
|
|
{ 0x8004, "WBRedLevel"},
|
|
|
|
|
@@ -1099,22 +1094,20 @@ static tag_info_array tag_table_VND_SONY = {
|
|
|
|
|
{ 0x0112, "WhiteBalanceFineTune"},
|
|
|
|
|
{ 0x0114, "CameraSettings"},
|
|
|
|
|
{ 0x0115, "WhiteBalance"},
|
|
|
|
|
{ 0x0116, "0x0116"},
|
|
|
|
|
{ 0x0116, "ExtraInfo"},
|
|
|
|
|
{ 0x0e00, "PrintIM"},
|
|
|
|
|
{ 0x1000, "MultiBurstMode"},
|
|
|
|
|
{ 0x1001, "MultiBurstImageWidth"},
|
|
|
|
|
{ 0x1002, "MultiBurstImageHeight"},
|
|
|
|
|
{ 0x1003, "Panorama"},
|
|
|
|
|
{ 0x2000, "0x2000"},
|
|
|
|
|
{ 0x2001, "PreviewImage"},
|
|
|
|
|
{ 0x2002, "0x2002"},
|
|
|
|
|
{ 0x2003, "0x2003"},
|
|
|
|
|
{ 0x2002, "Rating"},
|
|
|
|
|
{ 0x2004, "Contrast"},
|
|
|
|
|
{ 0x2005, "Saturation"},
|
|
|
|
|
{ 0x2006, "0x2006"},
|
|
|
|
|
{ 0x2007, "0x2007"},
|
|
|
|
|
{ 0x2008, "0x2008"},
|
|
|
|
|
{ 0x2009, "0x2009"},
|
|
|
|
|
{ 0x2006, "Sharpness"},
|
|
|
|
|
{ 0x2007, "Brightness"},
|
|
|
|
|
{ 0x2008, "LongExposureNoiseReduction"},
|
|
|
|
|
{ 0x2009, "HighISONoiseReduction"},
|
|
|
|
|
{ 0x200a, "AutoHDR"},
|
|
|
|
|
{ 0x3000, "ShotInfo"},
|
|
|
|
|
{ 0xb000, "FileFormat"},
|
|
|
|
|
@@ -1141,8 +1134,9 @@ static tag_info_array tag_table_VND_SONY = {
|
|
|
|
|
{ 0xb049, "ReleaseMode"},
|
|
|
|
|
{ 0xb04a, "SequenceNumber"},
|
|
|
|
|
{ 0xb04b, "AntiBlur"},
|
|
|
|
|
{ 0xb04e, "LongExposureNoiseReduction"},
|
|
|
|
|
{ 0xb04e, "FocusMode"},
|
|
|
|
|
{ 0xb04f, "DynamicRangeOptimizer"},
|
|
|
|
|
{ 0xb050, "HighISONoiseReduction2"},
|
|
|
|
|
{ 0xb052, "IntelligentAuto"},
|
|
|
|
|
{ 0xb054, "WhiteBalance2"},
|
|
|
|
|
TAG_TABLE_END
|
|
|
|
|
@@ -1247,7 +1241,6 @@ static tag_info_array tag_table_VND_MINOLTA = {
|
|
|
|
|
{ 0x0100, "SceneMode"},
|
|
|
|
|
{ 0x0101, "ColorMode"},
|
|
|
|
|
{ 0x0102, "Quality"},
|
|
|
|
|
{ 0x0103, "0x0103"},
|
|
|
|
|
{ 0x0104, "FlashExposureComp"},
|
|
|
|
|
{ 0x0105, "Teleconverter"},
|
|
|
|
|
{ 0x0107, "ImageStabilization"},
|
|
|
|
|
@@ -1332,23 +1325,24 @@ typedef struct {
|
|
|
|
|
|
|
|
|
|
/* Remember to update PHP_MINFO if updated */
|
|
|
|
|
static const maker_note_type maker_note_array[] = {
|
|
|
|
|
{ tag_table_VND_CANON, "Canon", NULL, 0, 0, MN_ORDER_INTEL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_CASIO, "CASIO", NULL, 0, 0, MN_ORDER_MOTOROLA, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_FUJI, "FUJIFILM", "FUJIFILM\x0C\x00\x00\x00", 12, 12, MN_ORDER_INTEL, MN_OFFSET_MAKER},
|
|
|
|
|
{ tag_table_VND_NIKON, "NIKON", "Nikon\x00\x01\x00", 8, 8, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_NIKON_990, "NIKON", NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_OLYMPUS, "OLYMPUS OPTICAL CO.,LTD", "OLYMP\x00\x01\x00", 8, 8, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SAMSUNG, "SAMSUNG", NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_PANASONIC, "Panasonic", "Panasonic\x00\x00\x00", 12, 12, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_DJI, "DJI", NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SONY, "SONY", "SONY DSC \x00\x00\x00", 12, 12, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_PENTAX, "PENTAX", "AOC\x00", 6, 6, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_MINOLTA, "Minolta, KONICA MINOLTA", NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SIGMA, "SIGMA, FOVEON", "SIGMA\x00\x00\x00", 10, 10, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SIGMA, "SIGMA, FOVEON", "FOVEON\x00\x00\x00", 10, 10, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_KYOCERA, "KYOCERA, CONTAX", "KYOCERA \x00\x00\x00", 22, 22, MN_ORDER_NORMAL, MN_OFFSET_MAKER},
|
|
|
|
|
{ tag_table_VND_RICOH, "RICOH", "Ricoh", 5, 5, MN_ORDER_MOTOROLA, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_RICOH, "RICOH", "RICOH", 5, 5, MN_ORDER_MOTOROLA, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_CANON, "Canon", NULL, NULL, 0, 0, MN_ORDER_INTEL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_CASIO, "CASIO", NULL, NULL, 0, 0, MN_ORDER_MOTOROLA, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_FUJI, "FUJIFILM", NULL, "FUJIFILM\x0C\x00\x00\x00", 12, 12, MN_ORDER_INTEL, MN_OFFSET_MAKER},
|
|
|
|
|
{ tag_table_VND_NIKON, "NIKON", NULL, "Nikon\x00\x01\x00", 8, 8, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_NIKON_990, "NIKON", NULL, NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_OLYMPUS, "OLYMPUS OPTICAL CO.,LTD", NULL, "OLYMP\x00\x01\x00", 8, 8, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SAMSUNG, "SAMSUNG", NULL, NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_PANASONIC, "Panasonic", NULL, "Panasonic\x00\x00\x00", 12, 12, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_DJI, "DJI", NULL, NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SONY, "SONY", NULL, "SONY DSC \x00\x00\x00", 12, 12, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SONY, "SONY", NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_PENTAX, "PENTAX", NULL, "AOC\x00", 6, 6, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_MINOLTA, "Minolta, KONICA MINOLTA", NULL, NULL, 0, 0, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SIGMA, "SIGMA, FOVEON", NULL, "SIGMA\x00\x00\x00", 10, 10, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_SIGMA, "SIGMA, FOVEON", NULL, "FOVEON\x00\x00\x00", 10, 10, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_KYOCERA, "KYOCERA, CONTAX", NULL, "KYOCERA \x00\x00\x00", 22, 22, MN_ORDER_NORMAL, MN_OFFSET_MAKER},
|
|
|
|
|
{ tag_table_VND_RICOH, "RICOH", NULL, "Ricoh", 5, 5, MN_ORDER_MOTOROLA, MN_OFFSET_NORMAL},
|
|
|
|
|
{ tag_table_VND_RICOH, "RICOH", NULL, "RICOH", 5, 5, MN_ORDER_MOTOROLA, MN_OFFSET_NORMAL},
|
|
|
|
|
|
|
|
|
|
/* These re-uses existing formats */
|
|
|
|
|
{ tag_table_VND_OLYMPUS, "AGFA", "AGFA \x00\x01", 8, 8, MN_ORDER_NORMAL, MN_OFFSET_NORMAL},
|
|
|
|
|
@@ -3210,7 +3204,7 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
|
|
|
|
|
/*return TRUE;*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (components <= 0) {
|
|
|
|
|
if (components < 0) {
|
|
|
|
|
exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal components(%d)", tag, exif_get_tagname(tag, tagname, -12, tag_table), components);
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|