????
Current Path : /proc/self/cwd/wp-content/plugins/ewww-image-optimizer/vendor/lsolesen/pel/src/ |
Current File : //proc/self/cwd/wp-content/plugins/ewww-image-optimizer/vendor/lsolesen/pel/src/PelEntrySShort.php |
<?php /** * PEL: PHP Exif Library. * A library with support for reading and * writing all Exif headers in JPEG and TIFF images using PHP. * * Copyright (C) 2004, 2005, 2006 Martin Geisler. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program in the file COPYING; if not, write to the * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, * Boston, MA 02110-1301 USA */ /** * Classes used to hold shorts, both signed and unsigned. * * @author Martin Geisler <mgeisler@users.sourceforge.net> * @license http://www.gnu.org/licenses/gpl.html GNU General Public * License (GPL) * @package PEL */ /** * Class for holding signed shorts. * * This class can hold shorts, either just a single short or an array * of shorts. The class will be used to manipulate any of the Exif * tags which has format {@link PelFormat::SSHORT}. * * @author Martin Geisler <mgeisler@users.sourceforge.net> * @package PEL */ namespace lsolesen\pel; class PelEntrySShort extends PelEntryNumber { private const TRANSLATIONS = [ PelIfd::CANON_FILE_INFO => [ PelTag::CANON_FI_BRACKET_MODE => [ 0 => 'Off', 1 => 'AEB', 2 => 'FEB', 3 => 'ISO', 4 => 'WB' ], PelTag::CANON_FI_RAW_JPG_QUALITY => [ 1 => 'Economy', 2 => 'Normal', 3 => 'Fine', 4 => 'RAW', 5 => 'Superfine', 130 => 'Normal Movie', 131 => 'Movie (2)' ], PelTag::CANON_FI_RAW_JPG_SIZE => [ 0 => 'Large', 1 => 'Medium', 2 => 'Small', 5 => 'Medium 1', 6 => 'Medium 2', 7 => 'Medium 3', 8 => 'Postcard', 9 => 'Widescreen', 10 => 'Medium Widescreen', 14 => 'Small 1', 15 => 'Small 2', 16 => 'Small 3', 128 => '640x480 Movie', 129 => 'Medium Movie', 130 => 'Small Movie', 137 => '1280x720 Movie', 142 => '1920x1080 Movie' ], PelTag::CANON_FI_NOISE_REDUCTION => [ 0 => 'Off', 1 => 'On (1D)', 3 => 'On', 4 => 'Auto' ], PelTag::CANON_FI_WB_BRACKET_MODE => [ 0 => 'Off', 1 => 'On (shift AB)', 2 => 'On (shift GM)' ], PelTag::CANON_FI_FILTER_EFFECT => [ 0 => 'None', 1 => 'Yellow', 2 => 'Orange', 3 => 'Red', 4 => 'Green' ], PelTag::CANON_FI_TONING_EFFECT => [ 0 => 'None', 1 => 'Sepia', 2 => 'Blue', 3 => 'Purple', 4 => 'Green' ], PelTag::CANON_FI_LIVE_VIEW_SHOOTING => [ 0 => 'Off', 1 => 'On' ], PelTag::CANON_FI_FLASH_EXPOSURE_LOCK => [ 0 => 'Off', 1 => 'On' ] ], PelIfd::CANON_CAMERA_SETTINGS => [ PelTag::CANON_CS_MACRO => [ 1 => 'Macro', 2 => 'Normal' ], PelTag::CANON_CS_QUALITY => [ 1 => 'Economy', 2 => 'Normal', 3 => 'Fine', 4 => 'RAW', 5 => 'Superfine', 130 => 'Normal Movie', 131 => 'Movie (2)' ], PelTag::CANON_CS_FLASH_MODE => [ 0 => 'Off', 1 => 'Auto', 2 => 'On', 3 => 'Red-eye reduction', 4 => 'Slow-sync', 5 => 'Red-eye reduction (Auto)', 6 => 'Red-eye reduction (On)', 16 => 'External flash' ], PelTag::CANON_CS_DRIVE_MODE => [ 0 => 'Single', 1 => 'Continuous', 2 => 'Movie', 3 => 'Continuous, Speed Priority', 4 => 'Continuous, Low', 5 => 'Continuous, High', 6 => 'Silent Single', 9 => 'Single, Silent', 10 => 'Continuous, Silent' ], PelTag::CANON_CS_FOCUS_MODE => [ 0 => 'One-shot AF', 1 => 'AI Servo AF', 2 => 'AI Focus AF', 3 => 'Manual Focus (3)', 4 => 'Single', 5 => 'Continuous', 6 => 'Manual Focus (6)', 16 => 'Pan Focus', 256 => 'AF + MF', 512 => 'Movie Snap Focus', 519 => 'Movie Servo AF' ], PelTag::CANON_CS_RECORD_MODE => [ 1 => 'JPEG', 2 => 'CRW+THM', 3 => 'AVI+THM', 4 => 'TIF', 5 => 'TIF+JPEG', 6 => 'CR2', 7 => 'CR2+JPEG', 9 => 'MOV', 10 => 'MP4' ], PelTag::CANON_CS_IMAGE_SIZE => [ 0 => 'Large', 1 => 'Medium', 2 => 'Small', 5 => 'Medium 1', 6 => 'Medium 2', 7 => 'Medium 3', 8 => 'Postcard', 9 => 'Widescreen', 10 => 'Medium Widescreen', 14 => 'Small 1', 15 => 'Small 2', 16 => 'Small 3', 128 => '640x480 Movie', 129 => 'Medium Movie', 130 => 'Small Movie', 137 => '1280x720 Movie', 142 => '1920x1080 Movie' ], PelTag::CANON_CS_EASY_MODE => [ 0 => 'Full auto', 1 => 'Manual', 2 => 'Landscape', 3 => 'Fast shutter', 4 => 'Slow shutter', 5 => 'Night', 6 => 'Gray Scale', 7 => 'Sepia', 8 => 'Portrait', 9 => 'Sports', 10 => 'Macro', 11 => 'Black & White', 12 => 'Pan focus', 13 => 'Vivid', 14 => 'Neutral', 15 => 'Flash Off', 16 => 'Long Shutter', 17 => 'Super Macro', 18 => 'Foliage', 19 => 'Indoor', 20 => 'Fireworks', 21 => 'Beach', 22 => 'Underwater', 23 => 'Snow', 24 => 'Kids & Pets', 25 => 'Night Snapshot', 26 => 'Digital Macro', 27 => 'My Colors', 28 => 'Movie Snap', 29 => 'Super Macro 2', 30 => 'Color Accent', 31 => 'Color Swap', 32 => 'Aquarium', 33 => 'ISO 3200', 34 => 'ISO 6400', 35 => 'Creative Light Effect', 36 => 'Easy', 37 => 'Quick Shot', 38 => 'Creative Auto', 39 => 'Zoom Blur', 40 => 'Low Light', 41 => 'Nostalgic', 42 => 'Super Vivid', 43 => 'Poster Effect', 44 => 'Face Self-timer', 45 => 'Smile', 46 => 'Wink Self-timer', 47 => 'Fisheye Effect', 48 => 'Miniature Effect', 49 => 'High-speed Burst', 50 => 'Best Image Selection', 51 => 'High Dynamic Range', 52 => 'Handheld Night Scene', 53 => 'Movie Digest', 54 => 'Live View Control', 55 => 'Discreet', 56 => 'Blur Reduction', 57 => 'Monochrome', 58 => 'Toy Camera Effect', 59 => 'Scene Intelligent Auto', 60 => 'High-speed Burst HQ', 61 => 'Smooth Skin', 62 => 'Soft Focus', 257 => 'Spotlight', 258 => 'Night 2', 259 => 'Night+', 260 => 'Super Night', 261 => 'Sunset', 263 => 'Night Scene', 264 => 'Surface', 265 => 'Low Light 2' ], PelTag::CANON_CS_DIGITAL_ZOOM => [ 0 => 'None', 1 => '2x', 2 => '4x', 3 => 'Other' ], PelTag::CANON_CS_CONTRAST => [ 0 => 'Normal' ], PelTag::CANON_CS_SATURATION => [ 0 => 'Normal' ], PelTag::CANON_CS_METERING_MODE => [ 0 => 'Default', 1 => 'Spot', 2 => 'Average', 3 => 'Evaluative', 4 => 'Partial', 5 => 'Center-weighted average' ], PelTag::CANON_CS_FOCUS_TYPE => [ 0 => 'Manual', 1 => 'Auto', 2 => 'Not Known', 3 => 'Macro', 4 => 'Very Close', 5 => 'Close', 6 => 'Middle Range', 7 => 'Far Range', 8 => 'Pan Focus', 9 => 'Super Macro', 10 => 'Infinity' ], PelTag::CANON_CS_AF_POINT => [ 0x2005 => 'Manual AF point selection', 0x3000 => 'None (MF)', 0x3001 => 'Auto AF point selection', 0x3002 => 'Right', 0x3003 => 'Center', 0x3004 => 'Left', 0x4001 => 'Auto AF point selection', 0x4006 => 'Face Detect' ], PelTag::CANON_CS_EXPOSURE_PROGRAM => [ 0 => 'Easy', 1 => 'Program AE', 2 => 'Shutter speed priority AE', 3 => 'Aperture-priority AE', 4 => 'Manual', 5 => 'Depth-of-field AE', 6 => 'M-Dep', 7 => 'Bulb' ], PelTag::CANON_CS_LENS_TYPE => [ // ATTENTION: Every index is multiplied by 100 1000 => 'Canon EF 50mm f/1.8', 2000 => 'Canon EF 28mm f/2.8', 3000 => 'Canon EF 135mm f/2.8 Soft', 4000 => 'Canon EF 35-105mm f/3.5-4.5 or Sigma Lens', 4100 => 'Sigma UC Zoom 35-135mm f/4-5.6', 5000 => 'Canon EF 35-70mm f/3.5-4.5', 6000 => 'Canon EF 28-70mm f/3.5-4.5 or Sigma or Tokina Lens', 6100 => 'Sigma 18-50mm f/3.5-5.6 DC', 6200 => 'Sigma 18-125mm f/3.5-5.6 DC IF ASP', 6300 => 'Tokina AF 193-2 19-35mm f/3.5-4.5', 6400 => 'Sigma 28-80mm f/3.5-5.6 II Macro', 7000 => 'Canon EF 100-300mm f/5.6L', 8000 => 'Canon EF 100-300mm f/5.6 or Sigma or Tokina Lens', 8100 => 'Sigma 70-300mm f/4-5.6 [APO] DG Macro', 8200 => 'Tokina AT-X 242 AF 24-200mm f/3.5-5.6', 9000 => 'Canon EF 70-210mm f/4', 9100 => 'Sigma 55-200mm f/4-5.6 DC', 1000 => 'Canon EF 50mm f/2.5 Macro or Sigma Lens', 1010 => 'Sigma 50mm f/2.8 EX', 1020 => 'Sigma 28mm f/1.8', 1030 => 'Sigma 105mm f/2.8 Macro EX', 1040 => 'Sigma 70mm f/2.8 EX DG Macro EF', 1100 => 'Canon EF 35mm f/2', 1300 => 'Canon EF 15mm f/2.8 Fisheye', 1400 => 'Canon EF 50-200mm f/3.5-4.5L', 1500 => 'Canon EF 50-200mm f/3.5-4.5', 1600 => 'Canon EF 35-135mm f/3.5-4.5', 1700 => 'Canon EF 35-70mm f/3.5-4.5A', 1800 => 'Canon EF 28-70mm f/3.5-4.5', 2000 => 'Canon EF 100-200mm f/4.5A', 2100 => 'Canon EF 80-200mm f/2.8L', 2200 => 'Canon EF 20-35mm f/2.8L or Tokina Lens', 2210 => 'Tokina AT-X 280 AF Pro 28-80mm f/2.8 Aspherical', 2300 => 'Canon EF 35-105mm f/3.5-4.5', 2400 => 'Canon EF 35-80mm f/4-5.6 Power Zoom', 2500 => 'Canon EF 35-80mm f/4-5.6 Power Zoom', 2600 => 'Canon EF 100mm f/2.8 Macro or Other Lens', 2610 => 'Cosina 100mm f/3.5 Macro AF', 2620 => 'Tamron SP AF 90mm f/2.8 Di Macro', 2630 => 'Tamron SP AF 180mm f/3.5 Di Macro', 2640 => 'Carl Zeiss Planar T* 50mm f/1.4', 2700 => 'Canon EF 35-80mm f/4-5.6', 2800 => 'Canon EF 80-200mm f/4.5-5.6 or Tamron Lens', 2810 => 'Tamron SP AF 28-105mm f/2.8 LD Aspherical IF', 2820 => 'Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro', 2830 => 'Tamron AF 70-300mm f/4-5.6 Di LD 1:2 Macro', 2840 => 'Tamron AF Aspherical 28-200mm f/3.8-5.6', 2900 => 'Canon EF 50mm f/1.8 II', 3000 => 'Canon EF 35-105mm f/4.5-5.6', 3100 => 'Canon EF 75-300mm f/4-5.6 or Tamron Lens', 3110 => 'Tamron SP AF 300mm f/2.8 LD IF', 3200 => 'Canon EF 24mm f/2.8 or Sigma Lens', 3210 => 'Sigma 15mm f/2.8 EX Fisheye', 3300 => 'Voigtlander or Carl Zeiss Lens', 3310 => 'Voigtlander Ultron 40mm f/2 SLII Aspherical', 3320 => 'Voigtlander Color Skopar 20mm f/3.5 SLII Aspherical', 3330 => 'Voigtlander APO-Lanthar 90mm f/3.5 SLII Close Focus', 3340 => 'Carl Zeiss Distagon T* 15mm f/2.8 ZE', 3350 => 'Carl Zeiss Distagon T* 18mm f/3.5 ZE', 3360 => 'Carl Zeiss Distagon T* 21mm f/2.8 ZE', 3370 => 'Carl Zeiss Distagon T* 25mm f/2 ZE', 3380 => 'Carl Zeiss Distagon T* 28mm f/2 ZE', 3390 => 'Carl Zeiss Distagon T* 35mm f/2 ZE', 3310 => 'Carl Zeiss Distagon T* 35mm f/1.4 ZE', 3311 => 'Carl Zeiss Planar T* 50mm f/1.4 ZE', 3312 => 'Carl Zeiss Makro-Planar T* 50mm f/2 ZE', 3313 => 'Carl Zeiss Makro-Planar T* 100mm f/2 ZE', 3314 => 'Carl Zeiss Apo-Sonnar T* 135mm f/2 ZE', 3500 => 'Canon EF 35-80mm f/4-5.6', 3600 => 'Canon EF 38-76mm f/4.5-5.6', 3700 => 'Canon EF 35-80mm f/4-5.6 or Tamron Lens', 3710 => 'Tamron 70-200mm f/2.8 Di LD IF Macro', 3720 => 'Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20', 3730 => 'Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical [IF]', 3740 => 'Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical [IF] Macro', 3800 => 'Canon EF 80-200mm f/4.5-5.6', 3900 => 'Canon EF 75-300mm f/4-5.6', 4000 => 'Canon EF 28-80mm f/3.5-5.6', 4100 => 'Canon EF 28-90mm f/4-5.6', 4200 => 'Canon EF 28-200mm f/3.5-5.6 or Tamron Lens', 4210 => 'Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20', 4300 => 'Canon EF 28-105mm f/4-5.6', 4400 => 'Canon EF 90-300mm f/4.5-5.6', 4500 => 'Canon EF-S 18-55mm f/3.5-5.6 [II]', 4600 => 'Canon EF 28-90mm f/4-5.6', 4700 => 'Zeiss Milvus 35mm f/2 or 50mm f/2', 4710 => 'Zeiss Milvus 50mm f/2 Makro', 4800 => 'Canon EF-S 18-55mm f/3.5-5.6 IS', 4900 => 'Canon EF-S 55-250mm f/4-5.6 IS', 5000 => 'Canon EF-S 18-200mm f/3.5-5.6 IS', 5100 => 'Canon EF-S 18-135mm f/3.5-5.6 IS', 5200 => 'Canon EF-S 18-55mm f/3.5-5.6 IS II', 5300 => 'Canon EF-S 18-55mm f/3.5-5.6 III', 5400 => 'Canon EF-S 55-250mm f/4-5.6 IS II', 6000 => 'Irix 11mm f/4', 9400 => 'Canon TS-E 17mm f/4L', 9500 => 'Canon TS-E 24.0mm f/3.5 L II', 12400 => 'Canon MP-E 65mm f/2.8 1-5x Macro Photo', 12500 => 'Canon TS-E 24mm f/3.5L', 12600 => 'Canon TS-E 45mm f/2.8', 12700 => 'Canon TS-E 90mm f/2.8', 12900 => 'Canon EF 300mm f/2.8L', 13000 => 'Canon EF 50mm f/1.0L', 13100 => 'Canon EF 28-80mm f/2.8-4L or Sigma Lens', 13110 => 'Sigma 8mm f/3.5 EX DG Circular Fisheye', 13120 => 'Sigma 17-35mm f/2.8-4 EX DG Aspherical HSM', 13130 => 'Sigma 17-70mm f/2.8-4.5 DC Macro', 13140 => 'Sigma APO 50-150mm f/2.8 [II] EX DC HSM', 13150 => 'Sigma APO 120-300mm f/2.8 EX DG HSM', 13160 => 'Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye', 13170 => 'Sigma 70-200mm f/2.8 APO EX HSM', 13200 => 'Canon EF 1200mm f/5.6L', 13400 => 'Canon EF 600mm f/4L IS', 13500 => 'Canon EF 200mm f/1.8L', 13600 => 'Canon EF 300mm f/2.8L', 13700 => 'Canon EF 85mm f/1.2L or Sigma or Tamron Lens', 13710 => 'Sigma 18-50mm f/2.8-4.5 DC OS HSM', 13720 => 'Sigma 50-200mm f/4-5.6 DC OS HSM', 13730 => 'Sigma 18-250mm f/3.5-6.3 DC OS HSM', 13740 => 'Sigma 24-70mm f/2.8 IF EX DG HSM', 13750 => 'Sigma 18-125mm f/3.8-5.6 DC OS HSM', 13760 => 'Sigma 17-70mm f/2.8-4 DC Macro OS HSM | C', 13770 => 'Sigma 17-50mm f/2.8 OS HSM', 13780 => 'Sigma 18-200mm f/3.5-6.3 DC OS HSM [II]', 13790 => 'Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD', 13710 => 'Sigma 8-16mm f/4.5-5.6 DC HSM', 13711 => 'Tamron SP 17-50mm f/2.8 XR Di II VC', 13712 => 'Tamron SP 60mm f/2 Macro Di II', 13713 => 'Sigma 10-20mm f/3.5 EX DC HSM', 13714 => 'Tamron SP 24-70mm f/2.8 Di VC USD', 13715 => 'Sigma 18-35mm f/1.8 DC HSM', 13716 => 'Sigma 12-24mm f/4.5-5.6 DG HSM II', 13800 => 'Canon EF 28-80mm f/2.8-4L', 13900 => 'Canon EF 400mm f/2.8L', 14000 => 'Canon EF 500mm f/4.5L', 14100 => 'Canon EF 500mm f/4.5L', 14200 => 'Canon EF 300mm f/2.8L IS', 14300 => 'Canon EF 500mm f/4L IS or Sigma Lens', 14310 => 'Sigma 17-70mm f/2.8-4 DC Macro OS HSM', 14400 => 'Canon EF 35-135mm f/4-5.6 USM', 14500 => 'Canon EF 100-300mm f/4.5-5.6 USM', 14600 => 'Canon EF 70-210mm f/3.5-4.5 USM', 14700 => 'Canon EF 35-135mm f/4-5.6 USM', 14800 => 'Canon EF 28-80mm f/3.5-5.6 USM', 14900 => 'Canon EF 100mm f/2 USM', 15000 => 'Canon EF 14mm f/2.8L or Sigma Lens', 15010 => 'Sigma 20mm EX f/1.8', 15020 => 'Sigma 30mm f/1.4 DC HSM', 15030 => 'Sigma 24mm f/1.8 DG Macro EX', 15040 => 'Sigma 28mm f/1.8 DG Macro EX', 15100 => 'Canon EF 200mm f/2.8L', 15200 => 'Canon EF 300mm f/4L IS or Sigma Lens', 15210 => 'Sigma 12-24mm f/4.5-5.6 EX DG ASPHERICAL HSM', 15220 => 'Sigma 14mm f/2.8 EX Aspherical HSM', 15230 => 'Sigma 10-20mm f/4-5.6', 15240 => 'Sigma 100-300mm f/4', 15300 => 'Canon EF 35-350mm f/3.5-5.6L or Sigma or Tamron Lens', 15310 => 'Sigma 50-500mm f/4-6.3 APO HSM EX', 15320 => 'Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical [IF] Macro', 15330 => 'Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical [IF] Macro Model A14', 15340 => 'Tamron 18-250mm f/3.5-6.3 Di II LD Aspherical [IF] Macro', 15400 => 'Canon EF 20mm f/2.8 USM or Zeiss Lens', 15410 => 'Zeiss Milvus 21mm f/2.8', 15500 => 'Canon EF 85mm f/1.8 USM', 15600 => 'Canon EF 28-105mm f/3.5-4.5 USM or Tamron Lens', 15610 => 'Tamron SP 70-300mm f/4.0-5.6 Di VC USD', 15620 => 'Tamron SP AF 28-105mm f/2.8 LD Aspherical IF', 16000 => 'Canon EF 20-35mm f/3.5-4.5 USM or Tamron or Tokina Lens', 16010 => 'Tamron AF 19-35mm f/3.5-4.5', 16020 => 'Tokina AT-X 124 AF Pro DX 12-24mm f/4', 16030 => 'Tokina AT-X 107 AF DX 10-17mm f/3.5-4.5 Fisheye', 16040 => 'Tokina AT-X 116 AF Pro DX 11-16mm f/2.8', 16050 => 'Tokina AT-X 11-20 F2.8 PRO DX Aspherical 11-20mm f/2.8', 16100 => 'Canon EF 28-70mm f/2.8L or Sigma or Tamron Lens', 16110 => 'Sigma 24-70mm f/2.8 EX', 16120 => 'Sigma 28-70mm f/2.8 EX', 16130 => 'Sigma 24-60mm f/2.8 EX DG', 16140 => 'Tamron AF 17-50mm f/2.8 Di-II LD Aspherical', 16150 => 'Tamron 90mm f/2.8', 16160 => 'Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical IF', 16170 => 'Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro', 16200 => 'Canon EF 200mm f/2.8L', 16300 => 'Canon EF 300mm f/4L', 16400 => 'Canon EF 400mm f/5.6L', 16500 => 'Canon EF 70-200mm f/2.8 L', 16600 => 'Canon EF 70-200mm f/2.8 L + 1.4x', 16700 => 'Canon EF 70-200mm f/2.8 L + 2x', 16800 => 'Canon EF 28mm f/1.8 USM or Sigma Lens', 16810 => 'Sigma 50-100mm f/1.8 DC HSM | A', 16900 => 'Canon EF 17-35mm f/2.8L or Sigma Lens', 16910 => 'Sigma 18-200mm f/3.5-6.3 DC OS', 16920 => 'Sigma 15-30mm f/3.5-4.5 EX DG Aspherical', 16930 => 'Sigma 18-50mm f/2.8 Macro', 16940 => 'Sigma 50mm f/1.4 EX DG HSM', 16950 => 'Sigma 85mm f/1.4 EX DG HSM', 16960 => 'Sigma 30mm f/1.4 EX DC HSM', 16970 => 'Sigma 35mm f/1.4 DG HSM', 17000 => 'Canon EF 200mm f/2.8L II', 17100 => 'Canon EF 300mm f/4L', 17200 => 'Canon EF 400mm f/5.6L or Sigma Lens', 17210 => 'Sigma 150-600mm f/5-6.3 DG OS HSM | S', 17300 => 'Canon EF 180mm Macro f/3.5L or Sigma Lens', 17310 => 'Sigma 180mm EX HSM Macro f/3.5', 17320 => 'Sigma APO Macro 150mm f/2.8 EX DG HSM', 17400 => 'Canon EF 135mm f/2L or Other Lens', 17410 => 'Sigma 70-200mm f/2.8 EX DG APO OS HSM', 17420 => 'Sigma 50-500mm f/4.5-6.3 APO DG OS HSM', 17430 => 'Sigma 150-500mm f/5-6.3 APO DG OS HSM', 17440 => 'Zeiss Milvus 100mm f/2 Makro', 17500 => 'Canon EF 400mm f/2.8L', 17600 => 'Canon EF 24-85mm f/3.5-4.5 USM', 17700 => 'Canon EF 300mm f/4L IS', 17800 => 'Canon EF 28-135mm f/3.5-5.6 IS', 17900 => 'Canon EF 24mm f/1.4L', 18000 => 'Canon EF 35mm f/1.4L or Other Lens', 18010 => 'Sigma 50mm f/1.4 DG HSM | A', 18020 => 'Sigma 24mm f/1.4 DG HSM | A', 18030 => 'Zeiss Milvus 50mm f/1.4', 18040 => 'Zeiss Milvus 85mm f/1.4', 18050 => 'Zeiss Otus 28mm f/1.4 ZE', 18100 => 'Canon EF 100-400mm f/4.5-5.6L IS + 1.4x or Sigma Lens', 18110 => 'Sigma 150-600mm f/5-6.3 DG OS HSM | S + 1.4x', 18200 => 'Canon EF 100-400mm f/4.5-5.6L IS + 2x or Sigma Lens', 18210 => 'Sigma 150-600mm f/5-6.3 DG OS HSM | S + 2x', 18300 => 'Canon EF 100-400mm f/4.5-5.6L IS or Sigma Lens', 18310 => 'Sigma 150mm f/2.8 EX DG OS HSM APO Macro', 18320 => 'Sigma 105mm f/2.8 EX DG OS HSM Macro', 18330 => 'Sigma 180mm f/2.8 EX DG OS HSM APO Macro', 18340 => 'Sigma 150-600mm f/5-6.3 DG OS HSM | C', 18350 => 'Sigma 150-600mm f/5-6.3 DG OS HSM | S', 18360 => 'Sigma 100-400mm f/5-6.3 DG OS HSM', 18400 => 'Canon EF 400mm f/2.8L + 2x', 18500 => 'Canon EF 600mm f/4L IS', 18600 => 'Canon EF 70-200mm f/4L', 18700 => 'Canon EF 70-200mm f/4L + 1.4x', 18800 => 'Canon EF 70-200mm f/4L + 2x', 18900 => 'Canon EF 70-200mm f/4L + 2.8x', 19000 => 'Canon EF 100mm f/2.8 Macro USM', 19100 => 'Canon EF 400mm f/4 DO IS', 19300 => 'Canon EF 35-80mm f/4-5.6 USM', 19400 => 'Canon EF 80-200mm f/4.5-5.6 USM', 19500 => 'Canon EF 35-105mm f/4.5-5.6 USM', 19600 => 'Canon EF 75-300mm f/4-5.6 USM', 19700 => 'Canon EF 75-300mm f/4-5.6 IS USM or Sigma Lens', 19710 => 'Sigma 18-300mm f/3.5-6.3 DC Macro OS HS', 19800 => 'Canon EF 50mm f/1.4 USM or Zeiss Lens', 19810 => 'Zeiss Otus 55mm f/1.4 ZE', 19820 => 'Zeiss Otus 85mm f/1.4 ZE', 19900 => 'Canon EF 28-80mm f/3.5-5.6 USM', 20000 => 'Canon EF 75-300mm f/4-5.6 USM', 20100 => 'Canon EF 28-80mm f/3.5-5.6 USM', 20200 => 'Canon EF 28-80mm f/3.5-5.6 USM IV', 20800 => 'Canon EF 22-55mm f/4-5.6 USM', 20900 => 'Canon EF 55-200mm f/4.5-5.6', 21000 => 'Canon EF 28-90mm f/4-5.6 USM', 21100 => 'Canon EF 28-200mm f/3.5-5.6 USM', 21200 => 'Canon EF 28-105mm f/4-5.6 USM', 21300 => 'Canon EF 90-300mm f/4.5-5.6 USM or Tamron Lens', 21310 => 'Tamron SP 150-600mm f/5-6.3 Di VC USD', 21320 => 'Tamron 16-300mm f/3.5-6.3 Di II VC PZD Macro', 21330 => 'Tamron SP 35mm f/1.8 Di VC USD', 21340 => 'Tamron SP 45mm f/1.8 Di VC USD', 21400 => 'Canon EF-S 18-55mm f/3.5-5.6 USM', 21500 => 'Canon EF 55-200mm f/4.5-5.6 II USM', 21700 => 'Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD', 22400 => 'Canon EF 70-200mm f/2.8L IS', 22500 => 'Canon EF 70-200mm f/2.8L IS + 1.4x', 22600 => 'Canon EF 70-200mm f/2.8L IS + 2x', 22700 => 'Canon EF 70-200mm f/2.8L IS + 2.8x', 22800 => 'Canon EF 28-105mm f/3.5-4.5 USM', 22900 => 'Canon EF 16-35mm f/2.8L', 23000 => 'Canon EF 24-70mm f/2.8L', 23100 => 'Canon EF 17-40mm f/4L', 23200 => 'Canon EF 70-300mm f/4.5-5.6 DO IS USM', 23300 => 'Canon EF 28-300mm f/3.5-5.6L IS', 23400 => 'Canon EF-S 17-85mm f/4-5.6 IS USM or Tokina Lens', 23410 => 'Tokina AT-X 12-28 PRO DX 12-28mm f/4', 23500 => 'Canon EF-S 10-22mm f/3.5-4.5 USM', 23600 => 'Canon EF-S 60mm f/2.8 Macro USM', 23700 => 'Canon EF 24-105mm f/4L IS', 23800 => 'Canon EF 70-300mm f/4-5.6 IS USM', 23900 => 'Canon EF 85mm f/1.2L II', 24000 => 'Canon EF-S 17-55mm f/2.8 IS USM', 24100 => 'Canon EF 50mm f/1.2L', 24200 => 'Canon EF 70-200mm f/4L IS', 24300 => 'Canon EF 70-200mm f/4L IS + 1.4x', 24400 => 'Canon EF 70-200mm f/4L IS + 2x', 24500 => 'Canon EF 70-200mm f/4L IS + 2.8x', 24600 => 'Canon EF 16-35mm f/2.8L II', 24700 => 'Canon EF 14mm f/2.8L II USM', 24800 => 'Canon EF 200mm f/2L IS or Sigma Lens', 24810 => 'Sigma 24-35mm f/2 DG HSM | A', 24900 => 'Canon EF 800mm f/5.6L IS', 25000 => 'Canon EF 24mm f/1.4L II or Sigma Lens', 25010 => 'Sigma 20mm f/1.4 DG HSM | A', 25100 => 'Canon EF 70-200mm f/2.8L IS II USM', 25200 => 'Canon EF 70-200mm f/2.8L IS II USM + 1.4x', 25300 => 'Canon EF 70-200mm f/2.8L IS II USM + 2x', 25400 => 'Canon EF 100mm f/2.8L Macro IS USM', 25500 => 'Sigma 24-105mm f/4 DG OS HSM | A or Other Sigma Lens', 25510 => 'Sigma 180mm f/2.8 EX DG OS HSM APO Macro', 48800 => 'Canon EF-S 15-85mm f/3.5-5.6 IS USM', 48900 => 'Canon EF 70-300mm f/4-5.6L IS USM', 49000 => 'Canon EF 8-15mm f/4L Fisheye USM', 49100 => 'Canon EF 300mm f/2.8L IS II USM or Tamron Lens', 49110 => 'Tamron SP 70-200mm F/2.8 Di VC USD G2 (A025)', 49120 => 'Tamron 18-400mm F/3.5-6.3 Di II VC HLD (B028)', 49200 => 'Canon EF 400mm f/2.8L IS II USM', 49300 => 'Canon EF 500mm f/4L IS II USM or EF 24-105mm f4L IS USM', 49310 => 'Canon EF 24-105mm f/4L IS USM', 49400 => 'Canon EF 600mm f/4.0L IS II USM', 49500 => 'Canon EF 24-70mm f/2.8L II USM or Sigma Lens', 49510 => 'Sigma 24-70mm F2.8 DG OS HSM | A', 49600 => 'Canon EF 200-400mm f/4L IS USM', 49900 => 'Canon EF 200-400mm f/4L IS USM + 1.4x', 50200 => 'Canon EF 28mm f/2.8 IS USM', 50300 => 'Canon EF 24mm f/2.8 IS USM', 50400 => 'Canon EF 24-70mm f/4L IS USM', 50500 => 'Canon EF 35mm f/2 IS USM', 50600 => 'Canon EF 400mm f/4 DO IS II USM', 50700 => 'Canon EF 16-35mm f/4L IS USM', 50800 => 'Canon EF 11-24mm f/4L USM or Tamron Lens', 50810 => 'Tamron 10-24mm f/3.5-4.5 Di II VC HLD', 74700 => 'Canon EF 100-400mm f/4.5-5.6L IS II USM or Tamron Lens', 74710 => 'Tamron SP 150-600mm F5-6.3 Di VC USD G2', 74800 => 'Canon EF 100-400mm f/4.5-5.6L IS II USM + 1.4x', 75000 => 'Canon EF 35mm f/1.4L II USM', 75100 => 'Canon EF 16-35mm f/2.8L III USM', 75200 => 'Canon EF 24-105mm f/4L IS II USM', 414200 => 'Canon EF-S 18-135mm f/3.5-5.6 IS STM', 414300 => 'Canon EF-M 18-55mm f/3.5-5.6 IS STM or Tamron Lens', 414310 => 'Tamron 18-200mm F/3.5-6.3 Di III VC', 414400 => 'Canon EF 40mm f/2.8 STM', 414500 => 'Canon EF-M 22mm f/2 STM', 414600 => 'Canon EF-S 18-55mm f/3.5-5.6 IS STM', 414700 => 'Canon EF-M 11-22mm f/4-5.6 IS STM', 414800 => 'Canon EF-S 55-250mm f/4-5.6 IS STM', 414900 => 'Canon EF-M 55-200mm f/4.5-6.3 IS STM', 415000 => 'Canon EF-S 10-18mm f/4.5-5.6 IS STM', 415200 => 'Canon EF 24-105mm f/3.5-5.6 IS STM', 415300 => 'Canon EF-M 15-45mm f/3.5-6.3 IS STM', 415400 => 'Canon EF-S 24mm f/2.8 STM', 415500 => 'Canon EF-M 28mm f/3.5 Macro IS STM', 415600 => 'Canon EF 50mm f/1.8 STM', 415700 => 'Canon EF-M 18-150mm 1:3.5-6.3 IS STM', 415800 => 'Canon EF-S 18-55mm f/4-5.6 IS STM', 416000 => 'Canon EF-S 35mm f/2.8 Macro IS STM', 3691000 => 'Canon EF 70-300mm f/4-5.6 IS II USM', 3691200 => 'Canon EF-S 18-135mm f/3.5-5.6 IS USM', 6149400 => 'Canon CN-E 85mm T1.3 L F' ], PelTag::CANON_CS_FOCUS_CONTINUOUS => [ 0 => 'Single', 1 => 'Continuous', 8 => 'Manual' ], PelTag::CANON_CS_AE_SETTING => [ 0 => 'Normal AE', 1 => 'Exposure Compensation', 2 => 'AE Lock', 3 => 'AE Lock + Exposure Comp.', 4 => 'No AE' ], PelTag::CANON_CS_IMAGE_STABILIZATION => [ 0 => 'Off', 1 => 'On', 2 => 'Shoot Only', 3 => 'Panning', 4 => 'Dynamic', 256 => 'Off (2)', 257 => 'On (2)', 258 => 'Shoot Only (2)', 259 => 'Panning (2)', 260 => 'Dynamic (2)' ], PelTag::CANON_CS_SPOT_METERING_MODE => [ 0 => 'Center', 1 => 'AF Point' ], PelTag::CANON_CS_PHOTO_EFFECT => [ 0 => 'Off', 1 => 'Vivid', 2 => 'Neutral', 3 => 'Smooth', 4 => 'Sepia', 5 => 'B&W', 6 => 'Custom', 100 => 'My Color Data' ], PelTag::CANON_CS_MANUAL_FLASH_OUTPUT => [ 0x500 => 'Full', 0x502 => 'Medium', 0x504 => 'Low' ], PelTag::CANON_CS_COLOR_TONE => [ 0 => 'Normal' ], PelTag::CANON_CS_SRAW_QUALITY => [ 1 => 'sRAW1 (mRAW)', 2 => 'sRAW2 (sRAW)' ] ] ]; /** * Make a new entry that can hold a signed short. * * The method accept several integer arguments. The {@link * getValue} method will always return an array except for when a * single integer argument is given here. * * @param int $tag * the tag which this entry represents. This * should be one of the constants defined in {@link PelTag} * which has format {@link PelFormat::SSHORT}. * @param int $value... * the signed short(s) that this entry will * represent. The argument passed must obey the same rules as the * argument to {@link setValue}, namely that it should be within * range of a signed short, that is between -32768 to 32767 * (inclusive). If not, then a {@link PelOverFlowException} will be * thrown. */ public function __construct($tag, $value = null) { $this->tag = $tag; $this->min = - 32768; $this->max = 32767; $this->format = PelFormat::SSHORT; $value = func_get_args(); array_shift($value); $this->setValueArray($value); } /** * Convert a number into bytes. * * @param int $number * the number that should be converted. * @param boolean $order * one of {@link PelConvert::LITTLE_ENDIAN} and * {@link PelConvert::BIG_ENDIAN}, specifying the target byte order. * @return string bytes representing the number given. */ public function numberToBytes($number, $order) { return PelConvert::sShortToBytes($number, $order); } /** * Get the value of an entry as text. * * The value will be returned in a format suitable for presentation, * e.g., instead of returning '2' for a {@link * PelTag::METERING_MODE} tag, 'Center-Weighted Average' is * returned. * * @param boolean $brief * some values can be returned in a long or more * brief form, and this parameter controls that. * @return string the value as text. */ public function getText($brief = false) { if (array_key_exists($this->ifd_type, self::TRANSLATIONS) && array_key_exists($this->tag, self::TRANSLATIONS[$this->ifd_type])) { $val = $this->value[0]; if ($this->ifd_type === PelIfd::CANON_CAMERA_SETTINGS && $this->tag === PelTag::CANON_CS_LENS_TYPE) { // special handling: lens types must be multtiplied by 100 because digits canÄt be used in arrays $val = $val * 100; } if (array_key_exists($val, self::TRANSLATIONS[$this->ifd_type][$this->tag])) { return Pel::tra(self::TRANSLATIONS[$this->ifd_type][$this->tag][$val]); } else { return $val; } } return parent::getText($brief); } }