Changeset 5038


Ignore:
Timestamp:
Mar 3, 2010, 9:55:15 PM (14 years ago)
Author:
grum
Message:

Manage multiple lenses for one Id for Pentax camera
Add some minors features

Location:
extensions/AMetaData/JpegMetaData
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • extensions/AMetaData/JpegMetaData/Common/MakerNotesSignatures.class.php

    r4705 r5038  
    3737 * This class provides theses public functions :
    3838 *  - (static) getMaker
    39  *  - (static) setExifMaker
    40  *  - (static) getExifMaker
    4139 *
    4240 * -----------------------------------------------------------------------------
     
    9189    const UnknownHeaderSize   = 0;
    9290
    93     static private $exifMaker = "";
    9491
    9592    static public function getMaker($datas)
     
    121118    }
    122119
    123     /**
    124      * this function is used by IFD Reader to store all information about maker
    125      * and camera model
    126      *
    127      * the stored value if used within a grep like "/canon/i" to determine the
    128      * maker note.
    129      * For more information about this tricks see the how the tag 0x927c is
    130      * managed in the function "processSpecialTag" of the file
    131      * IfdReader.class.php
    132      *
    133      * @param String $value : the maker or the camera model
    134      */
    135     static public function setExifMaker($value)
    136     {
    137       if(is_array($value))
    138       {
    139         foreach($value as $val)
    140         {
    141           self::$exifMaker.=$val." ";
    142         }
    143       }
    144       else
    145       {
    146         self::$exifMaker.=$value." ";
    147       }
    148       return(self::$exifMaker);
    149     }
    150 
    151     /**
    152      * this function is used by IFD Reader to store all information about maker
    153      * and camera model
    154      *
    155      * @return String
    156      */
    157     static public function getExifMaker()
    158     {
    159       return(self::$exifMaker);
    160     }
    161 
    162120  }
    163121
  • extensions/AMetaData/JpegMetaData/Readers/CanonReader.class.php

    r4972 r5038  
    412412    protected function processSubTag0x000d($values, $add=true)
    413413    {
    414       $name=MakerNotesSignatures::getExifMaker();
     414      $name=GlobalTags::getExifMaker();
    415415
    416416      if(preg_match("/\b1DS?$/", $name))
  • extensions/AMetaData/JpegMetaData/Readers/IfdReader.class.php

    r4998 r5038  
    7171
    7272  require_once(JPEG_METADATA_DIR."Common/Data.class.php");
     73  require_once(JPEG_METADATA_DIR."Common/GlobalTags.class.php");
    7374  require_once(JPEG_METADATA_DIR."Common/MakerNotesSignatures.class.php");
    7475  require_once(JPEG_METADATA_DIR."Readers/GenericReader.class.php");
     
    362363           */
    363364          $returned=ConvertData::toStrings($values);
    364           MakerNotesSignatures::setExifMaker($returned);
     365          GlobalTags::setExifMaker($returned);
    365366          break;
    366367        case 0x011A: // XResolution, tag 0x011A
     
    414415        case 0x829D: // FNumber, tag 0x829D
    415416          if($values[1]==0) $values[1]=1;
    416           $returned=ConvertData::toFNumber($values[0]/$values[1]);
     417          $returned=ConvertData::toFNumber(GlobalTags::setExifAperture($values[0]/$values[1]));
    417418          break;
    418419        case 0x8769: // Exif IFD Pointer, tag 0x8769
     
    480481          break;
    481482        case 0x9202: // ApertureValue, tag0x9202
     483          if($values[1]==0) $values[1]=1;
     484          if(GlobalTags::getExifAperture()=="")
     485          {
     486            // set only if empty (if not empty, it means the value was already
     487            // set with the FNumber tag)
     488            GlobalTags::setExifAperture(pow(1.414213562, $values[0]/$values[1]));
     489          }
     490          //no break, $returned value is the same than the 0x9205 tag
    482491        case 0x9205: // MaxApertureValue, tag0x9205
    483492          if($values[1]==0) $values[1]=1;
     
    517526        case 0x920A: // FocalLength, tag 0x920A
    518527          if($values[1]==0) $values[1]=1;
    519           $returned=ConvertData::toFocalLength($values[0]/$values[1]);
     528          $returned=ConvertData::toFocalLength(GlobalTags::setExifFocal($values[0]/$values[1]));
    520529          break;
    521530        case 0x927c: // MakerNote, tag 0x927c
     
    561570               * the camera model contains "Canon"
    562571               */
    563               if(preg_match("/.*canon.*/i",MakerNotesSignatures::getExifMaker()))
     572              if(preg_match("/.*canon.*/i",GlobalTags::getExifMaker()))
    564573              {
    565574                require_once(JPEG_METADATA_DIR."Readers/CanonReader.class.php");
  • extensions/AMetaData/JpegMetaData/Readers/NikonReader.class.php

    r4935 r5038  
    347347          }
    348348
    349           if(preg_match("/.*d70.*/i",MakerNotesSignatures::getExifMaker()))
     349          if(preg_match("/.*d70.*/i",GlobalTags::getExifMaker()))
    350350          {
    351351            $bit5=1;
     
    376376          break;
    377377        case 0x0098: // "LensData"
    378           if($this->shutterCount==-1 or $this->serialNumber=="")
     378          if(($this->shutterCount==-1 or $this->serialNumber=="") and
     379            ( substr($values,0,2)=="02" ))
    379380          {
    380381            $this->toDecode[0x0098]=Array($values, $type);
    381             $returned="";
    382           }
    383           else
    384           {
    385             $returned=$this->readLensData($values);
    386           }
     382          }
     383          $returned=$this->readLensData($values);
    387384          break;
    388385        case 0x0099: // "RawImageCenter"
     
    481478      }
    482479
     480      if(is_array($returned))
     481        $returned=$returned[0];
    483482
    484483      unset($data);
     
    567566        return(0+$this->serialNumber);
    568567      }
    569       elseif(preg_match("/.*d50.*/i",MakerNotesSignatures::getExifMaker()))
     568      elseif(preg_match("/.*d50.*/i",GlobalTags::getExifMaker()))
    570569      {
    571570        //D50
  • extensions/AMetaData/JpegMetaData/Readers/PentaxReader.class.php

    r4998 r5038  
    5454
    5555
     56  require_once(JPEG_METADATA_DIR."Common/GlobalTags.class.php");
    5657  require_once(JPEG_METADATA_DIR."TagDefinitions/PentaxTags.class.php");
    5758  require_once(JPEG_METADATA_DIR."Readers/MakerNotesReader.class.php");
     
    232233        case 0x003e: // "PreviewImageBorders",
    233234          $returned=ConvertData::toHexDump($values, ByteType::UBYTE);
     235          break;
     236        case 0x003f: // "LensType",
     237          $tag=$this->tagDef->getTagById(0x003f);
     238          $id=$values[1]+($values[0]<<8);
     239          if(!array_key_exists($id, $tag['tagValues.special'])) $id=0xffff;
     240
     241          $returned="";
     242
     243          $lensesList=$tag['tagValues.special'][$id];
     244          if(is_array($lensesList))
     245          {
     246            foreach($lensesList as $lens)
     247            {
     248              /*
     249               * If there is more than one lens associated with a lens id
     250               *
     251               * 1/ try to found the min/max focals of the lens
     252               * 2/ try to found the min/max aperture of the lens
     253               * 3/ if focal is fixed, make min = max
     254               * 4/ if aperture is constant, make min)max
     255               * 5/ look if : min focal <= photo focal <= max focal  and
     256               *              photo aperture >= min aperture
     257               *            if yes, the lens is returned, otherwise test next
     258               *            lens
     259               */
     260              preg_match("/.*\s(?:([0-9]+){1}(?:-([0-9]+))?)mm.*/i", $lens, $focals);
     261              preg_match("/.*\sF(?:([0-9\.]+){1}(?:-([0-9\.]+))?).*/i", $lens, $apertures);
     262
     263              if(count($focals)==2)
     264              {
     265                //focal is not a zoom, min = max
     266                $focals[]=$focal[1];
     267              }
     268              elseif(count($focals)==0)
     269              {
     270                $focal=Array(0,0,0);
     271              }
     272
     273
     274              if(count($apertures)==2)
     275              {
     276                //aperture is constant, min = max
     277                $apertures[]=$apertures[1];
     278              }
     279              elseif(count($apertures)==0)
     280              {
     281                $apertures=Array(0,0,0);
     282              }
     283
     284              $focal=GlobalTags::getExifFocal();
     285              if($focal=="") $focal=-1;
     286
     287              $aperture=GlobalTags::getExifAperture();
     288              if($aperture=="") $aperture=-1;
     289
     290              if($focals[1]<=$focal && $focal<=$focals[2] && $aperture>=$apertures[1] && $returned=="")
     291              {
     292                $returned=$lens;
     293              }
     294
     295              unset($lens);
     296              unset($focals);
     297              unset($apertures);
     298            }
     299            if($returned=="")
     300            {
     301              // no lens seems to be valid, returns the lens list
     302              $returned=$lensesList;
     303            }
     304          }
     305          else
     306          {
     307            // not a list, just a single lens
     308            $returned=$lensesList;
     309          }
     310
     311          unset($tag);
     312          unset($id);
    234313          break;
    235314        case 0x0040: // "SensitivityAdjust", from exiftool
  • extensions/AMetaData/JpegMetaData/TagDefinitions/MagicTags.class.php

    r5004 r5038  
    146146        'tagValues'    => Array(
    147147          "{exif.Pentax.LensType}",
     148          "{exif.Nikon.LensData}",
    148149          "{exif.Nikon.Lens}",
    149150          "{exif.Canon.CanonCameraSettings.LensType}",
  • extensions/AMetaData/JpegMetaData/TagDefinitions/NikonTags.class.php

    r4931 r5038  
    679679        'tagName'     => "LensData",
    680680        'schema'      => "Nikon",
    681         'translatable'=> true,
     681        'translatable'=> false,
    682682        'combiTag'    => 0,
    683683        'implemented' => true,
     
    734734          '2D 48 80 80 30 30 21 02' => 'AF Micro-Nikkor 200mm f/4D IF-ED',
    735735          '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?
     736          '2F 48 30 44 24 24 29 02' => Array(
     737            /*
     738             * Different lenses can have the same Id.
     739             * The Nikon Id are made with the focal min/max and the aperture
     740             * min/max values.
     741             *
     742             * So, it's not possible to apply the method used with the Canon
     743             * lens Id.
     744             *
     745             * For multiple lenses with the same key, the method used is to
     746             * return the first lens
     747             */
     748                                          'AF Zoom-Nikkor 20-35mm f/2.8D IF',
     749                                          'Tokina AT-X 235 AF PRO (AF 20-35mm f/2.8)',
     750                                       ),
    737751          '30 48 98 98 24 24 24 02' => 'AF-I Nikkor 400mm f/2.8D IF-ED',
    738752          '30 48 98 98 24 24 F1 02' => 'AF-I Nikkor 400mm f/2.8D IF-ED + TC-14E',
     
    740754          '30 48 98 98 24 24 F2 02' => 'AF-I Nikkor 400mm f/2.8D IF-ED + TC-20E',
    741755          '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?
     756
     757          '32 54 6A 6A 24 24 35 02' => Array(
     758                                          'AF Micro-Nikkor 105mm f/2.8D',
     759                                          'Sigma Macro 105mm f/2.8 EX DG',
     760                                       ),
    743761          '33 48 2D 2D 24 24 31 02' => 'AF Nikkor 18mm f/2.8D',
    744762          '34 48 29 29 24 24 32 02' => 'AF Fisheye Nikkor 16mm f/2.8D',
     
    816834          '78 40 37 6E 2C 3C 7C 0E' => 'AF-S VR Zoom-Nikkor 24-120mm f/3.5-5.6G IF-ED',
    817835          '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 ?
     836          '7A 3C 1F 37 30 30 7E 06' => Array(
     837                                        'AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED',
     838                                        'Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4)',
     839                                       ),
    819840          '7B 48 80 98 30 30 80 0E' => 'AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED',
    820841          '7D 48 2B 53 24 24 82 06' => 'AF-S DX Zoom-Nikkor 17-55mm f/2.8G IF-ED',
     
    874895          '79 48 5C 5C 24 24 1C 06' => 'Sigma Macro 70mm F2.8 EX DG',
    875896          '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 ?
    877897          'E5 54 6A 6A 24 24 35 02' => 'Sigma Macro 105mm F2.8 EX DG',
    878898          '48 48 76 76 24 24 4B 06' => 'Sigma 150mm F2.8 EX DG APO Macro HSM',
     
    10051025          '00 48 1C 29 24 24 00 06' => 'Tokina AT-X 116 PRO DX (AF 11-16mm f/2.8)',
    10061026          '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 ?
    10081027          '00 48 29 50 24 24 00 06' => 'Tokina AT-X 165 PRO DX (AF 16-50mm f/2.8)',
    10091028          '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 ?
    10111029          '2F 40 30 44 2C 34 29 02' => 'Tokina AF 235 II (AF 20-35mm f/3.5-4.5)',
    10121030          '25 48 3C 5C 24 24 1B 02' => 'Tokina AT-X 270 AF PRO II (AF 28-70mm f/2.6-2.8)',
     
    10811099      // SerialNumber, tag 0x00a0
    10821100      0x00a0 => Array(
    1083         'tagName'     => "SerialNumber",
     1101        'tagName'     => "SerialNumber2",
    10841102        'schema'      => "Nikon",
    10851103        'translatable'=> false,
  • extensions/AMetaData/JpegMetaData/TagDefinitions/PentaxTags.class.php

    r4931 r5038  
    862862        'combiTag'    => 2,
    863863        'implemented' => true,
    864         'tagValues'   => Array(
     864        'tagValues.special'   => Array(
    865865          0x0000 => "M-42 or No Lens",
    866866          0x0100 => "K,M Lens",
    867867          0x0200 => "A Series Lens",
    868           0x0300 => "SIGMA",
     868          0x0300 => "Sigma",
    869869          0x0311 => "smc PENTAX-FA SOFT 85mm F2.8",
    870870          0x0312 => "smc PENTAX-F 1.7X AF ADAPTER",
     
    873873          0x0315 => "smc PENTAX-F 80-200mm F4.7-5.6",
    874874          0x0316 => "smc PENTAX-F FISH-EYE 17-28mm F3.5-4.5",
    875           0x0317 => "smc PENTAX-F 100-300mm F4.5-5.6",
     875          0x0317 => Array(
     876                      "smc PENTAX-F 100-300mm F4.5-5.6",
     877                      "Sigma AF 28-300mm F3.5-5.6 DL IF",
     878                      "Sigma AF 28-300mm F3.5-6.3 DG IF Macro",
     879                    ),
    876880          0x0318 => "smc PENTAX-F 35-135mm F3.5-4.5",
    877           0x0319 => "smc PENTAX-F 35-105mm F4-5.6 or SIGMA or Tokina",
     881          0x0319 => Array(
     882                      "smc PENTAX-F 35-105mm F4-5.6",
     883                      "Sigma AF 28-300mm F3.5-5.6 DL IF",
     884                      "Sigma 55-200mm F4-5.6 DC",
     885                      "Sigma AF 28-300mm F3.5-5.6 DL IF",
     886                      "Sigma AF 28-300mm F3.5-6.3 DG IF Macro",
     887                      "Tokina 80-200mm F2.8 ATX-Pro",
     888                    ),
    878889          0x031a => "smc PENTAX-F* 250-600mm F5.6 ED[IF]",
    879           0x031b => "smc PENTAX-F 28-80mm F3.5-4.5",
    880           0x031c => "smc PENTAX-F 35-70mm F3.5-4.5",
    881           0x031d => "PENTAX-F 28-80mm F3.5-4.5 or SIGMA AF 18-125mm F3.5-5.6 DC",
     890          0x031b => Array(
     891                      "smc PENTAX-F 28-80mm F3.5-4.5",
     892                      "Tokina AT-X Pro AF 28-70mm F2.6-2.8",
     893                    ),
     894          0x031c => Array(
     895                      "smc PENTAX-F 35-70mm F3.5-4.5",
     896                      "Tokina 19-35mm F3.5-4.5 AF",
     897                    ),
     898          0x031d => Array(
     899                      "PENTAX-F 28-80mm F3.5-4.5",
     900                      "Sigma AF 18-125mm F3.5-5.6 DC",
     901                      "Tokina AT-X PRO 28-70mm F2.6-2.8",
     902                    ),
    882903          0x031e => "PENTAX-F 70-200mm F4-5.6",
    883           0x031f => "smc PENTAX-F 70-210mm F4-5.6",
     904          0x031f => Array(
     905                      "smc PENTAX-F 70-210mm F4-5.6",
     906                      "Tokina AF 730 75-300mm F4.5-5.6",
     907                      "Takumar-F 70-210mm F4-5.6",
     908                    ),
    884909          0x0320 => "smc PENTAX-F 50mm F1.4",
    885910          0x0321 => "smc PENTAX-F 50mm F1.7",
    886911          0x0322 => "smc PENTAX-F 135mm F2.8 [IF]",
    887912          0x0323 => "smc PENTAX-F 28mm F2.8",
    888           0x0324 => "SIGMA 20mm F1.8 EX DG ASPHERICAL RF",
     913          0x0324 => "Sigma 20mm F1.8 EX DG ASPHERICAL RF",
    889914          0x0326 => "smc PENTAX-F* 300mm F4.5 ED[IF]",
    890915          0x0327 => "smc PENTAX-F* 600mm F4 ED[IF]",
    891916          0x0328 => "smc PENTAX-F MACRO 100mm F2.8",
    892           0x0329 => "smc PENTAX-F MACRO 50mm F2.8 or Sigma 50mm F2,8 MACRO",
    893           0x032c => "Tamron 35-90mm F4 AF or various SIGMA models",
    894           0x032e => "SIGMA APO 70-200mm F2.8 EX",
     917          0x0329 => Array(
     918                      "smc PENTAX-F MACRO 50mm F2.8",
     919                      "Sigma 50mm F2.8 Macro",
     920                    ),
     921          0x032c => Array(
     922                      "Tamron 35-90mm F4 AF",
     923                      "Sigma AF 10-20mm F4-5.6 EX DC",
     924                      "Sigma 12-24mm F4.5 EX DG",
     925                      "Sigma 17-70mm F2.8-4.5 DC Macro",
     926                      "Sigma 18-50mm F3.5-5.6 DC",
     927                    ),
     928          0x032e => Array(
     929                      "Sigma APO 70-200mm F2.8 EX",
     930                      "Sigma EX APO 100-300mm F4 IF",
     931                    ),
    895932          0x0332 => "smc PENTAX-FA 28-70mm F4 AL",
    896           0x0333 => "SIGMA 28mm F1.8 EX DG ASPHERICAL MACRO",
    897           0x0334 => "smc PENTAX-FA 28-200mm F3.8-5.6 AL[IF]",
     933          0x0333 => "Sigma 28mm F1.8 EX DG ASPHERICAL MACRO",
     934          0x0334 => Array(
     935                      "smc PENTAX-FA 28-200mm F3.8-5.6 AL[IF]",
     936                      "Tamron AF LD 28-200mm F3.8-5.6 [IF] Aspherical (171D)",
     937                    ),
    898938          0x0335 => "smc PENTAX-FA 28-80mm F3.5-5.6 AL",
    899939          0x03f7 => "smc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED[IF]",
     
    904944          0x03fd => "smc PENTAX-DA 14mm F2.8 ED[IF]",
    905945          0x03fe => "smc PENTAX-DA 16-45mm F4 ED AL",
    906           0x03ff => "SIGMA",
     946          0x03ff => Array(
     947                      "Sigma 18-200mm F3.5-6.3 DC",
     948                      "Sigma DL-II 35-80mm F4-5.6",
     949                      "Sigma DL Zoom 75-300mm F4-5.6",
     950                      "Sigma DF EX Aspherical 28-70mm F2.8",
     951                      "Sigma AF Tele 400mm F5.6 Multi-coated",
     952                      "Sigma 24-60mm F2.8 EX DG",
     953                      "Sigma 70-300mm F4-5.6 Macro",
     954                      "Sigma 55-200mm F4-5.6 DC",
     955                      "Sigma 18-50mm F2.8 EX DC",
     956                    ),
    907957          0x0401 => "smc PENTAX-FA SOFT 28mm F2.8",
    908958          0x0402 => "smc PENTAX-FA 80-320mm F4.5-5.6",
     
    911961          0x040c => "smc PENTAX-FA 50mm F1.4",
    912962          0x040f => "smc PENTAX-FA 28-105mm F4-5.6 [IF]",
    913           0x0410 => "TAMRON AF 80-210mm F4-5.6 (178D)",
    914           0x0413 => "TAMRON SP AF 90mm F2.8 (172E)",
     963          0x0410 => "Tamron AF 80-210mm F4-5.6 (178D)",
     964          0x0413 => "Tamron SP AF 90mm F2.8 (172E)",
    915965          0x0414 => "smc PENTAX-FA 28-80mm F3.5-5.6",
    916966          0x0416 => "TOKINA 28-80mm F3.5-5.6",
    917967          0x0417 => "smc PENTAX-FA 20-35mm F4 AL",
    918968          0x0418 => "smc PENTAX-FA 77mm F1.8 Limited",
    919           0x0419 => "TAMRON SP AF 14mm F2.8",
    920           0x041a => "smc PENTAX-FA MACRO 100mm F3.5",
    921           0x041b => "TAMRON AF28-300mm F/3.5-6.3 LD Aspherical[IF] MACRO (285D)",
     969          0x0419 => "Tamron SP AF 14mm F2.8",
     970          0x041a => Array(
     971                      "smc PENTAX-FA MACRO 100mm F3.5",
     972                      "Cosina 100mm F3.5 Macro",
     973                    ),
     974          0x041b => "Tamron AF28-300mm F/3.5-6.3 LD Aspherical[IF] MACRO (285D)",
    922975          0x041c => "smc PENTAX-FA 35mm F2 AL",
    923           0x041d => "TAMRON AF 28-200mm F/3.8-5.6 LD Super II MACRO (371D)",
     976          0x041d => "Tamron AF 28-200mm F/3.8-5.6 LD Super II MACRO (371D)",
    924977          0x0422 => "smc PENTAX-FA 24-90mm F3.5-4.5 AL[IF]",
    925978          0x0423 => "smc PENTAX-FA 100-300mm F4.7-5.8",
    926           0x0424 => "TAMRON AF70-300mm F/4-5.6 LD MACRO",
    927           0x0425 => "TAMRON SP AF 24-135mm F3.5-5.6 AD AL (190D)",
     979          0x0424 => "Tamron AF70-300mm F/4-5.6 LD MACRO",
     980          0x0425 => "Tamron SP AF 24-135mm F3.5-5.6 AD AL (190D)",
    928981          0x0426 => "smc PENTAX-FA 28-105mm F3.2-4.5 AL[IF]",
    929982          0x0427 => "smc PENTAX-FA 31mm F1.8AL Limited",
    930           0x0429 => "TAMRON AF 28-200mm Super Zoom F3.8-5.6 Aspherical XR [IF] MACRO (A03)",
     983          0x0429 => "Tamron AF 28-200mm Super Zoom F3.8-5.6 Aspherical XR [IF] MACRO (A03)",
    931984          0x042b => "smc PENTAX-FA 28-90mm F3.5-5.6",
    932985          0x042c => "smc PENTAX-FA J 75-300mm F4.5-5.8 AL",
    933           0x042d => "TAMRON 28-300mm F3.5-6.3 Ultra zoom XR",
     986          0x042d => Array(
     987                      "Tamron AF 28-300mm F3.5-6.3 XR Di LD Aspherical [IF] Macro",
     988                      "Tamron 28-300mm F3.5-6.3 Ultra zoom XR",
     989                    ),
    934990          0x042e => "smc PENTAX-FA J 28-80mm F3.5-5.6 AL",
    935991          0x042f => "smc PENTAX-FA J 18-35mm F4-5.6 AL",
    936           0x0431 => "TAMRON SP AF 28-75mm F2.8 XR Di (A09)",
     992          0x0431 => "Tamron SP AF 28-75mm F2.8 XR Di (A09)",
    937993          0x0433 => "smc PENTAX-D FA 50mm F2.8 MACRO",
    938994          0x0434 => "smc PENTAX-D FA 100mm F2.8 MACRO",
     
    9491005          0x04f7 => "smc PENTAX-DA 10-17mm F3.5-4.5 ED [IF] Fisheye zoom",
    9501006          0x04f8 => "smc PENTAX-DA 12-24mm F4 ED AL [IF]",
    951           0x04f9 => "TAMRON XR DiII 18-200mm F3.5-6.3 (A14)",
     1007          0x04f9 => "Tamron XR DiII 18-200mm F3.5-6.3 (A14)",
    9521008          0x04fa => "smc PENTAX-DA 50-200mm F4-5.6 ED",
    9531009          0x04fb => "smc PENTAX-DA 40mm F2.8 Limited",
     
    9981054          0x07e7 => "smc PENTAX-DA 18-250mm F3.5-6.3ED AL [IF]",
    9991055          0x07e9 => "smc PENTAX-DA 35mm F2.8 Macro Limited",
    1000           0x07ea => "smc PENTAX-DA* 300 mm F4ED [IF] SDM (SDM not used)",
     1056          0x07ea => "smc PENTAX-DA* 300mm F4ED [IF] SDM (SDM not used)",
    10011057          0x07eb => "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM (SDM not used)",
    10021058          0x07ec => "smc PENTAX-DA 55-300mm F4-5.8 ED", //from exiftool
    1003           0x07ee => "TAMRON AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] MACRO",
     1059          0x07ee => "Tamron AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] MACRO",
    10041060          0x07f1 => "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM (SDM not used)",
    10051061          0x07f2 => "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM (SDM not used)",
     
    10091065          0x08e3 => "smc PENTAX DA* 60-250mm F4 [IF] SDM", //from exiftool
    10101066          0x08e8 => "smc PENTAX-DA 17-70mm F4 AL [IF] SDM", //from exiftool
    1011           0x08ea => "smc PENTAX-DA* 300 mm F4ED [IF] SDM",
     1067          0x08ea => "smc PENTAX-DA* 300mm F4ED [IF] SDM",
    10121068          0x08eb => "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM",
    10131069          0x08f1 => "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM",
    10141070          0x08f2 => "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM",
    1015           0x08ff => "Sigma lens" //from exiftool
    1016         )
     1071          0x08ff => Array(
     1072                      "Sigma 70-200mm F2.8 EX DG Macro HSM II",
     1073                      "Sigma APO 150-500mm F5-6.3 DG OS HSM",
     1074                    ),
     1075          0xffff => "Unknown",
     1076        ),
    10171077      ), // < LensType
    10181078
Note: See TracChangeset for help on using the changeset viewer.