File: FujifilmMakernoteDirectory.java

package info (click to toggle)
libmetadata-extractor-java 2.11.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 6,416 kB
  • sloc: java: 35,343; xml: 200; sh: 11; makefile: 2
file content (179 lines) | stat: -rw-r--r-- 7,047 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*
 * Copyright 2002-2017 Drew Noakes
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 *
 * More information about this project is available at:
 *
 *    https://drewnoakes.com/code/exif/
 *    https://github.com/drewnoakes/metadata-extractor
 */
package com.drew.metadata.exif.makernotes;

import com.drew.lang.annotations.NotNull;
import com.drew.metadata.Directory;

import java.util.HashMap;

/**
 * Describes tags specific to Fujifilm cameras.
 *
 * @author Drew Noakes https://drewnoakes.com
 */
@SuppressWarnings("WeakerAccess")
public class FujifilmMakernoteDirectory extends Directory
{
    public static final int TAG_MAKERNOTE_VERSION = 0x0000;
    public static final int TAG_SERIAL_NUMBER = 0x0010;

    public static final int TAG_QUALITY = 0x1000;
    public static final int TAG_SHARPNESS = 0x1001;
    public static final int TAG_WHITE_BALANCE = 0x1002;
    public static final int TAG_COLOR_SATURATION = 0x1003;
    public static final int TAG_TONE = 0x1004;
    public static final int TAG_COLOR_TEMPERATURE = 0x1005;
    public static final int TAG_CONTRAST = 0x1006;

    public static final int TAG_WHITE_BALANCE_FINE_TUNE = 0x100a;
    public static final int TAG_NOISE_REDUCTION = 0x100b;
    public static final int TAG_HIGH_ISO_NOISE_REDUCTION = 0x100e;

    public static final int TAG_FLASH_MODE = 0x1010;
    public static final int TAG_FLASH_EV = 0x1011;

    public static final int TAG_MACRO = 0x1020;
    public static final int TAG_FOCUS_MODE = 0x1021;
    public static final int TAG_FOCUS_PIXEL = 0x1023;

    public static final int TAG_SLOW_SYNC = 0x1030;
    public static final int TAG_PICTURE_MODE = 0x1031;
    public static final int TAG_EXR_AUTO = 0x1033;
    public static final int TAG_EXR_MODE = 0x1034;

    public static final int TAG_AUTO_BRACKETING = 0x1100;
    public static final int TAG_SEQUENCE_NUMBER = 0x1101;

    public static final int TAG_FINE_PIX_COLOR = 0x1210;

    public static final int TAG_BLUR_WARNING = 0x1300;
    public static final int TAG_FOCUS_WARNING = 0x1301;
    public static final int TAG_AUTO_EXPOSURE_WARNING = 0x1302;
    public static final int TAG_GE_IMAGE_SIZE = 0x1304;

    public static final int TAG_DYNAMIC_RANGE = 0x1400;
    public static final int TAG_FILM_MODE = 0x1401;
    public static final int TAG_DYNAMIC_RANGE_SETTING = 0x1402;
    public static final int TAG_DEVELOPMENT_DYNAMIC_RANGE = 0x1403;
    public static final int TAG_MIN_FOCAL_LENGTH = 0x1404;
    public static final int TAG_MAX_FOCAL_LENGTH = 0x1405;
    public static final int TAG_MAX_APERTURE_AT_MIN_FOCAL = 0x1406;
    public static final int TAG_MAX_APERTURE_AT_MAX_FOCAL = 0x1407;

    public static final int TAG_AUTO_DYNAMIC_RANGE = 0x140b;

    public static final int TAG_FACES_DETECTED = 0x4100;
    /**
     * Left, top, right and bottom coordinates in full-sized image for each face detected.
     */
    public static final int TAG_FACE_POSITIONS = 0x4103;
    public static final int TAG_FACE_REC_INFO = 0x4282;

    public static final int TAG_FILE_SOURCE = 0x8000;
    public static final int TAG_ORDER_NUMBER = 0x8002;
    public static final int TAG_FRAME_NUMBER = 0x8003;

    public static final int TAG_PARALLAX = 0xb211;

    @NotNull
    protected static final HashMap<Integer, String> _tagNameMap = new HashMap<Integer, String>();

