| 1 | /*
|
|---|
| 2 | * Copyright 2002-2016 Drew Noakes
|
|---|
| 3 | *
|
|---|
| 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
|---|
| 5 | * you may not use this file except in compliance with the License.
|
|---|
| 6 | * You may obtain a copy of the License at
|
|---|
| 7 | *
|
|---|
| 8 | * http://www.apache.org/licenses/LICENSE-2.0
|
|---|
| 9 | *
|
|---|
| 10 | * Unless required by applicable law or agreed to in writing, software
|
|---|
| 11 | * distributed under the License is distributed on an "AS IS" BASIS,
|
|---|
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|---|
| 13 | * See the License for the specific language governing permissions and
|
|---|
| 14 | * limitations under the License.
|
|---|
| 15 | *
|
|---|
| 16 | * More information about this project is available at:
|
|---|
| 17 | *
|
|---|
| 18 | * https://drewnoakes.com/code/exif/
|
|---|
| 19 | * https://github.com/drewnoakes/metadata-extractor
|
|---|
| 20 | */
|
|---|
| 21 | package com.drew.metadata.exif.makernotes;
|
|---|
| 22 |
|
|---|
| 23 | import com.drew.lang.annotations.NotNull;
|
|---|
| 24 | import com.drew.metadata.Directory;
|
|---|
| 25 |
|
|---|
| 26 | import java.util.HashMap;
|
|---|
| 27 |
|
|---|
| 28 | /**
|
|---|
| 29 | * Describes tags specific to Pentax and Asahi cameras.
|
|---|
| 30 | *
|
|---|
| 31 | * @author Drew Noakes https://drewnoakes.com
|
|---|
| 32 | */
|
|---|
| 33 | public class PentaxMakernoteDirectory extends Directory
|
|---|
| 34 | {
|
|---|
| 35 | /**
|
|---|
| 36 | * 0 = Auto
|
|---|
| 37 | * 1 = Night-scene
|
|---|
| 38 | * 2 = Manual
|
|---|
| 39 | * 4 = Multiple
|
|---|
| 40 | */
|
|---|
| 41 | public static final int TAG_CAPTURE_MODE = 0x0001;
|
|---|
| 42 |
|
|---|
| 43 | /**
|
|---|
| 44 | * 0 = Good
|
|---|
| 45 | * 1 = Better
|
|---|
| 46 | * 2 = Best
|
|---|
| 47 | */
|
|---|
| 48 | public static final int TAG_QUALITY_LEVEL = 0x0002;
|
|---|
| 49 |
|
|---|
| 50 | /**
|
|---|
| 51 | * 2 = Custom
|
|---|
| 52 | * 3 = Auto
|
|---|
| 53 | */
|
|---|
| 54 | public static final int TAG_FOCUS_MODE = 0x0003;
|
|---|
| 55 |
|
|---|
| 56 | /**
|
|---|
| 57 | * 1 = Auto
|
|---|
| 58 | * 2 = Flash on
|
|---|
| 59 | * 4 = Flash off
|
|---|
| 60 | * 6 = Red-eye Reduction
|
|---|
| 61 | */
|
|---|
| 62 | public static final int TAG_FLASH_MODE = 0x0004;
|
|---|
| 63 |
|
|---|
| 64 | /**
|
|---|
| 65 | * 0 = Auto
|
|---|
| 66 | * 1 = Daylight
|
|---|
| 67 | * 2 = Shade
|
|---|
| 68 | * 3 = Tungsten
|
|---|
| 69 | * 4 = Fluorescent
|
|---|
| 70 | * 5 = Manual
|
|---|
| 71 | */
|
|---|
| 72 | public static final int TAG_WHITE_BALANCE = 0x0007;
|
|---|
| 73 |
|
|---|
| 74 | /**
|
|---|
| 75 | * (0 = Off)
|
|---|
| 76 | */
|
|---|
| 77 | public static final int TAG_DIGITAL_ZOOM = 0x000A;
|
|---|
| 78 |
|
|---|
| 79 | /**
|
|---|
| 80 | * 0 = Normal
|
|---|
| 81 | * 1 = Soft
|
|---|
| 82 | * 2 = Hard
|
|---|
| 83 | */
|
|---|
| 84 | public static final int TAG_SHARPNESS = 0x000B;
|
|---|
| 85 |
|
|---|
| 86 | /**
|
|---|
| 87 | * 0 = Normal
|
|---|
| 88 | * 1 = Low
|
|---|
| 89 | * 2 = High
|
|---|
| 90 | */
|
|---|
| 91 | public static final int TAG_CONTRAST = 0x000C;
|
|---|
| 92 |
|
|---|
| 93 | /**
|
|---|
| 94 | * 0 = Normal
|
|---|
| 95 | * 1 = Low
|
|---|
| 96 | * 2 = High
|
|---|
| 97 | */
|
|---|
| 98 | public static final int TAG_SATURATION = 0x000D;
|
|---|
| 99 |
|
|---|
| 100 | /**
|
|---|
| 101 | * 10 = ISO 100
|
|---|
| 102 | * 16 = ISO 200
|
|---|
| 103 | * 100 = ISO 100
|
|---|
| 104 | * 200 = ISO 200
|
|---|
| 105 | */
|
|---|
| 106 | public static final int TAG_ISO_SPEED = 0x0014;
|
|---|
| 107 |
|
|---|
| 108 | /**
|
|---|
| 109 | * 1 = Normal
|
|---|
| 110 | * 2 = Black & White
|
|---|
| 111 | * 3 = Sepia
|
|---|
| 112 | */
|
|---|
| 113 | public static final int TAG_COLOUR = 0x0017;
|
|---|
| 114 |
|
|---|
| 115 | /**
|
|---|
| 116 | * See Print Image Matching for specification.
|
|---|
| 117 | * http://www.ozhiker.com/electronics/pjmt/jpeg_info/pim.html
|
|---|
| 118 | */
|
|---|
| 119 | public static final int TAG_PRINT_IMAGE_MATCHING_INFO = 0x0E00;
|
|---|
| 120 |
|
|---|
| 121 | /**
|
|---|
| 122 | * (String).
|
|---|
| 123 | */
|
|---|
| 124 | public static final int TAG_TIME_ZONE = 0x1000;
|
|---|
| 125 |
|
|---|
| 126 | /**
|
|---|
| 127 | * (String).
|
|---|
| 128 | */
|
|---|
| 129 | public static final int TAG_DAYLIGHT_SAVINGS = 0x1001;
|
|---|
| 130 |
|
|---|
| 131 | @NotNull
|
|---|
| 132 | protected static final HashMap<Integer, String> _tagNameMap = new HashMap<Integer, String>();
|
|---|
| 133 |
|
|---|
| 134 | static
|
|---|
| 135 | {
|
|---|
| 136 | _tagNameMap.put(TAG_CAPTURE_MODE, "Capture Mode");
|
|---|
| 137 | _tagNameMap.put(TAG_QUALITY_LEVEL, "Quality Level");
|
|---|
| 138 | _tagNameMap.put(TAG_FOCUS_MODE, "Focus Mode");
|
|---|
| 139 | _tagNameMap.put(TAG_FLASH_MODE, "Flash Mode");
|
|---|
| 140 | _tagNameMap.put(TAG_WHITE_BALANCE, "White Balance");
|
|---|
| 141 | _tagNameMap.put(TAG_DIGITAL_ZOOM, "Digital Zoom");
|
|---|
| 142 | _tagNameMap.put(TAG_SHARPNESS, "Sharpness");
|
|---|
| 143 | _tagNameMap.put(TAG_CONTRAST, "Contrast");
|
|---|
| 144 | _tagNameMap.put(TAG_SATURATION, "Saturation");
|
|---|
| 145 | _tagNameMap.put(TAG_ISO_SPEED, "ISO Speed");
|
|---|
| 146 | _tagNameMap.put(TAG_COLOUR, "Colour");
|
|---|
| 147 | _tagNameMap.put(TAG_PRINT_IMAGE_MATCHING_INFO, "Print Image Matching (PIM) Info");
|
|---|
| 148 | _tagNameMap.put(TAG_TIME_ZONE, "Time Zone");
|
|---|
| 149 | _tagNameMap.put(TAG_DAYLIGHT_SAVINGS, "Daylight Savings");
|
|---|
| 150 | }
|
|---|
| 151 |
|
|---|
| 152 | public PentaxMakernoteDirectory()
|
|---|
| 153 | {
|
|---|
| 154 | this.setDescriptor(new PentaxMakernoteDescriptor(this));
|
|---|
| 155 | }
|
|---|
| 156 |
|
|---|
| 157 | @Override
|
|---|
| 158 | @NotNull
|
|---|
| 159 | public String getName()
|
|---|
| 160 | {
|
|---|
| 161 | return "Pentax Makernote";
|
|---|
| 162 | }
|
|---|
| 163 |
|
|---|
| 164 | @Override
|
|---|
| 165 | @NotNull
|
|---|
| 166 | protected HashMap<Integer, String> getTagNameMap()
|
|---|
| 167 | {
|
|---|
| 168 | return _tagNameMap;
|
|---|
| 169 | }
|
|---|
| 170 | }
|
|---|