Changeset 4931 for extensions/AMetaData
- Timestamp:
- Feb 21, 2010, 8:41:06 PM (15 years ago)
- Location:
- extensions/AMetaData
- Files:
-
- 1 deleted
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/AMetaData/JpegMetaData/JpegMetaData.class.php
r4904 r4931 165 165 * 'implemented' => Boolean, allowing to know if the tags is implemented or 166 166 * not 167 * 'translatable'=> Boolean, allowing to know if the tag value can be 168 * translated 167 169 * 'name' => String, the tag name translated in locale language 168 170 * 169 171 * @Param Array $options (optional) 170 * @return Array(keyName => Array( 171 * 'implemented' => Boolean, 172 * 'translatable' => Boolean, 173 * 'name' => String)) 172 * @return Array(keyName => Array('implemented' => Boolean, 'name' => String)) 174 173 */ 175 174 static public function getTagList($options=Array()) … … 202 201 { 203 202 $list[]=MAKER_PENTAX; 203 $list[]=MAKER_NIKON; 204 204 } 205 205 … … 236 236 $tmp=new PentaxTags(); 237 237 $schema="exif.".MAKER_PENTAX; 238 break; 239 case MAKER_NIKON: 240 include_once(JPEG_METADATA_DIR."TagDefinitions/NikonTags.class.php"); 241 $tmp=new NikonTags(); 242 $schema="exif.".MAKER_NIKON; 238 243 break; 239 244 default: -
extensions/AMetaData/JpegMetaData/Readers/IfdEntryReader.class.php
r4824 r4931 269 269 } 270 270 271 272 271 public function toString() 273 272 { -
extensions/AMetaData/JpegMetaData/Readers/NikonReader.class.php
r4904 r4931 42 42 * 43 43 * 44 * **** All known tags are not implemented !! **** 45 * 46 * 44 47 * The NikonReader class is derived from the MakerNotesReader class. 45 48 * … … 56 59 class NikonReader extends MakerNotesReader 57 60 { 61 /* these 2 specific metadata are used to decrypt some information, like the 62 * data lens 63 */ 64 protected $serialNumber=""; 65 protected $shutterCount=-1; 66 67 protected $toDecode=Array(); 68 58 69 /** 59 70 * The constructor needs, like the ancestor, the datas to be parsed … … 88 99 } 89 100 101 // offset inside Nikon maker note are relative 102 $offset=-10; 103 90 104 parent::__construct($data, $offset, $byteOrder); 105 106 $this->processEncryptedTags(); 91 107 } 92 108 … … 147 163 148 164 /** 165 * encrypted values are processed in one shot when all the tags are processed 166 * with this method, we are sure the "SerialNumber" (0x001d) and the 167 * "ShutterCount" (0x00a7) tags are initialized 168 */ 169 protected function processEncryptedTags() 170 { 171 foreach($this->toDecode as $key=>$val) 172 { 173 $tagIndex=$this->getTagIndexById($key); 174 if($tagIndex>-1) 175 { 176 $this->entries[$tagIndex]->getTag()->setLabel($this->processSpecialTag($key, $val[0], $val[1])); 177 //echo sprintf("%04x * %s => %s<br>",$key,ConvertData::toHexDump($val[0], ByteType::ASCII),$this->processSpecialTag($key, $val[0], $val[1])); 178 } 179 } 180 } 181 182 /** 149 183 * this function do the interpretation of specials tags 150 184 * … … 161 195 switch($tagId) 162 196 { 197 case 0x0001: // "MakerNoteVersion" 198 // 0x30323030 => String "0200" => 2.00 199 $major=substr($values,0,2); 200 if(substr($values,0,1)=="0") 201 { 202 $major=substr($values,1,1); 203 } 204 else 205 { 206 $major=substr($values,0,2); 207 } 208 $minor=substr($values,2); 209 $returned=sprintf("%s.%s", $major, $minor); 210 break; 211 case 0x001d: // "SerialNumber" 212 $returned=ConvertData::toStrings($values); 213 $this->serialNumber=$returned; 214 break; 215 case 0x0003: // "ColorMode" 216 case 0x0004: // "Quality" 217 case 0x0005: // "WhiteBalance" 218 case 0x0006: // "Sharpness" 219 case 0x0007: // "FocusMode" 220 case 0x0008: // "FlashSetting" 221 case 0x0009: // "FlashType" 222 case 0x000f: // "ISOSelection" 223 case 0x0080: // "ImageAdjustment" 224 case 0x0081: // "ToneComp" 225 case 0x0082: // "AuxiliaryLens" 226 case 0x008D: // "ColorHue" 227 case 0x008f: // "SceneMode" 228 case 0x0090: // "LightSource" 229 case 0x0095: // "NoiseReduction" 230 case 0x009c: // "SceneAssist" 231 case 0x00a0: // "SerialNumber" 232 case 0x00a9: // "ImageOptimization" 233 case 0x00aa: // "Saturation" 234 case 0x00ab: // "VariProgram" 235 case 0x0e09: // "NikonCaptureVersion" 236 /* 237 * null terminated strings 238 */ 239 $returned=ConvertData::toStrings($values); 240 break; 241 case 0x092: // "HueAdjustment" 242 case 0x00a2: // "ImageDataSize" 243 $returned=$values; 244 break; 245 case 0x0a7: // "ShutterCount" 246 $this->shutterCount=$values; 247 $returned=$values; 248 break; 249 case 0x001f: // "VRInfo" 250 $returned=(ord($values{4})==1)?"On":"Off"; 251 break; 252 case 0x0083: // "LensType" 253 $tag=$this->tagDef->getTagById(0x0083); 254 255 $returned=Array(); 256 if(($values & 0x0001) == 0x0001) 257 $returned[]=$tag['tagValues.specialValues'][0x0001]; 258 259 if(($values & 0x0002) == 0x0002) 260 $returned[]=$tag['tagValues.specialValues'][0x0002]; 261 262 if(($values & 0x0004) == 0x0004) 263 $returned[]=$tag['tagValues.specialValues'][0x0004]; 264 265 if(($values & 0x0008) == 0x0008) 266 $returned[]=$tag['tagValues.specialValues'][0x0008]; 267 break; 268 case 0x0084: // "Lens" 269 /* array of 4 rationnal 270 * - short focal 271 * - long focal 272 * - aperture at short focal 273 * - aperture at long focal 274 * 275 * ==> 18-70mm f/3.5-4.5 276 */ 277 $result=array(); 278 foreach($values as $val) 279 { 280 if($val[1]==0) $val[1]==1; 281 $result[]=$val[0]/$val[1]; 282 } 283 284 if($result[0]!=$result[1]) 285 { 286 $returned=sprintf("%.0f-%.0fmm ", $result[0], $result[1]); 287 } 288 else 289 { 290 $returned=sprintf("%.0fmm ", $result[0]); 291 } 292 293 if($result[2]!=$result[3]) 294 { 295 $returned.=sprintf("f/%.1f-%.1f", $result[2], $result[3]); 296 } 297 else 298 { 299 $returned.=sprintf("f/%.1f", $result[2]); 300 } 301 break; 302 case 0x0086: // "DigitalZoom" 303 if($values[1]==0) $values[1]=1; 304 $returned=sprintf("x%.1f", $values[0]/$values[1]); 305 break; 306 case 0x0088: // "AFInfo" 307 /* - shortInt : AFAreaMode 308 * - shortInt : AFPoint 309 * - longInt : AFPointsInFocus 310 */ 311 $tag=$this->tagDef->getTagById(0x0088); 312 313 $values.="\0\0\0\0"; 314 315 $returned=Array(); 316 317 $tmp=ord($values{0}); 318 $returned['AFAreaMode'] = $tag['tagValues.specialValues'][0][$tmp]; 319 320 $tmp=ord($values{1}); 321 $returned['AFPoint'] = $tag['tagValues.specialValues'][1][$tmp]; 322 323 if($values=="\x00\x07\xff\xff") 324 { 325 $returned['AFPointsInFocus'] = $tag['tagValues.specialValues'][2][$values]; 326 } 327 else 328 { 329 $tmp=ord($values{2}) * 256 + ord($values{3}); 330 $returned['AFPointsInFocus']=Array(); 331 foreach($tag['tagValues.specialValues'][2] as $key => $val) 332 { 333 if(($tmp & $key) == $key) 334 $returned['AFPointsInFocus'][]=$val; 335 } 336 } 337 break; 338 case 0x0089: // "ShootingMode" 339 $returned=Array(); 340 $tag=$this->tagDef->getTagById(0x0089); 341 342 if(!($values & 0x87)) 343 { 344 $returned[]=$tag['tagValues.specialValues'][0x00]; 345 } 346 347 if(preg_match("/.*d70.*/i",MakerNotesSignatures::getExifMaker())) 348 { 349 $bit5=1; 350 } 351 else 352 { 353 $bit5=0; 354 } 355 356 if($values) 357 { 358 foreach($tag['tagValues.specialValues'] as $key => $val) 359 { 360 if((($values & $key) == $key) && ($key!=0x00)) 361 { 362 if($key==0x20) 363 { 364 $returned[]=$val[$bit5]; 365 } 366 else 367 { 368 $returned[]=$val; 369 } 370 } 371 } 372 } 373 break; 374 case 0x0098: // "LensData" 375 if($this->shutterCount==-1 or $this->serialNumber=="") 376 { 377 $this->toDecode[0x0098]=Array($values, $type); 378 $returned=""; 379 } 380 else 381 { 382 $returned=$this->readLensData($values); 383 } 384 break; 385 case 0x0099: // "RawImageCenter" 386 $returned=Array( 387 'x' => $values[0], 388 'y' => $values[1], 389 ); 390 break; 391 case 0x009a: // "SensorPixelSize" 392 if($values[0][1]==0) $values[0][1]=1; 393 if($values[1][1]==0) $values[1][1]=1; 394 395 $returned=sprintf("%.1f x %.1f µm", ($values[0][0]/$values[0][1]), ($values[1][0]/$values[1][1])); 396 break; 163 397 default: 164 398 $returned="Not yet implemented;".ConvertData::toHexDump($tagId, ByteType::USHORT)." => ".ConvertData::toHexDump($values, $type); … … 167 401 return($returned); 168 402 } 403 404 /** 405 * this function is used to decrypt datas from the Nikon "LensData" tag 406 * 407 * @param String $data : data from the exif.Nikon.LensData metadata 408 * @return Array : list of properties + lens name (computed) 409 */ 410 private function readLensData($data) 411 { 412 $returned=""; 413 $nfo=Array(); 414 $dataReader=new Data($data, $this->byteOrder); 415 416 $nfo['LensDataVersion']=$dataReader->readASCII(4); 417 418 if(substr($nfo['LensDataVersion'],0,2)=="02") 419 { 420 // in this case, data are encrypted 421 $decrypted=$nfo['LensDataVersion'].$this->decryptData($this->serialNumberInteger(), $this->shutterCount,$dataReader->readASCII(-1,4)); 422 $dataReader->setData($decrypted); 423 } 424 425 switch($nfo['LensDataVersion']) 426 { 427 case '0100' : 428 $nfo['LensIDNumber']=$dataReader->readUByte(6); 429 $nfo['LensFStops']=$dataReader->readUByte(7); 430 $nfo['MinFocalLength']=$dataReader->readUByte(8); 431 $nfo['MaxFocalLength']=$dataReader->readUByte(9); 432 $nfo['MaxApertureAtMinFocal']=$dataReader->readUByte(10); 433 $nfo['MaxApertureAtMaxFocal']=$dataReader->readUByte(11); 434 $nfo['MCUVersion']=$dataReader->readUByte(12); 435 break; 436 case '0101' : 437 case '0201' : 438 case '0202' : 439 case '0203' : 440 $nfo['LensIDNumber']=$dataReader->readUByte(11); 441 $nfo['LensFStops']=$dataReader->readUByte(12); 442 $nfo['MinFocalLength']=$dataReader->readUByte(13); 443 $nfo['MaxFocalLength']=$dataReader->readUByte(14); 444 $nfo['MaxApertureAtMinFocal']=$dataReader->readUByte(15); 445 $nfo['MaxApertureAtMaxFocal']=$dataReader->readUByte(16); 446 $nfo['MCUVersion']=$dataReader->readUByte(17); 447 break; 448 case '0204' : 449 $nfo['LensIDNumber']=$dataReader->readUByte(12); 450 $nfo['LensFStops']=$dataReader->readUByte(13); 451 $nfo['MinFocalLength']=$dataReader->readUByte(14); 452 $nfo['MaxFocalLength']=$dataReader->readUByte(15); 453 $nfo['MaxApertureAtMinFocal']=$dataReader->readUByte(16); 454 $nfo['MaxApertureAtMaxFocal']=$dataReader->readUByte(17); 455 $nfo['MCUVersion']=$dataReader->readUByte(18); 456 break; 457 } 458 459 $keyLens = sprintf("%02X %02X %02X %02X %02X %02X %02X %02X", 460 $nfo['LensIDNumber'], 461 $nfo['LensFStops'], 462 $nfo['MinFocalLength'], 463 $nfo['MaxFocalLength'], 464 $nfo['MaxApertureAtMinFocal'], 465 $nfo['MaxApertureAtMaxFocal'], 466 $nfo['MCUVersion'], 467 $this->getTagById(0x0083)->getValue() 468 ); 469 470 $tag=$this->tagDef->getTagById(0x0098); 471 if(array_key_exists($keyLens, $tag['tagValues.lenses'])) 472 { 473 $returned = $tag['tagValues.lenses'][$keyLens]; 474 } 475 else 476 { 477 $returned = $tag['tagValues.lenses']['unknown']." (".$keyLens." / ".$nfo['LensDataVersion'].")"; 478 } 479 480 481 unset($data); 482 unset($nfo); 483 return($returned); 484 } 485 486 /** 487 * Nikon encrypt some data 488 * This function is used to decrypt them. Don't ask anything about "how does 489 * it work" abd "what's it doing", I just translated the C++ & Perl code 490 * from Exiv2, Exiftool & Raw Photo Parser (Copyright 2004-2006 Dave Coffin) 491 * 492 * @param Integer $serialNumber : the camera serial number, in Integer 493 * format (from the 0x001d tag, not the 0x00a0) 494 * @param Integer $shutterCount : shutterCount value in the file 495 * @param String $data : data to decrypt 496 * @param Integer $decryptedLength : number of byte to decrypt 497 * @return String : the decrypted data 498 */ 499 private function decryptData($serialNumber, $shutterCount, $data, $decryptedLength=0) 500 { 501 $xlat = Array( 502 Array(0xc1,0xbf,0x6d,0x0d,0x59,0xc5,0x13,0x9d,0x83,0x61,0x6b,0x4f,0xc7,0x7f,0x3d,0x3d, 503 0x53,0x59,0xe3,0xc7,0xe9,0x2f,0x95,0xa7,0x95,0x1f,0xdf,0x7f,0x2b,0x29,0xc7,0x0d, 504 0xdf,0x07,0xef,0x71,0x89,0x3d,0x13,0x3d,0x3b,0x13,0xfb,0x0d,0x89,0xc1,0x65,0x1f, 505 0xb3,0x0d,0x6b,0x29,0xe3,0xfb,0xef,0xa3,0x6b,0x47,0x7f,0x95,0x35,0xa7,0x47,0x4f, 506 0xc7,0xf1,0x59,0x95,0x35,0x11,0x29,0x61,0xf1,0x3d,0xb3,0x2b,0x0d,0x43,0x89,0xc1, 507 0x9d,0x9d,0x89,0x65,0xf1,0xe9,0xdf,0xbf,0x3d,0x7f,0x53,0x97,0xe5,0xe9,0x95,0x17, 508 0x1d,0x3d,0x8b,0xfb,0xc7,0xe3,0x67,0xa7,0x07,0xf1,0x71,0xa7,0x53,0xb5,0x29,0x89, 509 0xe5,0x2b,0xa7,0x17,0x29,0xe9,0x4f,0xc5,0x65,0x6d,0x6b,0xef,0x0d,0x89,0x49,0x2f, 510 0xb3,0x43,0x53,0x65,0x1d,0x49,0xa3,0x13,0x89,0x59,0xef,0x6b,0xef,0x65,0x1d,0x0b, 511 0x59,0x13,0xe3,0x4f,0x9d,0xb3,0x29,0x43,0x2b,0x07,0x1d,0x95,0x59,0x59,0x47,0xfb, 512 0xe5,0xe9,0x61,0x47,0x2f,0x35,0x7f,0x17,0x7f,0xef,0x7f,0x95,0x95,0x71,0xd3,0xa3, 513 0x0b,0x71,0xa3,0xad,0x0b,0x3b,0xb5,0xfb,0xa3,0xbf,0x4f,0x83,0x1d,0xad,0xe9,0x2f, 514 0x71,0x65,0xa3,0xe5,0x07,0x35,0x3d,0x0d,0xb5,0xe9,0xe5,0x47,0x3b,0x9d,0xef,0x35, 515 0xa3,0xbf,0xb3,0xdf,0x53,0xd3,0x97,0x53,0x49,0x71,0x07,0x35,0x61,0x71,0x2f,0x43, 516 0x2f,0x11,0xdf,0x17,0x97,0xfb,0x95,0x3b,0x7f,0x6b,0xd3,0x25,0xbf,0xad,0xc7,0xc5, 517 0xc5,0xb5,0x8b,0xef,0x2f,0xd3,0x07,0x6b,0x25,0x49,0x95,0x25,0x49,0x6d,0x71,0xc7), 518 Array(0xa7,0xbc,0xc9,0xad,0x91,0xdf,0x85,0xe5,0xd4,0x78,0xd5,0x17,0x46,0x7c,0x29,0x4c, 519 0x4d,0x03,0xe9,0x25,0x68,0x11,0x86,0xb3,0xbd,0xf7,0x6f,0x61,0x22,0xa2,0x26,0x34, 520 0x2a,0xbe,0x1e,0x46,0x14,0x68,0x9d,0x44,0x18,0xc2,0x40,0xf4,0x7e,0x5f,0x1b,0xad, 521 0x0b,0x94,0xb6,0x67,0xb4,0x0b,0xe1,0xea,0x95,0x9c,0x66,0xdc,0xe7,0x5d,0x6c,0x05, 522 0xda,0xd5,0xdf,0x7a,0xef,0xf6,0xdb,0x1f,0x82,0x4c,0xc0,0x68,0x47,0xa1,0xbd,0xee, 523 0x39,0x50,0x56,0x4a,0xdd,0xdf,0xa5,0xf8,0xc6,0xda,0xca,0x90,0xca,0x01,0x42,0x9d, 524 0x8b,0x0c,0x73,0x43,0x75,0x05,0x94,0xde,0x24,0xb3,0x80,0x34,0xe5,0x2c,0xdc,0x9b, 525 0x3f,0xca,0x33,0x45,0xd0,0xdb,0x5f,0xf5,0x52,0xc3,0x21,0xda,0xe2,0x22,0x72,0x6b, 526 0x3e,0xd0,0x5b,0xa8,0x87,0x8c,0x06,0x5d,0x0f,0xdd,0x09,0x19,0x93,0xd0,0xb9,0xfc, 527 0x8b,0x0f,0x84,0x60,0x33,0x1c,0x9b,0x45,0xf1,0xf0,0xa3,0x94,0x3a,0x12,0x77,0x33, 528 0x4d,0x44,0x78,0x28,0x3c,0x9e,0xfd,0x65,0x57,0x16,0x94,0x6b,0xfb,0x59,0xd0,0xc8, 529 0x22,0x36,0xdb,0xd2,0x63,0x98,0x43,0xa1,0x04,0x87,0x86,0xf7,0xa6,0x26,0xbb,0xd6, 530 0x59,0x4d,0xbf,0x6a,0x2e,0xaa,0x2b,0xef,0xe6,0x78,0xb6,0x4e,0xe0,0x2f,0xdc,0x7c, 531 0xbe,0x57,0x19,0x32,0x7e,0x2a,0xd0,0xb8,0xba,0x29,0x00,0x3c,0x52,0x7d,0xa8,0x49, 532 0x3b,0x2d,0xeb,0x25,0x49,0xfa,0xa3,0xaa,0x39,0xa7,0xc5,0xa7,0x50,0x11,0x36,0xfb, 533 0xc6,0x67,0x4a,0xf5,0xa5,0x12,0x65,0x7e,0xb0,0xdf,0xaf,0x4e,0xb3,0x61,0x7f,0x2f) 534 ); 535 $returned=""; 536 537 if($decryptedLength==0 or $decryptedLength>strlen($data)) 538 $decryptedLength=strlen($data); 539 540 $key = 0; 541 for($i=0; $i < 4; $i++) 542 { 543 $key = $key ^ (($shutterCount >> ($i*8)) & 0xff); 544 } 545 $ci = $xlat[0][$serialNumber & 0xff]; 546 $cj = $xlat[1][$key]; 547 $ck = 0x60; 548 549 for($i=0;$i<$decryptedLength;++$i) 550 { 551 $cj+=$ci*$ck++; 552 $returned.= chr(ord($data{$i}) ^ $cj); 553 } 554 return($returned); 555 } 556 557 /** 558 * return the serialNumber as an integer 559 */ 560 private function serialNumberInteger() 561 { 562 if($this->serialNumber!="") 563 { 564 return(0+$this->serialNumber); 565 } 566 elseif(preg_match("/.*d50.*/i",MakerNotesSignatures::getExifMaker())) 567 { 568 //D50 569 return(0x22); 570 } 571 else 572 { 573 //D200, D40X, ... 574 return(0x60); 575 } 576 577 578 579 } 169 580 } 170 581 582 171 583 ?> -
extensions/AMetaData/JpegMetaData/Readers/PentaxReader.class.php
r4904 r4931 42 42 * 43 43 * 44 * **** All known tags are not implemented !! **** 45 * 46 * 44 47 * The PentaxReader class is derived from the MakerNotesReader class. 45 48 * … … 168 171 */ 169 172 if($values[0]<10) 170 $returned= ($values[0]/3)." EV";173 $returned=Array(($values[0]/3)." EV"); 171 174 else 172 $returned= ($values[0]-9.5)." EV";175 $returned=Array(($values[0]-9.5)." EV"); 173 176 174 177 if($values[1]==0) 175 $returned .=";No extended bracketing";178 $returned[]="No extended bracketing"; 176 179 else 177 180 { … … 181 184 { 182 185 case 1: 183 $returned .=";WB-BA";186 $returned[]="WB-BA"; 184 187 break; 185 188 case 2: 186 $returned .=";WB-GM";189 $returned[]="WB-GM"; 187 190 break; 188 191 case 3: 189 $returned .=";Saturation";192 $returned[]="Saturation"; 190 193 break; 191 194 case 4: 192 $returned .=";Sharpness";195 $returned[]="Sharpness"; 193 196 break; 194 197 case 5: 195 $returned .=";Contrast";198 $returned[]="Contrast"; 196 199 break; 197 200 default: 198 $returned .=";Unknown;".ConvertData::toHexDump($type, ByteType::USHORT);201 $returned[]="Unknown;".ConvertData::toHexDump($type, ByteType::USHORT); 199 202 break; 200 203 } 201 $returned .=", ".$range;204 $returned[]=$range; 202 205 } 203 206 break; -
extensions/AMetaData/JpegMetaData/Readers/XmpReader.class.php
r4904 r4931 366 366 case "dc:source": 367 367 case "dc:title": 368 case "dc:CreatorTool": 368 369 case "xmp:BaseURL": 369 370 case "xmp:CreatorTool": … … 395 396 case "photoshop:State": 396 397 case "photoshop:TransmissionReference": 398 case "photoshop:ICCProfile": 397 399 case "crs:AutoBrightness": 398 400 case "crs:AutoContrast": -
extensions/AMetaData/JpegMetaData/TagDefinitions/IfdTags.class.php
r4904 r4931 417 417 0x0120 => Array( 418 418 'tagName' => "FreeOffsets", 419 'schema' => " ",419 'schema' => "tiff", 420 420 'translatable'=> false, 421 421 'combiTag' => 0, … … 426 426 0x0121 => Array( 427 427 'tagName' => "FreeByteCounts", 428 'schema' => " ",428 'schema' => "unknown", 429 429 'translatable'=> false, 430 430 'combiTag' => 0, … … 451 451 0x0123 => Array( 452 452 'tagName' => "GrayResponseCurve", 453 'schema' => " ",453 'schema' => "unknown", 454 454 'translatable'=> false, 455 455 'combiTag' => 0, … … 460 460 0x0124 => Array( 461 461 'tagName' => "T4Options", 462 'schema' => " ",462 'schema' => "unknown", 463 463 'translatable'=> false, 464 464 'combiTag' => 0, … … 470 470 0x0125 => Array( 471 471 'tagName' => "T6Options", 472 'schema' => " ",472 'schema' => "unknown", 473 473 'translatable'=> false, 474 474 'combiTag' => 0, … … 503 503 0x012c => Array( 504 504 'tagName' => "ColorResponseUnit", 505 'schema' => " ",505 'schema' => "unknown", 506 506 'translatable'=> false, 507 507 'combiTag' => 0, … … 592 592 0x0201 => Array( 593 593 'tagName' => "JPEGInterchangeFormat", 594 'schema' => Array("tiff", "IFD1", "MAKERNOTES", "IFD2"),594 'schema' => "tiff", 595 595 'translatable'=> false, 596 596 'combiTag' => 0, … … 601 601 0x0202 => Array( 602 602 'tagName' => "JPEGInterchangeFormatLength", 603 'schema' => Array("tiff", "IFD1", "MAKERNOTES", "IFD2"),603 'schema' => "tiff", 604 604 'translatable'=> false, 605 605 'combiTag' => 0, … … 721 721 0x8568 => Array( 722 722 'tagName' => "AFCP_IPTC", 723 'schema' => " ",723 'schema' => "unknown", 724 724 'translatable'=> false, 725 725 'combiTag' => 0, … … 730 730 0x8769 => Array( 731 731 'tagName' => "Exif IFD Pointer", 732 'schema' => " ",733 'translatable'=> false, 734 'combiTag' => 0, 735 'implemented' => true732 'schema' => "tiff", 733 'translatable'=> false, 734 'combiTag' => 0, 735 'implemented' => false 736 736 ), // < Exif IFD Pointer 737 737 … … 739 739 0x8773 => Array( 740 740 'tagName' => "ICC_Profile", 741 'schema' => " ",741 'schema' => "unknown", 742 742 'translatable'=> false, 743 743 'combiTag' => 0, … … 778 778 0x8825 => Array( 779 779 'tagName' => "GPS IFD Pointer", 780 'schema' => " ",781 'translatable'=> false, 782 'combiTag' => 0, 783 'implemented' => true780 'schema' => "tiff", 781 'translatable'=> false, 782 'combiTag' => 0, 783 'implemented' => false 784 784 ), // < GPS IFD Pointer 785 785 … … 1097 1097 0x9216 => Array( 1098 1098 'tagName' => "TIFF-EPStandardID", 1099 'schema' => " ",1099 'schema' => "unknown", 1100 1100 'translatable'=> false, 1101 1101 'combiTag' => 0, … … 1110 1110 'translatable'=> false, 1111 1111 'combiTag' => 0, 1112 'implemented' => true1112 'implemented' => false //implemented but can't be used as a tag value 1113 1113 ), // < MakerNote 1114 1114 … … 1248 1248 0xA005 => Array( 1249 1249 'tagName' => "Interoperability IFD Pointer", 1250 'schema' => " ",1250 'schema' => "exif", 1251 1251 'translatable'=> false, 1252 1252 'combiTag' => 0, … … 1266 1266 0xA20C => Array( 1267 1267 'tagName' => "SpatialFrequencyResponse", 1268 'schema' => " ",1268 'schema' => "exif", 1269 1269 'translatable'=> false, 1270 1270 'combiTag' => 0, … … 1276 1276 0xA20D => Array( 1277 1277 'tagName' => "Noise", 1278 'schema' => " ",1278 'schema' => "exif", 1279 1279 'translatable'=> false, 1280 1280 'combiTag' => 0, -
extensions/AMetaData/JpegMetaData/TagDefinitions/NikonTags.class.php
r4904 r4931 44 44 * 45 45 * 46 * Pentaxvalues from46 * Nikon values from 47 47 * - Exiftool by Phil Harvey => http://www.sno.phy.queensu.ca/~phil/exiftool/ 48 48 * http://owl.phy.queensu.ca/~phil/exiftool/TagNames … … 60 60 protected $label = "Nikon specific tags"; 61 61 protected $tags = Array( 62 /* 63 * tags with defined values 64 */ 65 66 // MakerNoteVersion, tag 0x0001 67 0x0001 => Array( 68 'tagName' => "MakerNoteVersion", 69 'schema' => "Nikon", 70 'translatable'=> false, 71 'combiTag' => 0, 72 'implemented' => false, 73 ), // < MakerNoteVersion 74 75 // ISO, tag 0x0002 76 0x0002 => Array( 77 'tagName' => "ISO", 78 'schema' => "Nikon", 79 'translatable'=> false, 80 'combiTag' => 0, 81 'implemented' => false, 82 ), // < ISO 83 84 // ColorMode, tag 0x0003 85 0x0003 => Array( 86 'tagName' => "ColorMode", 87 'schema' => "Nikon", 88 'translatable'=> false, 89 'combiTag' => 0, 90 'implemented' => true, 91 ), // < ColorMode 92 93 // , tag 0x0004 94 0x0004 => Array( 95 'tagName' => "Quality", 96 'schema' => "Nikon", 97 'translatable'=> false, 98 'combiTag' => 0, 99 'implemented' => true, 100 ), // < Quality 101 102 // WhiteBalance, tag 0x0005 103 0x0005 => Array( 104 'tagName' => "WhiteBalance", 105 'schema' => "Nikon", 106 'translatable'=> false, 107 'combiTag' => 0, 108 'implemented' => true, 109 ), // < WhiteBalance 110 111 // Sharpness, tag 0x0006 112 0x0006 => Array( 113 'tagName' => "Sharpness", 114 'schema' => "Nikon", 115 'translatable'=> false, 116 'combiTag' => 0, 117 'implemented' => true, 118 ), // < Sharpness 119 120 // FocusMode, tag 0x0007 121 0x0007 => Array( 122 'tagName' => "FocusMode", 123 'schema' => "Nikon", 124 'translatable'=> false, 125 'combiTag' => 0, 126 'implemented' => true, 127 ), // < FocusMode 128 129 // FlashSetting, tag 0x0008 130 0x0008 => Array( 131 'tagName' => "FlashSetting", 132 'schema' => "Nikon", 133 'translatable'=> false, 134 'combiTag' => 0, 135 'implemented' => true, 136 ), // < FlashSetting 137 138 // FlashType, tag 0x0009 139 0x0009 => Array( 140 'tagName' => "FlashType", 141 'schema' => "Nikon", 142 'translatable'=> false, 143 'combiTag' => 0, 144 'implemented' => true, 145 ), // < FlashType 146 147 // WhiteBalanceFineTune, tag 0x000b 148 0x000b => Array( 149 'tagName' => "WhiteBalanceFineTune", 150 'schema' => "Nikon", 151 'translatable'=> false, 152 'combiTag' => 0, 153 'implemented' => false, 154 ), // < WhiteBalanceFineTune 155 156 // WB_RBLevels, tag 0x000c 157 0x000c => Array( 158 'tagName' => "WB_RBLevels", 159 'schema' => "Nikon", 160 'translatable'=> false, 161 'combiTag' => 0, 162 'implemented' => false, 163 ), // < WB_RBLevels 164 165 // ProgramShift, tag 0x000d 166 0x000d => Array( 167 'tagName' => "ProgramShift", 168 'schema' => "Nikon", 169 'translatable'=> false, 170 'combiTag' => 0, 171 'implemented' => false, 172 ), // < ProgramShift 173 174 // ExposureDifference, tag 0x000e 175 0x000e => Array( 176 'tagName' => "ExposureDifference", 177 'schema' => "Nikon", 178 'translatable'=> false, 179 'combiTag' => 0, 180 'implemented' => false, 181 ), // < ExposureDifference 182 183 // ISOSelection, tag 0x000f 184 0x000f => Array( 185 'tagName' => "ISOSelection", 186 'schema' => "Nikon", 187 'translatable'=> false, 188 'combiTag' => 0, 189 'implemented' => true, 190 ), // < ISOSelection 191 192 // DataDump, tag 0x0010 193 0x0010 => Array( 194 'tagName' => "DataDump", 195 'schema' => "Nikon", 196 'translatable'=> false, 197 'combiTag' => 0, 198 'implemented' => false, 199 ), // < DataDump 200 201 // NikonPreview, tag 0x0011 202 0x0011 => Array( 203 'tagName' => "NikonPreview", 204 'schema' => "Nikon", 205 'translatable'=> false, 206 'combiTag' => 0, 207 'implemented' => false, 208 ), // < NikonPreview 209 210 // FlashExposureComp, tag 0x0012 211 0x0012 => Array( 212 'tagName' => "FlashExposureComp", 213 'schema' => "Nikon", 214 'translatable'=> false, 215 'combiTag' => 0, 216 'implemented' => false, 217 ), // < FlashExposureComp 218 219 // ISOSetting, tag 0x0013 220 0x0013 => Array( 221 'tagName' => "ISOSetting", 222 'schema' => "Nikon", 223 'translatable'=> false, 224 'combiTag' => 0, 225 'implemented' => false, 226 ), // < ISOSetting 227 228 // ColorBalanceA, tag 0x0014 229 0x0014 => Array( 230 'tagName' => "ColorBalanceA", 231 'schema' => "Nikon", 232 'translatable'=> false, 233 'combiTag' => 0, 234 'implemented' => false, 235 ), // < ColorBalanceA 236 237 // ImageBoundary, tag 0x0016 238 0x0016 => Array( 239 'tagName' => "ImageBoundary", 240 'schema' => "Nikon", 241 'translatable'=> false, 242 'combiTag' => 0, 243 'implemented' => false, 244 ), // < ImageBoundary 245 246 // FlashExposureComp, tag 0x0017 247 0x0017 => Array( 248 'tagName' => "FlashExposureComp", 249 'schema' => "Nikon", 250 'translatable'=> false, 251 'combiTag' => 0, 252 'implemented' => false, 253 ), // < FlashExposureComp 254 255 // FlashExposureBracketValue, tag 0x0018 256 0x0018 => Array( 257 'tagName' => "FlashExposureBracketValue", 258 'schema' => "Nikon", 259 'translatable'=> false, 260 'combiTag' => 0, 261 'implemented' => false, 262 ), // < FlashExposureBracketValue 263 264 // ExposureBracketValue, tag 0x0019 265 0x0019 => Array( 266 'tagName' => "ExposureBracketValue", 267 'schema' => "Nikon", 268 'translatable'=> false, 269 'combiTag' => 0, 270 'implemented' => false, 271 ), // < ExposureBracketValue 272 273 // ImageProcessing, tag 0x001a 274 0x001a => Array( 275 'tagName' => "ImageProcessing", 276 'schema' => "Nikon", 277 'translatable'=> false, 278 'combiTag' => 0, 279 'implemented' => false, 280 ), // < ImageProcessing 281 282 // CropHiSpeed, tag 0x001b 283 0x001b => Array( 284 'tagName' => "CropHiSpeed", 285 'schema' => "Nikon", 286 'translatable'=> false, 287 'combiTag' => 0, 288 'implemented' => false, 289 ), // < CropHiSpeed 290 291 // ExposureTuning, tag 0x001c 292 0x001c => Array( 293 'tagName' => "ExposureTuning", 294 'schema' => "Nikon", 295 'translatable'=> false, 296 'combiTag' => 0, 297 'implemented' => false, 298 ), // < ExposureTuning 299 300 // SerialNumber, tag 0x001d 301 0x001d => Array( 302 'tagName' => "SerialNumber", 303 'schema' => "Nikon", 304 'translatable'=> false, 305 'combiTag' => 0, 306 'implemented' => true, 307 ), // < SerialNumber 308 309 // ColorSpace, tag 0x001e 310 0x001e => Array( 311 'tagName' => "ColorSpace", 312 'schema' => "Nikon", 313 'translatable'=> false, 314 'combiTag' => 0, 315 'implemented' => true, 316 'tagValues' => Array( 317 1 => "sRGB", 318 2 => "Adobe RGB" 319 ) 320 ), // < ColorSpace 321 322 // VRInfo, tag 0x001f 323 0x001f => Array( 324 'tagName' => "VRInfo", 325 'schema' => "Nikon", 326 'translatable'=> true, 327 'combiTag' => 0, 328 'implemented' => true, 329 ), // < VRInfo 330 331 // ImageAuthentication, tag 0x0020 332 0x0020 => Array( 333 'tagName' => "ImageAuthentication", 334 'schema' => "Nikon", 335 'translatable'=> true, 336 'combiTag' => 0, 337 'implemented' => true, 338 'tagValues' => Array( 339 0 => "Off", 340 1 => "On" 341 ) 342 ), // < ImageAuthentication 343 344 // ActiveD-Lighting, tag 0x0022 345 0x0022 => Array( 346 'tagName' => "ActiveD-Lighting", 347 'schema' => "Nikon", 348 'translatable'=> true, 349 'combiTag' => 0, 350 'implemented' => true, 351 'tagValues' => Array( 352 0 => "Off", 353 1 => "Low", 354 3 => "Normal", 355 5 => "High", 356 0xffff => "Auto" 357 ) 358 ), // < ActiveD-Lighting 359 360 // PictureControl, tag 0x0023 361 0x0023 => Array( 362 'tagName' => "PictureControl", 363 'schema' => "Nikon", 364 'translatable'=> false, 365 'combiTag' => 0, 366 'implemented' => false, 367 ), // < PictureControl 368 369 // WorldTime, tag 0x0024 370 0x0024 => Array( 371 'tagName' => "WorldTime", 372 'schema' => "Nikon", 373 'translatable'=> false, 374 'combiTag' => 0, 375 'implemented' => false, 376 ), // < WorldTime 377 378 // ISOInfo, tag 0x0025 379 0x0025 => Array( 380 'tagName' => "ISOInfo", 381 'schema' => "Nikon", 382 'translatable'=> false, 383 'combiTag' => 0, 384 'implemented' => false, 385 ), // < ISOInfo 386 387 // VignetteControl, tag 0x002a 388 0x002a => Array( 389 'tagName' => "VignetteControl", 390 'schema' => "Nikon", 391 'translatable'=> true, 392 'combiTag' => 0, 393 'implemented' => true, 394 'tagValues' => Array( 395 0 => "Off", 396 1 => "Low", 397 3 => "Normal", 398 5 => "High", 399 ) 400 ), // < VignetteControl 401 402 // DistortInfo, tag 0x002b 403 0x002b => Array( 404 'tagName' => "DistortInfo", 405 'schema' => "Nikon", 406 'translatable'=> false, 407 'combiTag' => 0, 408 'implemented' => false, 409 ), // < DistortInfo 410 411 // ImageAdjustment, tag 0x0080 412 0x0080 => Array( 413 'tagName' => "ImageAdjustment", 414 'schema' => "Nikon", 415 'translatable'=> false, 416 'combiTag' => 0, 417 'implemented' => true, 418 ), // < ImageAdjustment 419 420 // ToneComp, tag 0x0081 421 0x0081 => Array( 422 'tagName' => "ToneComp", 423 'schema' => "Nikon", 424 'translatable'=> false, 425 'combiTag' => 0, 426 'implemented' => true, 427 ), // < ToneComp 428 429 // AuxiliaryLens, tag 0x0082 430 0x0082 => Array( 431 'tagName' => "AuxiliaryLens", 432 'schema' => "Nikon", 433 'translatable'=> false, 434 'combiTag' => 0, 435 'implemented' => true, 436 ), // < AuxiliaryLens 437 438 // LensType, tag 0x0083 439 0x0083 => Array( 440 'tagName' => "LensType", 441 'schema' => "Nikon", 442 'translatable'=> false, 443 'combiTag' => 0, 444 'implemented' => true, 445 'tagValues.specialValues' => Array( 446 0x0001 => "MF", //b0001 447 0x0002 => "D", //b0010 448 0x0004 => "G", //b0100 449 0x0008 => "VR" //b1000 450 ), 451 ), // < LensType 452 453 // Lens, tag 0x0084 454 0x0084 => Array( 455 'tagName' => "Lens", 456 'schema' => "Nikon", 457 'translatable'=> false, 458 'combiTag' => 0, 459 'implemented' => true, 460 ), // < Lens 461 462 // ManualFocusDistance, tag 0x0085 463 0x0085 => Array( 464 'tagName' => "ManualFocusDistance", 465 'schema' => "Nikon", 466 'translatable'=> false, 467 'combiTag' => 0, 468 'implemented' => false, 469 ), // < ManualFocusDistance 470 471 // DigitalZoom, tag 0x0086 472 0x0086 => Array( 473 'tagName' => "DigitalZoom", 474 'schema' => "Nikon", 475 'translatable'=> false, 476 'combiTag' => 0, 477 'implemented' => true, 478 ), // < DigitalZoom 479 480 // FlashMode, tag 0x0087 481 0x0087 => Array( 482 'tagName' => "FlashMode", 483 'schema' => "Nikon", 484 'translatable'=> true, 485 'combiTag' => 0, 486 'implemented' => true, 487 'tagValues' => Array( 488 0 => "Did Not Fire", 489 1 => "Fired, Manual", 490 3 => "Not Ready", 491 7 => "Fired, External", 492 8 => "Fired, Commander Mode", 493 9 => "Fired, TTL Mode", 494 ) 495 ), // < FlashMode 496 497 // AFInfo, tag 0x0088 498 0x0088 => Array( 499 'tagName' => "AFInfo", 500 'schema' => "Nikon", 501 'translatable'=> true, 502 'combiTag' => 0, 503 'implemented' => true, 504 'tagValues.specialValues' => Array( 505 0 => Array( 506 0x0 => "Single Area", 507 0x1 => "Dynamic Area", 508 0x2 => "Dynamic Area (closest subject)", 509 0x3 => "Group Dynamic", 510 0x4 => "Single Area (wide)", 511 0x5 => "Dynamic Area (wide)", 512 ), 513 1 => Array( 514 0x0 => "Center", 515 0x1 => "Top", 516 0x2 => "Bottom", 517 0x3 => "Mid-left", 518 0x4 => "Mid-right", 519 0x5 => "Upper-left", 520 0x6 => "Upper-right", 521 0x7 => "Lower-left", 522 0x8 => "Lower-right", 523 0x9 => "Far Left", 524 0xA => "Far Right", 525 ), 526 2 => Array( 527 0x0001 => "Center", 528 0x0002 => "Top", 529 0x0004 => "Bottom", 530 0x0008 => "Mid-left", 531 0x0010 => "Mid-right", 532 0x0020 => "Upper-left", 533 0x0040 => "Upper-right", 534 0x0080 => "Lower-left", 535 0x0100 => "Lower-right", 536 0x0200 => "Far Left", 537 0x0400 => "Far Right", 538 0x07ff => "All 11 Points" 539 ) 540 ) 541 ), // < 542 543 // ShootingMode, tag 0x0089 544 0x0089 => Array( 545 'tagName' => "ShootingMode", 546 'schema' => "Nikon", 547 'translatable'=> true, 548 'combiTag' => 0, 549 'implemented' => true, 550 'tagValues.specialValues' => Array( 551 0x00 => "Single frame", //special value 552 0x01 => "Continuous", //b00000001(bit0) 553 0x02 => "Delay", //b00000010 554 0x04 => "PC Control", //b00000100 555 0x08 => "?", //b00001000 556 0x10 => "Exposure Bracketing", //b00010000 557 0x20 => Array(0=>"Auto ISO", 1=>"Unused LE-NR Slowdown"),//b00100000(bit5) 558 0x40 => "White-Balance Bracketing", //b01000000 559 0x80 => "IR Control", //b10000000(bit7) 560 ), 561 ), // < ShootingMode 562 563 // LensFStops, tag 0x008b 564 0x008b => Array( 565 'tagName' => "LensFStops", 566 'schema' => "Nikon", 567 'translatable'=> false, 568 'combiTag' => 0, 569 'implemented' => false, 570 ), // < LensFStops 571 572 // ContrastCurve, tag 0x008c 573 0x008c => Array( 574 'tagName' => "ContrastCurve", 575 'schema' => "Nikon", 576 'translatable'=> false, 577 'combiTag' => 0, 578 'implemented' => false, 579 ), // < ContrastCurve 580 581 // ColorHue, tag 0x008d 582 0x008d => Array( 583 'tagName' => "ColorHue", 584 'schema' => "Nikon", 585 'translatable'=> false, 586 'combiTag' => 0, 587 'implemented' => true, 588 ), // < ColorHue 589 590 // SceneMode, tag 0x008f 591 0x008f => Array( 592 'tagName' => "SceneMode", 593 'schema' => "Nikon", 594 'translatable'=> false, 595 'combiTag' => 0, 596 'implemented' => true, 597 ), // < SceneMode 598 599 // LightSource, tag 0x0090 600 0x0090 => Array( 601 'tagName' => "LightSource", 602 'schema' => "Nikon", 603 'translatable'=> false, 604 'combiTag' => 0, 605 'implemented' => true, 606 ), // < LightSource 607 608 // ShotInfo, tag 0x0091 609 0x0091 => Array( 610 'tagName' => "ShotInfo", 611 'schema' => "Nikon", 612 'translatable'=> false, 613 'combiTag' => 0, 614 'implemented' => false, 615 ), // < 616 617 // HueAdjustment, tag 0x0092 618 0x0092 => Array( 619 'tagName' => "HueAdjustment", 620 'schema' => "Nikon", 621 'translatable'=> false, 622 'combiTag' => 0, 623 'implemented' => true, 624 ), // < HueAdjustment 625 626 // NEFCompression, tag 0x0093 627 0x0093 => Array( 628 'tagName' => "NEFCompression", 629 'schema' => "Nikon", 630 'translatable'=> false, 631 'combiTag' => 0, 632 'implemented' => true, 633 'tagValues' => Array( 634 0x01 => "Lossy (type 1)", 635 0x02 => "Uncompressed", 636 0x03 => "Lossless", 637 0x04 => "Lossy (type 2)", 638 ), 639 ), // < NEFCompression 640 641 // Saturation, tag 0x0094 642 0x0094 => Array( 643 'tagName' => "Saturation", 644 'schema' => "Nikon", 645 'translatable'=> false, 646 'combiTag' => 0, 647 'implemented' => false, 648 ), // < Saturation 649 650 // NoiseReduction, tag 0x0095 651 0x0095 => Array( 652 'tagName' => "NoiseReduction", 653 'schema' => "Nikon", 654 'translatable'=> false, 655 'combiTag' => 0, 656 'implemented' => true, 657 ), // < NoiseReduction 658 659 // LinearizationTable, tag 0x0096 660 0x0096 => Array( 661 'tagName' => "LinearizationTable", 662 'schema' => "Nikon", 663 'translatable'=> false, 664 'combiTag' => 0, 665 'implemented' => false, 666 ), // < LinearizationTable 667 668 // ColorBalance, tag 0x0097 669 0x0097 => Array( 670 'tagName' => "ColorBalance", 671 'schema' => "Nikon", 672 'translatable'=> false, 673 'combiTag' => 0, 674 'implemented' => false, 675 ), // < ColorBalance 676 677 // LensData, tag 0x0098 678 0x0098 => Array( 679 'tagName' => "LensData", 680 'schema' => "Nikon", 681 'translatable'=> true, 682 'combiTag' => 0, 683 'implemented' => true, 684 'tagValues.lenses' => Array( 685 'unknown' => "Unknown lenses", 686 '01 58 50 50 14 14 02 00' => 'AF Nikkor 50mm f/1.8', 687 '02 42 44 5C 2A 34 02 00' => 'AF Zoom-Nikkor 35-70mm f/3.3-4.5', 688 '02 42 44 5C 2A 34 08 00' => 'AF Zoom-Nikkor 35-70mm f/3.3-4.5', 689 '03 48 5C 81 30 30 02 00' => 'AF Zoom-Nikkor 70-210mm f/4', 690 '04 48 3C 3C 24 24 03 00' => 'AF Nikkor 28mm f/2.8', 691 '05 54 50 50 0C 0C 04 00' => 'AF Nikkor 50mm f/1.4', 692 '06 54 53 53 24 24 06 00' => 'AF Micro-Nikkor 55mm f/2.8', 693 '07 40 3C 62 2C 34 03 00' => 'AF Zoom-Nikkor 28-85mm f/3.5-4.5', 694 '08 40 44 6A 2C 34 04 00' => 'AF Zoom-Nikkor 35-105mm f/3.5-4.5', 695 '09 48 37 37 24 24 04 00' => 'AF Nikkor 24mm f/2.8', 696 '0A 48 8E 8E 24 24 03 00' => 'AF Nikkor 300mm f/2.8 IF-ED', 697 '0B 48 7C 7C 24 24 05 00' => 'AF Nikkor 180mm f/2.8 IF-ED', 698 '0D 40 44 72 2C 34 07 00' => 'AF Zoom-Nikkor 35-135mm f/3.5-4.5', 699 '0E 48 5C 81 30 30 05 00' => 'AF Zoom-Nikkor 70-210mm f/4', 700 '0F 58 50 50 14 14 05 00' => 'AF Nikkor 50mm f/1.8 N', 701 '10 48 8E 8E 30 30 08 00' => 'AF Nikkor 300mm f/4 IF-ED', 702 '11 48 44 5C 24 24 08 00' => 'AF Zoom-Nikkor 35-70mm f/2.8', 703 '12 48 5C 81 30 3C 09 00' => 'AF Nikkor 70-210mm f/4-5.6', 704 '13 42 37 50 2A 34 0B 00' => 'AF Zoom-Nikkor 24-50mm f/3.3-4.5', 705 '14 48 60 80 24 24 0B 00' => 'AF Zoom-Nikkor 80-200mm f/2.8 ED', 706 '15 4C 62 62 14 14 0C 00' => 'AF Nikkor 85mm f/1.8', 707 '17 3C A0 A0 30 30 0F 00' => 'Nikkor 500mm f/4 P ED IF', 708 '17 3C A0 A0 30 30 11 00' => 'Nikkor 500mm f/4 P ED IF', 709 '18 40 44 72 2C 34 0E 00' => 'AF Zoom-Nikkor 35-135mm f/3.5-4.5 N', 710 '1A 54 44 44 18 18 11 00' => 'AF Nikkor 35mm f/2', 711 '1B 44 5E 8E 34 3C 10 00' => 'AF Zoom-Nikkor 75-300mm f/4.5-5.6', 712 '1C 48 30 30 24 24 12 00' => 'AF Nikkor 20mm f/2.8', 713 '1D 42 44 5C 2A 34 12 00' => 'AF Zoom-Nikkor 35-70mm f/3.3-4.5 N', 714 '1E 54 56 56 24 24 13 00' => 'AF Micro-Nikkor 60mm f/2.8', 715 '1F 54 6A 6A 24 24 14 00' => 'AF Micro-Nikkor 105mm f/2.8', 716 '20 48 60 80 24 24 15 00' => 'AF Zoom-Nikkor 80-200mm f/2.8 ED', 717 '21 40 3C 5C 2C 34 16 00' => 'AF Zoom-Nikkor 28-70mm f/3.5-4.5', 718 '22 48 72 72 18 18 16 00' => 'AF DC-Nikkor 135mm f/2', 719 '23 30 BE CA 3C 48 17 00' => 'Zoom-Nikkor 1200-1700mm f/5.6-8 P ED IF', 720 '24 48 60 80 24 24 1A 02' => 'AF Zoom-Nikkor 80-200mm f/2.8D ED', 721 '25 48 44 5C 24 24 1B 02' => 'AF Zoom-Nikkor 35-70mm f/2.8D', 722 '25 48 44 5C 24 24 52 02' => 'AF Zoom-Nikkor 35-70mm f/2.8D', 723 '27 48 8E 8E 24 24 1D 02' => 'AF-I Nikkor 300mm f/2.8D IF-ED', 724 '27 48 8E 8E 24 24 F1 02' => 'AF-I Nikkor 300mm f/2.8D IF-ED + TC-14E', 725 '27 48 8E 8E 24 24 E1 02' => 'AF-I Nikkor 300mm f/2.8D IF-ED + TC-17E', 726 '27 48 8E 8E 24 24 F2 02' => 'AF-I Nikkor 300mm f/2.8D IF-ED + TC-20E', 727 '28 3C A6 A6 30 30 1D 02' => 'AF-I Nikkor 600mm f/4D IF-ED', 728 '28 3C A6 A6 30 30 F1 02' => 'AF-I Nikkor 600mm f/4D IF-ED + TC-14E', 729 '28 3C A6 A6 30 30 E1 02' => 'AF-I Nikkor 600mm f/4D IF-ED + TC-17E', 730 '28 3C A6 A6 30 30 F2 02' => 'AF-I Nikkor 600mm f/4D IF-ED + TC-20E', 731 '2A 54 3C 3C 0C 0C 26 02' => 'AF Nikkor 28mm f/1.4D', 732 '2B 3C 44 60 30 3C 1F 02' => 'AF Zoom-Nikkor 35-80mm f/4-5.6D', 733 '2C 48 6A 6A 18 18 27 02' => 'AF DC-Nikkor 105mm f/2D', 734 '2D 48 80 80 30 30 21 02' => 'AF Micro-Nikkor 200mm f/4D IF-ED', 735 '2E 48 5C 82 30 3C 28 02' => 'AF Nikkor 70-210mm f/4-5.6D', 736 '2F 48 30 44 24 24 29 02' => 'AF Zoom-Nikkor 20-35mm f/2.8D IF', //doublon? 737 '30 48 98 98 24 24 24 02' => 'AF-I Nikkor 400mm f/2.8D IF-ED', 738 '30 48 98 98 24 24 F1 02' => 'AF-I Nikkor 400mm f/2.8D IF-ED + TC-14E', 739 '30 48 98 98 24 24 E1 02' => 'AF-I Nikkor 400mm f/2.8D IF-ED + TC-17E', 740 '30 48 98 98 24 24 F2 02' => 'AF-I Nikkor 400mm f/2.8D IF-ED + TC-20E', 741 '31 54 56 56 24 24 25 02' => 'AF Micro-Nikkor 60mm f/2.8D', 742 '32 54 6A 6A 24 24 35 02' => 'AF Micro-Nikkor 105mm f/2.8D', //doublon? 743 '33 48 2D 2D 24 24 31 02' => 'AF Nikkor 18mm f/2.8D', 744 '34 48 29 29 24 24 32 02' => 'AF Fisheye Nikkor 16mm f/2.8D', 745 '35 3C A0 A0 30 30 33 02' => 'AF-I Nikkor 500mm f/4D IF-ED', 746 '35 3C A0 A0 30 30 F1 02' => 'AF-I Nikkor 500mm f/4D IF-ED + TC-14E', 747 '35 3C A0 A0 30 30 E1 02' => 'AF-I Nikkor 500mm f/4D IF-ED + TC-17E', 748 '35 3C A0 A0 30 30 F2 02' => 'AF-I Nikkor 500mm f/4D IF-ED + TC-20E', 749 '36 48 37 37 24 24 34 02' => 'AF Nikkor 24mm f/2.8D', 750 '37 48 30 30 24 24 36 02' => 'AF Nikkor 20mm f/2.8D', 751 '38 4C 62 62 14 14 37 02' => 'AF Nikkor 85mm f/1.8D', 752 '3A 40 3C 5C 2C 34 39 02' => 'AF Zoom-Nikkor 28-70mm f/3.5-4.5D', 753 '3B 48 44 5C 24 24 3A 02' => 'AF Zoom-Nikkor 35-70mm f/2.8D N', 754 '3C 48 60 80 24 24 3B 02' => 'AF Zoom-Nikkor 80-200mm f/2.8D ED', 755 '3D 3C 44 60 30 3C 3E 02' => 'AF Zoom-Nikkor 35-80mm f/4-5.6D', 756 '3E 48 3C 3C 24 24 3D 02' => 'AF Nikkor 28mm f/2.8D', 757 '3F 40 44 6A 2C 34 45 02' => 'AF Zoom-Nikkor 35-105mm f/3.5-4.5D', 758 '41 48 7C 7C 24 24 43 02' => 'AF Nikkor 180mm f/2.8D IF-ED', 759 '42 54 44 44 18 18 44 02' => 'AF Nikkor 35mm f/2D', 760 '43 54 50 50 0C 0C 46 02' => 'AF Nikkor 50mm f/1.4D', 761 '44 44 60 80 34 3C 47 02' => 'AF Zoom-Nikkor 80-200mm f/4.5-5.6D', 762 '45 40 3C 60 2C 3C 48 02' => 'AF Zoom-Nikkor 28-80mm f/3.5-5.6D', 763 '46 3C 44 60 30 3C 49 02' => 'AF Zoom-Nikkor 35-80mm f/4-5.6D N', 764 '47 42 37 50 2A 34 4A 02' => 'AF Zoom-Nikkor 24-50mm f/3.3-4.5D', 765 '48 48 8E 8E 24 24 4B 02' => 'AF-S Nikkor 300mm f/2.8D IF-ED', 766 '48 48 8E 8E 24 24 F1 02' => 'AF-S Nikkor 300mm f/2.8D IF-ED + TC-14E', 767 '48 48 8E 8E 24 24 E1 02' => 'AF-S Nikkor 300mm f/2.8D IF-ED + TC-17E', 768 '48 48 8E 8E 24 24 F2 02' => 'AF-S Nikkor 300mm f/2.8D IF-ED + TC-20E', 769 '49 3C A6 A6 30 30 4C 02' => 'AF-S Nikkor 600mm f/4D IF-ED', 770 '49 3C A6 A6 30 30 F1 02' => 'AF-S Nikkor 600mm f/4D IF-ED + TC-14E', 771 '49 3C A6 A6 30 30 E1 02' => 'AF-S Nikkor 600mm f/4D IF-ED + TC-17E', 772 '49 3C A6 A6 30 30 F2 02' => 'AF-S Nikkor 600mm f/4D IF-ED + TC-20E', 773 '4A 54 62 62 0C 0C 4D 02' => 'AF Nikkor 85mm f/1.4D IF', 774 '4B 3C A0 A0 30 30 4E 02' => 'AF-S Nikkor 500mm f/4D IF-ED', 775 '4B 3C A0 A0 30 30 F1 02' => 'AF-S Nikkor 500mm f/4D IF-ED + TC-14E', 776 '4B 3C A0 A0 30 30 E1 02' => 'AF-S Nikkor 500mm f/4D IF-ED + TC-17E', 777 '4B 3C A0 A0 30 30 F2 02' => 'AF-S Nikkor 500mm f/4D IF-ED + TC-20E', 778 '4C 40 37 6E 2C 3C 4F 02' => 'AF Zoom-Nikkor 24-120mm f/3.5-5.6D IF', 779 '4D 40 3C 80 2C 3C 62 02' => 'AF Zoom-Nikkor 28-200mm f/3.5-5.6D IF', 780 '4E 48 72 72 18 18 51 02' => 'AF DC-Nikkor 135mm f/2D', 781 '4F 40 37 5C 2C 3C 53 06' => 'IX-Nikkor 24-70mm f/3.5-5.6', 782 '50 48 56 7C 30 3C 54 06' => 'IX-Nikkor 60-180mm f/4-5.6', 783 '53 48 60 80 24 24 57 02' => 'AF Zoom-Nikkor 80-200mm f/2.8D ED', 784 '53 48 60 80 24 24 60 02' => 'AF Zoom-Nikkor 80-200mm f/2.8D ED', 785 '54 44 5C 7C 34 3C 58 02' => 'AF Zoom-Micro Nikkor 70-180mm f/4.5-5.6D ED', 786 '56 48 5C 8E 30 3C 5A 02' => 'AF Zoom-Nikkor 70-300mm f/4-5.6D ED', 787 '59 48 98 98 24 24 5D 02' => 'AF-S Nikkor 400mm f/2.8D IF-ED', 788 '59 48 98 98 24 24 F1 02' => 'AF-S Nikkor 400mm f/2.8D IF-ED + TC-14E', 789 '59 48 98 98 24 24 E1 02' => 'AF-S Nikkor 400mm f/2.8D IF-ED + TC-17E', 790 '59 48 98 98 24 24 F2 02' => 'AF-S Nikkor 400mm f/2.8D IF-ED + TC-20E', 791 '5A 3C 3E 56 30 3C 5E 06' => 'IX-Nikkor 30-60mm f/4-5.6', 792 '5B 44 56 7C 34 3C 5F 06' => 'IX-Nikkor 60-180mm f/4.5-5.6', 793 '5D 48 3C 5C 24 24 63 02' => 'AF-S Zoom-Nikkor 28-70mm f/2.8D IF-ED', 794 '5E 48 60 80 24 24 64 02' => 'AF-S Zoom-Nikkor 80-200mm f/2.8D IF-ED', 795 '5F 40 3C 6A 2C 34 65 02' => 'AF Zoom-Nikkor 28-105mm f/3.5-4.5D IF', 796 '60 40 3C 60 2C 3C 66 02' => 'AF Zoom-Nikkor 28-80mm f/3.5-5.6D', 797 '61 44 5E 86 34 3C 67 02' => 'AF Zoom-Nikkor 75-240mm f/4.5-5.6D', 798 '63 48 2B 44 24 24 68 02' => 'AF-S Nikkor 17-35mm f/2.8D IF-ED', 799 '64 00 62 62 24 24 6A 02' => 'PC Micro-Nikkor 85mm f/2.8D', 800 '65 44 60 98 34 3C 6B 0A' => 'AF VR Zoom-Nikkor 80-400mm f/4.5-5.6D ED', 801 '66 40 2D 44 2C 34 6C 02' => 'AF Zoom-Nikkor 18-35mm f/3.5-4.5D IF-ED', 802 '67 48 37 62 24 30 6D 02' => 'AF Zoom-Nikkor 24-85mm f/2.8-4D IF', 803 '68 42 3C 60 2A 3C 6E 06' => 'AF Zoom-Nikkor 28-80mm f/3.3-5.6G', 804 '69 48 5C 8E 30 3C 6F 06' => 'AF Zoom-Nikkor 70-300mm f/4-5.6G', 805 '6A 48 8E 8E 30 30 70 02' => 'AF-S Nikkor 300mm f/4D IF-ED', 806 '6B 48 24 24 24 24 71 02' => 'AF Nikkor ED 14mm f/2.8D', 807 '6D 48 8E 8E 24 24 73 02' => 'AF-S Nikkor 300mm f/2.8D IF-ED II', 808 '6E 48 98 98 24 24 74 02' => 'AF-S Nikkor 400mm f/2.8D IF-ED II', 809 '6F 3C A0 A0 30 30 75 02' => 'AF-S Nikkor 500mm f/4D IF-ED II', 810 '70 3C A6 A6 30 30 76 02' => 'AF-S Nikkor 600mm f/4D IF-ED II', 811 '72 48 4C 4C 24 24 77 00' => 'Nikkor 45mm f/2.8 P', 812 '74 40 37 62 2C 34 78 06' => 'AF-S Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED', 813 '75 40 3C 68 2C 3C 79 06' => 'AF Zoom-Nikkor 28-100mm f/3.5-5.6G', 814 '76 58 50 50 14 14 7A 02' => 'AF Nikkor 50mm f/1.8D', 815 '77 48 5C 80 24 24 7B 0E' => 'AF-S VR Zoom-Nikkor 70-200mm f/2.8G IF-ED', 816 '78 40 37 6E 2C 3C 7C 0E' => 'AF-S VR Zoom-Nikkor 24-120mm f/3.5-5.6G IF-ED', 817 '79 40 3C 80 2C 3C 7F 06' => 'AF Zoom-Nikkor 28-200mm f/3.5-5.6G IF-ED', 818 '7A 3C 1F 37 30 30 7E 06' => 'AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED', //doublon ? 819 '7B 48 80 98 30 30 80 0E' => 'AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED', 820 '7D 48 2B 53 24 24 82 06' => 'AF-S DX Zoom-Nikkor 17-55mm f/2.8G IF-ED', 821 '7F 40 2D 5C 2C 34 84 06' => 'AF-S DX Zoom-Nikkor 18-70mm f/3.5-4.5G IF-ED', 822 '80 48 1A 1A 24 24 85 06' => 'AF DX Fisheye-Nikkor 10.5mm f/2.8G ED', 823 '81 54 80 80 18 18 86 0E' => 'AF-S VR Nikkor 200mm f/2G IF-ED', 824 '82 48 8E 8E 24 24 87 0E' => 'AF-S VR Nikkor 300mm f/2.8G IF-ED', 825 '89 3C 53 80 30 3C 8B 06' => 'AF-S DX Zoom-Nikkor 55-200mm f/4-5.6G ED', 826 '8A 54 6A 6A 24 24 8C 0E' => 'AF-S VR Micro-Nikkor 105mm f/2.8G IF-ED', 827 '8B 40 2D 80 2C 3C 8D 0E' => 'AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED', 828 '8B 40 2D 80 2C 3C FD 0E' => 'AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED (II)', 829 '8C 40 2D 53 2C 3C 8E 06' => 'AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED', 830 '8D 44 5C 8E 34 3C 8F 0E' => 'AF-S VR Zoom-Nikkor 70-300mm f/4.5-5.6G IF-ED', 831 '8F 40 2D 72 2C 3C 91 06' => 'AF-S DX Zoom-Nikkor 18-135mm f/3.5-5.6G IF-ED', 832 '90 3B 53 80 30 3C 92 0E' => 'AF-S DX VR Zoom-Nikkor 55-200mm f/4-5.6G IF-ED', 833 '92 48 24 37 24 24 94 06' => 'AF-S Zoom-Nikkor 14-24mm f/2.8G ED', 834 '93 48 37 5C 24 24 95 06' => 'AF-S Zoom-Nikkor 24-70mm f/2.8G ED', 835 '94 40 2D 53 2C 3C 96 06' => 'AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED II', 836 '95 4C 37 37 2C 2C 97 02' => 'PC-E Nikkor 24mm f/3.5D ED', 837 '95 00 37 37 2C 2C 97 06' => 'PC-E Nikkor 24mm f/3.5D ED', 838 '96 48 98 98 24 24 98 0E' => 'AF-S VR Nikkor 400mm f/2.8G ED', 839 '97 3C A0 A0 30 30 99 0E' => 'AF-S VR Nikkor 500mm f/4G ED', 840 '98 3C A6 A6 30 30 9A 0E' => 'AF-S VR Nikkor 600mm f/4G ED', 841 '99 40 29 62 2C 3C 9B 0E' => 'AF-S DX VR Zoom-Nikkor 16-85mm f/3.5-5.6G ED', 842 '9A 40 2D 53 2C 3C 9C 0E' => 'AF-S DX VR Zoom-Nikkor 18-55mm f/3.5-5.6G', 843 '9B 54 4C 4C 24 24 9D 02' => 'PC-E Micro Nikkor 45mm f/2.8D ED', 844 '9B 00 4C 4C 24 24 9D 06' => 'PC-E Micro Nikkor 45mm f/2.8D ED', 845 '9C 54 56 56 24 24 9E 06' => 'AF-S Micro Nikkor 60mm f/2.8G ED', 846 '9D 54 62 62 24 24 9F 02' => 'PC-E Micro Nikkor 85mm f/2.8D', 847 '9D 00 62 62 24 24 9F 06' => 'PC-E Micro Nikkor 85mm f/2.8D', 848 '9E 40 2D 6A 2C 3C A0 0E' => 'AF-S DX VR Zoom-Nikkor 18-105mm f/3.5-5.6G ED', 849 '9F 58 44 44 14 14 A1 06' => 'AF-S DX Nikkor 35mm f/1.8G', 850 'A0 54 50 50 0C 0C A2 06' => 'AF-S Nikkor 50mm f/1.4G', 851 'A1 40 18 37 2C 34 A3 06' => 'AF-S DX Nikkor 10-24mm f/3.5-4.5G ED', 852 'A2 48 5C 80 24 24 A4 0E' => 'AF-S Nikkor 70-200mm f/2.8G ED VR II', 853 '01 00 00 00 00 00 02 00' => 'TC-16A', 854 '01 00 00 00 00 00 08 00' => 'TC-16A', 855 '00 00 00 00 00 00 F1 0C' => 'TC-14E [II] or Sigma APO Tele Converter 1.4x EX DG or Kenko Teleplus PRO 300 DG 1.4x', 856 '00 00 00 00 00 00 F2 18' => 'TC-20E [II] or Sigma APO Tele Converter 2x EX DG or Kenko Teleplus PRO 300 DG 2.0x', 857 '00 00 00 00 00 00 E1 12' => 'TC-17E II', 858 'FE 47 00 00 24 24 4B 06' => 'Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye', 859 '26 48 11 11 30 30 1C 02' => 'Sigma 8mm F4 EX Circular Fisheye', 860 '79 40 11 11 2C 2C 1C 06' => 'Sigma 8mm F3.5 EX Circular Fisheye', 861 'DC 48 19 19 24 24 4B 06' => 'Sigma 10mm F2.8 EX DC HSM Fisheye', 862 '02 3F 24 24 2C 2C 02 00' => 'Sigma 14mm F3.5', 863 '48 48 24 24 24 24 4B 02' => 'Sigma 14mm F2.8 EX Aspherical HSM', 864 '26 48 27 27 24 24 1C 02' => 'Sigma 15mm F2.8 EX Diagonal Fisheye', 865 '26 58 31 31 14 14 1C 02' => 'Sigma 20mm F1.8 EX DG Aspherical RF', 866 '26 58 37 37 14 14 1C 02' => 'Sigma 24mm F1.8 EX DG Aspherical Macro', 867 'E1 58 37 37 14 14 1C 02' => 'Sigma 24mm F1.8 EX DG Aspherical Macro', 868 '02 46 37 37 25 25 02 00' => 'Sigma 24mm F2.8 Super Wide II Macro', 869 '26 58 3C 3C 14 14 1C 02' => 'Sigma 28mm F1.8 EX DG Aspherical Macro', 870 '48 54 3E 3E 0C 0C 4B 06' => 'Sigma 30mm F1.4 EX DC HSM', 871 'F8 54 3E 3E 0C 0C 4B 06' => 'Sigma 30mm F1.4 EX DC HSM', 872 'DE 54 50 50 0C 0C 4B 06' => 'Sigma 50mm F1.4 EX DG HSM', 873 '32 54 50 50 24 24 35 02' => 'Sigma Macro 50mm F2.8 EX DG', 874 '79 48 5C 5C 24 24 1C 06' => 'Sigma Macro 70mm F2.8 EX DG', 875 '02 48 65 65 24 24 02 00' => 'Sigma 90mm F2.8 Macro', 876 '32 54 6A 6A 24 24 35 02' => 'Sigma Macro 105mm F2.8 EX DG', //doublon ? 877 'E5 54 6A 6A 24 24 35 02' => 'Sigma Macro 105mm F2.8 EX DG', 878 '48 48 76 76 24 24 4B 06' => 'Sigma 150mm F2.8 EX DG APO Macro HSM', 879 'F5 48 76 76 24 24 4B 06' => 'Sigma 150mm F2.8 EX DG APO Macro HSM', 880 '48 4C 7C 7C 2C 2C 4B 02' => 'Sigma 180mm F3.5 EX DG Macro', 881 '48 4C 7D 7D 2C 2C 4B 02' => 'Sigma APO Macro 180mm F3.5 EX DG HSM', 882 '48 54 8E 8E 24 24 4B 02' => 'Sigma APO 300mm F2.8 EX DG HSM', 883 'FB 54 8E 8E 24 24 4B 02' => 'Sigma APO 300mm F2.8 EX DG HSM', 884 '26 48 8E 8E 30 30 1C 02' => 'Sigma APO Tele Macro 300mm F4', 885 '02 2F 98 98 3D 3D 02 00' => 'Sigma 400mm F5.6 APO', 886 '02 37 A0 A0 34 34 02 00' => 'Sigma APO 500mm F4.5', 887 '48 44 A0 A0 34 34 4B 02' => 'Sigma APO 500mm F4.5 EX HSM', 888 '48 3C B0 B0 3C 3C 4B 02' => 'Sigma APO 800mm F5.6 EX HSM', 889 'A1 41 19 31 2C 2C 4B 06' => 'Sigma 10-20mm F3.5 EX DC HSM', 890 '48 3C 19 31 30 3C 4B 06' => 'Sigma 10-20mm F4-5.6 EX DC HSM', 891 'F9 3C 19 31 30 3C 4B 06' => 'Sigma 10-20mm F4-5.6 EX DC HSM', 892 '48 38 1F 37 34 3C 4B 06' => 'Sigma 12-24mm F4.5-5.6 EX DG Aspherical HSM', 893 'F0 38 1F 37 34 3C 4B 06' => 'Sigma 12-24mm F4.5-5.6 EX DG Aspherical HSM', 894 '26 40 27 3F 2C 34 1C 02' => 'Sigma 15-30mm F3.5-4.5 EX DG Aspherical DF', 895 '48 48 2B 44 24 30 4B 06' => 'Sigma 17-35mm F2.8-4 EX DG Aspherical HSM', 896 '26 54 2B 44 24 30 1C 02' => 'Sigma 17-35mm F2.8-4 EX Aspherical', 897 '7A 47 2B 5C 24 34 4B 06' => 'Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF HSM', 898 '7A 48 2B 5C 24 34 4B 06' => 'Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF HSM', 899 '7F 48 2B 5C 24 34 1C 06' => 'Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF', 900 '26 40 2D 44 2B 34 1C 02' => 'Sigma 18-35 F3.5-4.5 Aspherical', 901 '26 48 2D 50 24 24 1C 06' => 'Sigma 18-50mm F2.8 EX DC', 902 '7F 48 2D 50 24 24 1C 06' => 'Sigma 18-50mm F2.8 EX DC Macro', 903 '7A 48 2D 50 24 24 4B 06' => 'Sigma 18-50mm F2.8 EX DC Macro', 904 '26 40 2D 50 2C 3C 1C 06' => 'Sigma 18-50mm F3.5-5.6 DC', 905 '7A 40 2D 50 2C 3C 4B 06' => 'Sigma 18-50mm F3.5-5.6 DC HSM', 906 '26 40 2D 70 2B 3C 1C 06' => 'Sigma 18-125mm F3.5-5.6 DC', 907 'CD 3D 2D 70 2E 3C 4B 0E' => 'Sigma 18-125mm F3.8-5.6 DC OS HSM', 908 '26 40 2D 80 2C 40 1C 06' => 'Sigma 18-200mm F3.5-6.3 DC', 909 'ED 40 2D 80 2C 40 4B 0E' => 'Sigma 18-200mm F3.5-6.3 DC OS HSM', 910 'A5 40 2D 88 2C 40 4B 0E' => 'Sigma 18-250mm F3.5-6.3 DC OS HSM', 911 '26 48 31 49 24 24 1C 02' => 'Sigma 20-40mm F2.8', 912 '26 48 37 56 24 24 1C 02' => 'Sigma 24-60mm F2.8 EX DG', 913 'B6 48 37 56 24 24 1C 02' => 'Sigma 24-60mm F2.8 EX DG', 914 'A6 48 37 5C 24 24 4B 06' => 'Sigma 24-70mm F2.8 IF EX DG HSM', 915 '26 54 37 5C 24 24 1C 02' => 'Sigma 24-70mm F2.8 EX DG Macro', 916 '67 54 37 5C 24 24 1C 02' => 'Sigma 24-70mm F2.8 EX DG Macro', 917 'E9 54 37 5C 24 24 1C 02' => 'Sigma 24-70mm F2.8 EX DG Macro', 918 '26 40 37 5C 2C 3C 1C 02' => 'Sigma 24-70mm F3.5-5.6 Aspherical HF', 919 '26 54 37 73 24 34 1C 02' => 'Sigma 24-135mm F2.8-4.5', 920 '02 46 3C 5C 25 25 02 00' => 'Sigma 28-70mm F2.8', 921 '26 54 3C 5C 24 24 1C 02' => 'Sigma 28-70mm F2.8 EX', 922 '26 48 3C 5C 24 24 1C 06' => 'Sigma 28-70mm F2.8 EX DG', 923 '26 48 3C 5C 24 30 1C 02' => 'Sigma 28-70mm F2.8-4 DG', 924 '02 3F 3C 5C 2D 35 02 00' => 'Sigma 28-70mm F3.5-4.5 UC', 925 '26 40 3C 60 2C 3C 1C 02' => 'Sigma 28-80mm F3.5-5.6 Mini Zoom Macro II Aspherical', 926 '26 40 3C 65 2C 3C 1C 02' => 'Sigma 28-90mm F3.5-5.6 Macro', 927 '26 48 3C 6A 24 30 1C 02' => 'Sigma 28-105mm F2.8-4 Aspherical', 928 '26 3E 3C 6A 2E 3C 1C 02' => 'Sigma 28-105mm F3.8-5.6 UC-III Aspherical IF', 929 '26 40 3C 80 2C 3C 1C 02' => 'Sigma 28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro', 930 '26 40 3C 80 2B 3C 1C 02' => 'Sigma 28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro', 931 '26 3D 3C 80 2F 3D 1C 02' => 'Sigma 28-300mm F3.8-5.6 Aspherical', 932 '26 41 3C 8E 2C 40 1C 02' => 'Sigma 28-300mm F3.5-6.3 DG Macro', 933 '26 40 3C 8E 2C 40 1C 02' => 'Sigma 28-300mm F3.5-6.3 Macro', 934 '02 3B 44 61 30 3D 02 00' => 'Sigma 35-80mm F4-5.6', 935 '02 40 44 73 2B 36 02 00' => 'Sigma 35-135mm F3.5-4.5 a', 936 '7A 47 50 76 24 24 4B 06' => 'Sigma 50-150mm F2.8 EX APO DC HSM', 937 'FD 47 50 76 24 24 4B 06' => 'Sigma 50-150mm F2.8 EX APO DC HSM II', 938 '48 3C 50 A0 30 40 4B 02' => 'Sigma 50-500mm F4-6.3 EX APO RF HSM', 939 '26 3C 54 80 30 3C 1C 06' => 'Sigma 55-200mm F4-5.6 DC', 940 '7A 3B 53 80 30 3C 4B 06' => 'Sigma 55-200mm F4-5.6 DC HSM', 941 '48 54 5C 80 24 24 4B 02' => 'Sigma 70-200mm F2.8 EX APO IF HSM', 942 '7A 48 5C 80 24 24 4B 06' => 'Sigma 70-200mm F2.8 EX APO DG Macro HSM II', 943 'EE 48 5C 80 24 24 4B 06' => 'Sigma 70-200mm F2.8 EX APO DG Macro HSM II', 944 '02 46 5C 82 25 25 02 00' => 'Sigma 70-210mm F2.8 APO', 945 '26 3C 5C 82 30 3C 1C 02' => 'Sigma 70-210mm F4-5.6 UC-II', 946 '26 3C 5C 8E 30 3C 1C 02' => 'Sigma 70-300mm F4-5.6 DG Macro', 947 '56 3C 5C 8E 30 3C 1C 02' => 'Sigma 70-300mm F4-5.6 APO Macro Super II', 948 'E0 3C 5C 8E 30 3C 4B 06' => 'Sigma 70-300mm F4-5.6 APO DG Macro HSM', 949 '02 37 5E 8E 35 3D 02 00' => 'Sigma 75-300mm F4.5-5.6 APO', 950 '02 3A 5E 8E 32 3D 02 00' => 'Sigma 75-300mm F4.0-5.6', 951 '77 44 61 98 34 3C 7B 0E' => 'Sigma 80-400mm F4.5-5.6 EX OS', 952 '48 48 68 8E 30 30 4B 02' => 'Sigma 100-300mm F4 EX IF HSM', 953 '48 54 6F 8E 24 24 4B 02' => 'Sigma APO 120-300mm F2.8 EX DG HSM', 954 '7A 54 6E 8E 24 24 4B 02' => 'Sigma APO 120-300mm F2.8 EX DG HSM', 955 'CF 38 6E 98 34 3C 4B 0E' => 'Sigma APO 120-400mm F4.5-5.6 DG OS HSM', 956 '26 44 73 98 34 3C 1C 02' => 'Sigma 135-400mm F4.5-5.6 APO Aspherical', 957 'CE 34 76 A0 38 40 4B 0E' => 'Sigma 150-500mm F5-6.3 DG OS APO HSM', 958 '26 40 7B A0 34 40 1C 02' => 'Sigma APO 170-500mm F5-6.3 Aspherical RF', 959 '48 3C 8E B0 3C 3C 4B 02' => 'Sigma APO 300-800 F5.6 EX DG HSM', 960 'F4 54 56 56 18 18 84 06' => 'Tamron SP AF 60mm f/2.0 Di II Macro 1:1 (G005)', 961 '1E 5D 64 64 20 20 13 00' => 'Tamron SP AF 90mm f/2.5 (52E)', 962 '32 53 64 64 24 24 35 02' => 'Tamron SP AF 90mm f/2.8 Di Macro 1:1 (272E)', 963 'F8 55 64 64 24 24 84 06' => 'Tamron SP AF 90mm f/2.8 Di Macro 1:1 (272NII)', 964 '00 4C 7C 7C 2C 2C 00 02' => 'Tamron SP AF 180mm f/3.5 Di Model (B01)', 965 'F6 3F 18 37 2C 34 84 06' => 'Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical (IF) (B001)', 966 '00 36 1C 2D 34 3C 00 06' => 'Tamron SP AF 11-18mm f/4.5-5.6 Di II LD Aspherical (IF) (A13)', 967 '07 46 2B 44 24 30 03 02' => 'Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical (IF) (A05)', 968 '00 53 2B 50 24 24 00 06' => 'Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16)', 969 '00 54 2B 50 24 24 00 06' => 'Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16NII)', 970 'F3 54 2B 50 24 24 84 0E' => 'Tamron SP AF 17-50mm F/2.8 XR Di II VC LD Aspherical (IF) (B005)', 971 '00 3F 2D 80 2B 40 00 06' => 'Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) (A14)', 972 '00 3F 2D 80 2C 40 00 06' => 'Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro (A14)', 973 '00 40 2D 80 2C 40 00 06' => 'Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro (A14NII)', 974 '00 40 2D 88 2C 40 62 06' => 'Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical (IF) Macro (A18)', 975 '00 40 2D 88 2C 40 00 06' => 'Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical (IF) Macro (A18NII)', 976 'F5 40 2C 8A 2C 40 40 0E' => 'Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical (IF) Macro (B003)', 977 '07 40 2F 44 2C 34 03 02' => 'Tamron AF 19-35mm f/3.5-4.5 (A10)', 978 '07 40 30 45 2D 35 03 02' => 'Tamron AF 19-35mm f/3.5-4.5 (A10)', 979 '00 49 30 48 22 2B 00 02' => 'Tamron SP AF 20-40mm f/2.7-3.5 (166D)', 980 '0E 4A 31 48 23 2D 0E 02' => 'Tamron SP AF 20-40mm f/2.7-3.5 (166D)', 981 '45 41 37 72 2C 3C 48 02' => 'Tamron SP AF 24-135mm f/3.5-5.6 AD Aspherical (IF) Macro (190D)', 982 '33 54 3C 5E 24 24 62 02' => 'Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09)', 983 'FA 54 3C 5E 24 24 84 06' => 'Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09NII)', 984 '10 3D 3C 60 2C 3C D2 02' => 'Tamron AF 28-80mm f/3.5-5.6 Aspherical (177D)', 985 '45 3D 3C 60 2C 3C 48 02' => 'Tamron AF 28-80mm f/3.5-5.6 Aspherical (177D)', 986 '00 48 3C 6A 24 24 00 02' => 'Tamron SP AF 28-105mm f/2.8 LD Aspherical IF (176D)', 987 '0B 3E 3D 7F 2F 3D 0E 00' => 'Tamron AF 28-200mm f/3.8-5.6 (71D)', 988 '0B 3E 3D 7F 2F 3D 0E 02' => 'Tamron AF 28-200mm f/3.8-5.6D (171D)', 989 '12 3D 3C 80 2E 3C DF 02' => 'Tamron AF 28-200mm f/3.8-5.6 AF Aspherical LD (IF) (271D)', 990 '4D 41 3C 8E 2B 40 62 02' => 'Tamron AF 28-300mm f/3.5-6.3 XR Di LD Aspherical (IF) (A061)', 991 '4D 41 3C 8E 2C 40 62 02' => 'Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical (IF) (185D)', 992 'F9 40 3C 8E 2C 40 40 0E' => 'Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical (IF) Macro (A20)', 993 '00 47 53 80 30 3C 00 06' => 'Tamron AF 55-200mm f/4-5.6 Di II LD (A15)', 994 'F7 53 5C 80 24 24 84 06' => 'Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)', 995 '69 48 5C 8E 30 3C 6F 02' => 'Tamron AF 70-300mm f/4-5.6 LD Macro 1:2 (772D)', 996 '00 48 5C 8E 30 3C 00 06' => 'Tamron AF 70-300mm f/4-5.6 Di LD Macro 1:2 (A17)', 997 '20 3C 80 98 3D 3D 1E 02' => 'Tamron AF 200-400mm f/5.6 LD IF (75D)', 998 '00 3E 80 A0 38 3F 00 02' => 'Tamron SP AF 200-500mm f/5-6.3 Di LD (IF) (A08)', 999 '00 3F 80 A0 38 3F 00 02' => 'Tamron SP AF 200-500mm f/5-6.3 Di (A08)', 1000 '00 40 2B 2B 2C 2C 00 02' => 'Tokina AT-X 17 AF PRO (AF 17mm f/3.5)', 1001 '00 47 44 44 24 24 00 06' => 'Tokina AT-X M35 PRO DX (AF 35mm f/2.8 Macro)', 1002 '00 54 68 68 24 24 00 02' => 'Tokina AT-X M100 PRO D (AF 100mm f/2.8 Macro)', 1003 '00 54 8E 8E 24 24 00 02' => 'Tokina AT-X 300 AF PRO (AF 300mm f/2.8)', 1004 '00 40 18 2B 2C 34 00 06' => 'Tokina AT-X 107 DX Fisheye (AF 10-17mm f/3.5-4.5)', 1005 '00 48 1C 29 24 24 00 06' => 'Tokina AT-X 116 PRO DX (AF 11-16mm f/2.8)', 1006 '00 3C 1F 37 30 30 00 06' => 'Tokina AT-X 124 AF PRO DX (AF 12-24mm f/4)', 1007 '7A 3C 1F 37 30 30 7E 06' => 'Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4)', //doublon ? 1008 '00 48 29 50 24 24 00 06' => 'Tokina AT-X 165 PRO DX (AF 16-50mm f/2.8)', 1009 '00 40 2A 72 2C 3C 00 06' => 'Tokina AT-X 16.5-135 DX (AF 16.5-135mm F3.5-5.6)', 1010 '2F 48 30 44 24 24 29 02' => 'Tokina AT-X 235 AF PRO (AF 20-35mm f/2.8)', //doublon ? 1011 '2F 40 30 44 2C 34 29 02' => 'Tokina AF 235 II (AF 20-35mm f/3.5-4.5)', 1012 '25 48 3C 5C 24 24 1B 02' => 'Tokina AT-X 270 AF PRO II (AF 28-70mm f/2.6-2.8)', 1013 '07 48 3C 5C 24 24 03 00' => 'Tokina AT-X 287 AF (AF 28-70mm f/2.8)', 1014 '07 47 3C 5C 25 35 03 00' => 'Tokina AF 287 SD (AF 28-70mm f/2.8-4.5)', 1015 '00 48 3C 60 24 24 00 02' => 'Tokina AT-X 280 AF PRO (AF 28-80mm f/2.8)', 1016 '00 48 50 72 24 24 00 06' => 'Tokina AT-X 535 PRO DX (AF 50-135mm f/2.8)', 1017 '14 54 60 80 24 24 0B 00' => 'Tokina AT-X 828 AF PRO (AF 80-200mm f/2.8)', 1018 '24 44 60 98 34 3C 1A 02' => 'Tokina AT-X 840 AF-II (AF 80-400mm f/4.5-5.6)', 1019 '00 44 60 98 34 3C 00 02' => 'Tokina AT-X 840 AF D (AF 80-400mm f/4.5-5.6)', 1020 '14 48 68 8E 30 30 0B 00' => 'Tokina AT-X 340 AF (AF 100-300mm f/4)', 1021 '06 3F 68 68 2C 2C 06 00' => 'Cosina AF 100mm F3.5 Macro', 1022 '07 36 3D 5F 2C 3C 03 00' => 'Cosina AF Zoom 28-80mm F3.5-5.6 MC Macro', 1023 '07 46 3D 6A 25 2F 03 00' => 'Cosina AF Zoom 28-105mm F2.8-3.8 MC', 1024 '12 36 5C 81 35 3D 09 00' => 'Cosina AF Zoom 70-210mm F4.5-5.6 MC Macro', 1025 '12 39 5C 8E 34 3D 08 02' => 'Cosina AF Zoom 70-300mm F4.5-5.6 MC Macro', 1026 '12 3B 68 8D 3D 43 09 02' => 'Cosina AF Zoom 100-300mm F5.6-6.7 MC Macro', 1027 '00 40 31 31 2C 2C 00 00' => 'Voigtlander Color Skopar 20mm F3.5 SLII Aspherical', 1028 '00 54 48 48 18 18 00 00' => 'Voigtlander Ultron 40mm F2 SLII Aspherical', 1029 '00 54 55 55 0C 0C 00 00' => 'Voigtlander Nokton 58mm F1.4 SLII', 1030 '00 54 56 56 30 30 00 00' => 'Coastal Optical Systems 60mm 1:4 UV-VIS-IR Macro Apo', 1031 '02 40 44 5C 2C 34 02 00' => 'Exakta AF 35-70mm 1:3.5-4.5 MC', 1032 '07 3E 30 43 2D 35 03 00' => 'Soligor AF Zoom 19-35mm 1:3.5-4.5 MC', 1033 '03 43 5C 81 35 35 02 00' => 'Soligor AF C/D Zoom UMCS 70-210mm 1:4.5', 1034 '12 4A 5C 81 31 3D 09 00' => 'Soligor AF C/D Auto Zoom+Macro 70-210mm 1:4-5.6 UMCS', 1035 '00 00 00 00 00 00 00 01' => 'Manual Lens No CPU', 1036 '00 47 10 10 24 24 00 00' => 'Fisheye Nikkor 8mm f/2.8 AiS', 1037 '00 54 44 44 0C 0C 00 00' => 'Nikkor 35mm f/1.4 AiS', 1038 '00 48 50 50 18 18 00 00' => 'Nikkor H 50mm f/2', 1039 '00 48 68 68 24 24 00 00' => 'Series E 100mm f/2.8', 1040 '00 4C 6A 6A 20 20 00 00' => 'Nikkor 105mm f/2.5 AiS', 1041 '00 48 80 80 30 30 00 00' => 'Nikkor 200mm f/4 AiS', 1042 ) 1043 ), // < LensData 1044 1045 // RawImageCenter, tag 0x0099 1046 0x0099 => Array( 1047 'tagName' => "RawImageCenter", 1048 'schema' => "Nikon", 1049 'translatable'=> false, 1050 'combiTag' => 0, 1051 'implemented' => true, 1052 ), // < RawImageCenter 1053 1054 // SensorPixelSize, tag 0x009a 1055 0x009a => Array( 1056 'tagName' => "SensorPixelSize", 1057 'schema' => "Nikon", 1058 'translatable'=> false, 1059 'combiTag' => 0, 1060 'implemented' => true, 1061 ), // < SensorPixelSize 1062 1063 // SceneAssist, tag 0x009c 1064 0x009c => Array( 1065 'tagName' => "SceneAssist", 1066 'schema' => "Nikon", 1067 'translatable'=> false, 1068 'combiTag' => 0, 1069 'implemented' => true, 1070 ), // < SceneAssist 1071 1072 // RetouchHistory, tag 0x009e 1073 0x009e => Array( 1074 'tagName' => "RetouchHistory", 1075 'schema' => "Nikon", 1076 'translatable'=> false, 1077 'combiTag' => 0, 1078 'implemented' => false, 1079 ), // < RetouchHistory 1080 1081 // SerialNumber, tag 0x00a0 1082 0x00a0 => Array( 1083 'tagName' => "SerialNumber", 1084 'schema' => "Nikon", 1085 'translatable'=> false, 1086 'combiTag' => 0, 1087 'implemented' => true, 1088 ), // < SerialNumber 1089 1090 // ImageDataSize, tag 0x00a2 1091 0x00a2 => Array( 1092 'tagName' => "ImageDataSize", 1093 'schema' => "Nikon", 1094 'translatable'=> false, 1095 'combiTag' => 0, 1096 'implemented' => true, 1097 ), // < 1098 1099 // ImageCount, tag 0x00a5 1100 0x00a5 => Array( 1101 'tagName' => "ImageCount", 1102 'schema' => "Nikon", 1103 'translatable'=> false, 1104 'combiTag' => 0, 1105 'implemented' => false, 1106 ), // < ImageCount 1107 1108 // DeletedImageCount, tag 0x00a6 1109 0x00a6 => Array( 1110 'tagName' => "DeletedImageCount", 1111 'schema' => "Nikon", 1112 'translatable'=> false, 1113 'combiTag' => 0, 1114 'implemented' => false, 1115 ), // < DeletedImageCount 1116 1117 // ShutterCount, tag 0x00a7 1118 0x00a7 => Array( 1119 'tagName' => "ShutterCount", 1120 'schema' => "Nikon", 1121 'translatable'=> false, 1122 'combiTag' => 0, 1123 'implemented' => true, 1124 ), // < ShutterCount 1125 1126 // FlashInfo, tag 0x00a8 1127 0x00a8 => Array( 1128 'tagName' => "FlashInfo", 1129 'schema' => "Nikon", 1130 'translatable'=> false, 1131 'combiTag' => 0, 1132 'implemented' => false, 1133 ), // < FlashInfo 1134 1135 // ImageOptimization, tag 0x00a9 1136 0x00a9 => Array( 1137 'tagName' => "ImageOptimization", 1138 'schema' => "Nikon", 1139 'translatable'=> false, 1140 'combiTag' => 0, 1141 'implemented' => true, 1142 ), // < ImageOptimization 1143 1144 // Saturation, tag 0x00aa 1145 0x00aa => Array( 1146 'tagName' => "Saturation", 1147 'schema' => "Nikon", 1148 'translatable'=> false, 1149 'combiTag' => 0, 1150 'implemented' => true, 1151 ), // < Saturation 1152 1153 // VariProgram, tag 0x00ab 1154 0x00ab => Array( 1155 'tagName' => "VariProgram", 1156 'schema' => "Nikon", 1157 'translatable'=> false, 1158 'combiTag' => 0, 1159 'implemented' => true, 1160 ), // < VariProgram 1161 1162 // ImageStabilization, tag 0x00ac 1163 0x00ac => Array( 1164 'tagName' => "ImageStabilization", 1165 'schema' => "Nikon", 1166 'translatable'=> false, 1167 'combiTag' => 0, 1168 'implemented' => false, 1169 ), // < ImageStabilization 1170 1171 // AFResponse, tag 0x00ad 1172 0x00ad => Array( 1173 'tagName' => "AFResponse", 1174 'schema' => "Nikon", 1175 'translatable'=> false, 1176 'combiTag' => 0, 1177 'implemented' => false, 1178 ), // < AFResponse 1179 1180 // MultiExposure, tag 0x00b0 1181 0x00b0 => Array( 1182 'tagName' => "MultiExposure", 1183 'schema' => "Nikon", 1184 'translatable'=> false, 1185 'combiTag' => 0, 1186 'implemented' => false, 1187 ), // < MultiExposure 1188 1189 // HighISONoiseReduction, tag 0x00b1 1190 0x00b1 => Array( 1191 'tagName' => "HighISONoiseReduction", 1192 'schema' => "Nikon", 1193 'translatable'=> true, 1194 'combiTag' => 0, 1195 'implemented' => true, 1196 'tagValues' => Array( 1197 0 => "Off", 1198 1 => "Minimal", 1199 2 => "Low", 1200 4 => "Normal", 1201 6 => "High", 1202 ) 1203 ), // < HighISONoiseReduction 1204 1205 // ToningEffect, tag 0x00b3 1206 0x00b3 => Array( 1207 'tagName' => "ToningEffect", 1208 'schema' => "Nikon", 1209 'translatable'=> false, 1210 'combiTag' => 0, 1211 'implemented' => false, 1212 ), // < ToningEffect 1213 1214 // PowerUpTime, tag 0x00b6 1215 0x00b6 => Array( 1216 'tagName' => "PowerUpTime", 1217 'schema' => "Nikon", 1218 'translatable'=> false, 1219 'combiTag' => 0, 1220 'implemented' => false, 1221 ), // < PowerUpTime 1222 1223 // AFInfo2, tag 0x00b7 1224 0x00b70 => Array( 1225 'tagName' => "AFInfo2", 1226 'schema' => "Nikon", 1227 'translatable'=> false, 1228 'combiTag' => 0, 1229 'implemented' => false, 1230 ), // < AFInfo2 1231 1232 // FileInfo, tag 0x00b8 1233 0x00b8 => Array( 1234 'tagName' => "FileInfo", 1235 'schema' => "Nikon", 1236 'translatable'=> false, 1237 'combiTag' => 0, 1238 'implemented' => false, 1239 ), // < FileInfo 1240 1241 // AFTune, tag 0x00b9 1242 0x00b9 => Array( 1243 'tagName' => "AFTune", 1244 'schema' => "Nikon", 1245 'translatable'=> false, 1246 'combiTag' => 0, 1247 'implemented' => false, 1248 ), // < AFTune 1249 1250 // PictureControl, tag 0x00bd 1251 0x00bd => Array( 1252 'tagName' => "PictureControl", 1253 'schema' => "Nikon", 1254 'translatable'=> false, 1255 'combiTag' => 0, 1256 'implemented' => false, 1257 ), // < PictureControl 1258 1259 // PrintIM, tag 0x0e00 1260 0x0e00 => Array( 1261 'tagName' => "PrintIM", 1262 'schema' => "Nikon", 1263 'translatable'=> false, 1264 'combiTag' => 0, 1265 'implemented' => false, 1266 ), // < 1267 1268 // NikonCaptureData, tag 0x0e01 1269 0x0e01 => Array( 1270 'tagName' => "NikonCaptureData", 1271 'schema' => "Nikon", 1272 'translatable'=> false, 1273 'combiTag' => 0, 1274 'implemented' => false, 1275 ), // < NikonCaptureData 1276 1277 // NikonCaptureVersion, tag 0x0e09 1278 0x0e09 => Array( 1279 'tagName' => "NikonCaptureVersion", 1280 'schema' => "Nikon", 1281 'translatable'=> false, 1282 'combiTag' => 0, 1283 'implemented' => true, 1284 ), // < NikonCaptureVersion 1285 1286 // NikonCaptureOffsets, tag 0x0e0e 1287 0x0e0e => Array( 1288 'tagName' => "NikonCaptureOffsets", 1289 'schema' => "Nikon", 1290 'translatable'=> false, 1291 'combiTag' => 0, 1292 'implemented' => false, 1293 ), // < NikonCaptureOffsets 1294 1295 // NikonScanIFD, tag 0x0e10 1296 0x0e10 => Array( 1297 'tagName' => "NikonScanIFD", 1298 'schema' => "Nikon", 1299 'translatable'=> false, 1300 'combiTag' => 0, 1301 'implemented' => false, 1302 ), // < NikonScanIFD 1303 1304 // NikonICCProfile, tag 0x0e1d 1305 0x0e1d => Array( 1306 'tagName' => "NikonICCProfile", 1307 'schema' => "Nikon", 1308 'translatable'=> false, 1309 'combiTag' => 0, 1310 'implemented' => false, 1311 ), // < NikonICCProfile 1312 1313 // NikonCaptureOutput, tag 0x0e1e 1314 0x0e1e => Array( 1315 'tagName' => "NikonCaptureOutput", 1316 'schema' => "Nikon", 1317 'translatable'=> false, 1318 'combiTag' => 0, 1319 'implemented' => false, 1320 ), // < NikonCaptureOutput 1321 1322 // NEFBitDepth, tag 0x0e22 1323 0x0e22 => Array( 1324 'tagName' => "NEFBitDepth", 1325 'schema' => "Nikon", 1326 'translatable'=> false, 1327 'combiTag' => 0, 1328 'implemented' => false, 1329 ), // < NEFBitDepth 1330 62 1331 ); 63 1332 -
extensions/AMetaData/JpegMetaData/TagDefinitions/PentaxTags.class.php
r4904 r4931 1469 1469 ), 1470 1470 1471 // FlashInfo, tag 0x0209, "AEMeteringSegments"1471 // AEMeteringSegments, tag 0x0209, "AEMeteringSegments" 1472 1472 0x0209 => Array( 1473 1473 'tagName' => "AEMeteringSegments", -
extensions/AMetaData/JpegMetaData/TagDefinitions/XmpTags.class.php
r4904 r4931 190 190 ), 191 191 192 // not present in specification, but found in some files 193 'dc:CreatorTool' => Array( 194 'implemented' => true, 195 'translatable' => false, 196 'type' => self::TYPE_SIMPLE, 197 'schema' => "dc", 198 ), 199 200 201 192 202 /* 193 203 * XMP Basic schema … … 614 624 ), 615 625 ), 626 // not present in specification but found in some files 627 'photoshop:ICCProfile' => Array( 628 'implemented' => true, 629 'translatable' => false, 630 'type' => self::TYPE_SIMPLE, 631 'schema' => "photoshop", 632 ), 633 'photoshop:ColorMode' => Array( 634 'implemented' => false, 635 'translatable' => false, 636 'type' => self::TYPE_SIMPLE, 637 'schema' => "photoshop", 638 ), 616 639 617 640 … … 892 915 ), 893 916 ), 917 // not present in specifications, but found in some files 918 'crs:WhiteBalance' => Array( 919 'implemented' => true, 920 'translatable' => true, 921 'type' => self::TYPE_SIMPLE, 922 'schema' => "crs", 923 'tagValues' => Array( 924 'As Shot' => "As Shot", 925 'Auto' => "Auto", 926 'Daylight' => "Daylight", 927 'Cloudy' => "Cloudy", 928 'Shade' => "Shade", 929 'Tungsten' => "Tungsten", 930 'Fluorescent' => "Fluorescent", 931 'Flash' => "Flash", 932 'Custom' => "Custom", 933 ), 934 ), 894 935 895 936 … … 1386 1427 ), 1387 1428 'exif:Balance' => Array( 1429 'exifTag' => 0xA403, 1430 'implemented' => true, 1431 'translatable' => false, 1432 'type' => self::TYPE_SIMPLE, 1433 'schema' => "exif", 1434 ), 1435 'exif:WhiteBalance' => Array( 1388 1436 'exifTag' => 0xA403, 1389 1437 'implemented' => true, … … 1841 1889 $tmpTag=$tags->getTagById($val[$schema]); 1842 1890 } 1843 elseif($val[$schema]!=0xFFFF and $tags->tagIdExists($val[$schema]))1844 {1845 $tmpTag=$tags->getTagById($val[$schema]);1846 }1847 1891 else 1848 1892 { -
extensions/AMetaData/amd_aip.class.inc.php
r4917 r4931 896 896 private function ajax_amd_makeStatsConsolidation() 897 897 { 898 899 898 $sql="UPDATE ".$this->tables['used_tags']." ut, 900 899 (SELECT COUNT(imageId) AS nb, numId … … 904 903 WHERE ut.numId = nb.numId;"; 905 904 pwg_query($sql); 906 907 return($returned);908 905 } 909 906 -
extensions/AMetaData/amd_install.class.inc.php
r4915 r4931 83 83 $result=$this->tablef->create_tables($tables_def); 84 84 85 /*86 * fill the 'used_tags' table with default values87 */88 foreach(JpegMetaData::getTagList(Array('filter' => JpegMetaData::TAGFILTER_IMPLEMENTED, 'xmp' => true, 'maker' => true, 'iptc' => true)) as $key => $val)89 {90 $sql="INSERT INTO ".$this->tables['used_tags']." VALUES('', '".$key."', '".(($val['translatable'])?'y':'n')."', '".$val['name']."', 0);";91 pwg_query($sql);92 }93 94 85 return($result); 95 86 } … … 109 100 global $template; 110 101 102 103 pwg_query("DELETE FROM ".$this->tables['used_tags']); 104 pwg_query("DELETE FROM ".$this->tables['images_tags']); 105 pwg_query("UPDATE ".$this->tables['images']." SET analyzed='n', nbTags=0;"); 106 /* 107 * fill the 'used_tags' table with default values 108 */ 109 foreach(JpegMetaData::getTagList(Array('filter' => JpegMetaData::TAGFILTER_IMPLEMENTED, 'xmp' => true, 'maker' => true, 'iptc' => true)) as $key => $val) 110 { 111 $sql="INSERT INTO ".$this->tables['used_tags']." VALUES('', '".$key."', '".(($val['translatable'])?'y':'n')."', '".$val['name']."', 0);"; 112 pwg_query($sql); 113 } 114 111 115 $this->init_config(); 112 116 $this->load_config(); -
extensions/AMetaData/language/fr_FR/plugin.lang.php
r4905 r4931 15 15 16 16 $lang['g003_performances'] = "Performances"; 17 $lang['g003_setting_nb_items_per_request'] = "Nombre d' éléments traités par requêtes";17 $lang['g003_setting_nb_items_per_request'] = "Nombre d'images analysées par requêtes"; 18 18 $lang['g003_apply'] = "Appliquer"; 19 19 … … 30 30 $lang['g003_loading'] = "Chargement..."; 31 31 $lang['g003_numberOfPicturesWithoutTags'] = "%d images ne disposent pas de métadonnées"; 32 $lang['g003_no_items_selected'] = "Aucun tag n'est sélectionné";33 $lang['g003_selected_tag_isnot_linked_with_any_picture'] = "L e tag sélectionné n'est rattachéà aucune image";34 $lang['g003_TagId'] = " Tag";32 $lang['g003_no_items_selected'] = "Aucune métadonnée n'est sélectionnée"; 33 $lang['g003_selected_tag_isnot_linked_with_any_picture'] = "La métadonnée sélectionnée n'est rattachée à aucune image"; 34 $lang['g003_TagId'] = "Métadonnée"; 35 35 $lang['g003_TagLabel'] = "Nom"; 36 36 $lang['g003_NumOfImage'] = "Images"; … … 40 40 $lang['g003_order'] = "Trier par"; 41 41 $lang['g003_filter'] = "Filtrer"; 42 $lang['g003_tagOrder'] = " Tag";42 $lang['g003_tagOrder'] = "Métadonnée"; 43 43 $lang['g003_numOrder'] = "Nombre d'images"; 44 44 $lang['g003_valueOrder'] = "Valeur"; 45 45 $lang['g003_no_filter'] = "Aucun filtre"; 46 $lang['g003_exclude_unused_tags'] = "Exclure les tags inutilisés";46 $lang['g003_exclude_unused_tags'] = "Exclure les métadonnées inutilisées"; 47 47 $lang['g003_Value'] = "Valeur"; 48 $lang['g003_selected_tags_only'] = "Ne restituer que les tags sélectionnés";48 $lang['g003_selected_tags_only'] = "Ne restituer que les métadonnées sélectionnées"; 49 49 50 50 $lang['g003_select_metadata'] = "Sélection des métadonnées"; 51 51 $lang['g003_display_management'] = "Gestion de l'affichage des métadonnées"; 52 52 53 $lang['g003_click_to_edit_group'] = "Cliquer pour éditer les propriétés du groupe ";54 $lang['g003_click_to_delete_group'] = "Cliquer pour supprimer le groupe ";55 $lang['g003_click_to_manage_group'] = "Cliquer pour gérer les éléments du groupe ";56 $lang['g003_click_to_manage_list'] = "Cliquer pour ajouter/supprimer des tags";57 $lang['g003_add_a_group'] = "Ajouter un groupe ";58 $lang['g003_adding_a_group'] = "Ajout d'un groupe ";59 $lang['g003_editing_a_group'] = "Edition d'un groupe ";60 $lang['g003_deleting_a_group'] = "Suppression d'un groupe ";61 $lang['g003_new_group'] = "Nouveau groupe ";53 $lang['g003_click_to_edit_group'] = "Cliquer pour éditer les propriétés du groupe de métadonnées"; 54 $lang['g003_click_to_delete_group'] = "Cliquer pour supprimer le groupe de métadonnées"; 55 $lang['g003_click_to_manage_group'] = "Cliquer pour gérer les éléments du groupe de métadonnées"; 56 $lang['g003_click_to_manage_list'] = "Cliquer pour ajouter/supprimer des métadonnées"; 57 $lang['g003_add_a_group'] = "Ajouter un groupe de métadonnées"; 58 $lang['g003_adding_a_group'] = "Ajout d'un groupe de métadonnées"; 59 $lang['g003_editing_a_group'] = "Edition d'un groupe de métadonnées"; 60 $lang['g003_deleting_a_group'] = "Suppression d'un groupe de métadonnées"; 61 $lang['g003_new_group'] = "Nouveau groupe de métadonnées"; 62 62 $lang['g003_name'] = "Nom"; 63 $lang['g003_add_delete_tags'] = "Ajouter/Supprimer des tags";64 $lang['g003_confirm_group_delete'] = "Etes-vous sur de vouloir supprimer le groupe %s ?";63 $lang['g003_add_delete_tags'] = "Ajouter/Supprimer des métadonnées"; 64 $lang['g003_confirm_group_delete'] = "Etes-vous sur de vouloir supprimer le groupe de métadonnées %s ?"; 65 65 66 66 $lang['g003_ok'] = "Ok"; … … 70 70 71 71 72 $lang['g003_invalid_group_id'] = "Identifiant de groupe invalide";73 $lang['g003_no_tag_can_be_selected'] = "Aucun tagn'est disponible";72 $lang['g003_invalid_group_id'] = "Identifiant de groupe de métadonnées invalide"; 73 $lang['g003_no_tag_can_be_selected'] = "Aucune métadonnée n'est disponible"; 74 74 75 75 $lang['g003_warning_on_analyze_0'] = "Attention !";
Note: See TracChangeset
for help on using the changeset viewer.