    static
    {
        _tagNameMap.put(TAG_MAKERNOTE_VERSION, "Makernote Version");
        _tagNameMap.put(TAG_SERIAL_NUMBER, "Serial Number");

        _tagNameMap.put(TAG_QUALITY, "Quality");
        _tagNameMap.put(TAG_SHARPNESS, "Sharpness");
        _tagNameMap.put(TAG_WHITE_BALANCE, "White Balance");
        _tagNameMap.put(TAG_COLOR_SATURATION, "Color Saturation");
        _tagNameMap.put(TAG_TONE, "Tone (Contrast)");
        _tagNameMap.put(TAG_COLOR_TEMPERATURE, "Color Temperature");
        _tagNameMap.put(TAG_CONTRAST, "Contrast");

        _tagNameMap.put(TAG_WHITE_BALANCE_FINE_TUNE, "White Balance Fine Tune");
        _tagNameMap.put(TAG_NOISE_REDUCTION, "Noise Reduction");
        _tagNameMap.put(TAG_HIGH_ISO_NOISE_REDUCTION, "High ISO Noise Reduction");

        _tagNameMap.put(TAG_FLASH_MODE, "Flash Mode");
        _tagNameMap.put(TAG_FLASH_EV, "Flash Strength");

        _tagNameMap.put(TAG_MACRO, "Macro");
        _tagNameMap.put(TAG_FOCUS_MODE, "Focus Mode");
        _tagNameMap.put(TAG_FOCUS_PIXEL, "Focus Pixel");

        _tagNameMap.put(TAG_SLOW_SYNC, "Slow Sync");
        _tagNameMap.put(TAG_PICTURE_MODE, "Picture Mode");
        _tagNameMap.put(TAG_EXR_AUTO, "EXR Auto");
        _tagNameMap.put(TAG_EXR_MODE, "EXR Mode");

        _tagNameMap.put(TAG_AUTO_BRACKETING, "Auto Bracketing");
        _tagNameMap.put(TAG_SEQUENCE_NUMBER, "Sequence Number");

        _tagNameMap.put(TAG_FINE_PIX_COLOR, "FinePix Color Setting");

        _tagNameMap.put(TAG_BLUR_WARNING, "Blur Warning");
        _tagNameMap.put(TAG_FOCUS_WARNING, "Focus Warning");
        _tagNameMap.put(TAG_AUTO_EXPOSURE_WARNING, "AE Warning");
        _tagNameMap.put(TAG_GE_IMAGE_SIZE, "GE Image Size");

        _tagNameMap.put(TAG_DYNAMIC_RANGE, "Dynamic Range");
        _tagNameMap.put(TAG_FILM_MODE, "Film Mode");
        _tagNameMap.put(TAG_DYNAMIC_RANGE_SETTING, "Dynamic Range Setting");
        _tagNameMap.put(TAG_DEVELOPMENT_DYNAMIC_RANGE, "Development Dynamic Range");
        _tagNameMap.put(TAG_MIN_FOCAL_LENGTH, "Minimum Focal Length");
        _tagNameMap.put(TAG_MAX_FOCAL_LENGTH, "Maximum Focal Length");
        _tagNameMap.put(TAG_MAX_APERTURE_AT_MIN_FOCAL, "Maximum Aperture at Minimum Focal Length");
        _tagNameMap.put(TAG_MAX_APERTURE_AT_MAX_FOCAL, "Maximum Aperture at Maximum Focal Length");

        _tagNameMap.put(TAG_AUTO_DYNAMIC_RANGE, "Auto Dynamic Range");

        _tagNameMap.put(TAG_FACES_DETECTED, "Faces Detected");
        _tagNameMap.put(TAG_FACE_POSITIONS, "Face Positions");
        _tagNameMap.put(TAG_FACE_REC_INFO, "Face Detection Data");

        _tagNameMap.put(TAG_FILE_SOURCE, "File Source");
        _tagNameMap.put(TAG_ORDER_NUMBER, "Order Number");
        _tagNameMap.put(TAG_FRAME_NUMBER, "Frame Number");

        _tagNameMap.put(TAG_PARALLAX, "Parallax");
    }

    public FujifilmMakernoteDirectory()
    {
        this.setDescriptor(new FujifilmMakernoteDescriptor(this));
    }

    @Override
    @NotNull
    public String getName()
    {
        return "Fujifilm Makernote";
    }

    @Override
    @NotNull
    protected HashMap<Integer, String> getTagNameMap()
    {
        return _tagNameMap;
    }
}