1/*
2 * Copyright (C) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#ifndef OHOS_FILEMANAGEMENT_MEDIA_EXIF_H
17#define OHOS_FILEMANAGEMENT_MEDIA_EXIF_H
18
19#include <string>
20
21namespace OHOS {
22namespace Media {
23const std::string PHOTO_DATA_IMAGE_BITS_PER_SAMPLE = "BitsPerSample";
24const std::string PHOTO_DATA_IMAGE_ORIENTATION = "Orientation";
25const std::string PHOTO_DATA_IMAGE_SOFTWARE = "Software";
26const std::string PHOTO_DATA_IMAGE_IMAGE_LENGTH = "ImageLength";
27const std::string PHOTO_DATA_IMAGE_IMAGE_WIDTH = "ImageWidth";
28const std::string PHOTO_DATA_IMAGE_GPS_LATITUDE = "GPSLatitude";
29const std::string PHOTO_DATA_IMAGE_GPS_LONGITUDE = "GPSLongitude";
30const std::string PHOTO_DATA_IMAGE_GPS_LATITUDE_REF = "GPSLatitudeRef";
31const std::string PHOTO_DATA_IMAGE_GPS_LONGITUDE_REF = "GPSLongitudeRef";
32const std::string PHOTO_DATA_IMAGE_GPS_ALTITUDE = "GPSAltitude";
33const std::string PHOTO_DATA_IMAGE_GPS_VERSION_ID = "GPSVersionID";
34const std::string PHOTO_DATA_IMAGE_DATE_TIME_ORIGINAL = "DateTimeOriginal";
35const std::string PHOTO_DATA_IMAGE_DATE_TIME_ORIGINAL_FOR_MEDIA = "DateTimeOriginalForMedia";
36const std::string PHOTO_DATA_IMAGE_DATE_TIME_DIGITIZED = "DateTimeDigitized";
37const std::string PHOTO_DATA_IMAGE_EXPOSURE_TIME = "ExposureTime";
38const std::string PHOTO_DATA_IMAGE_EXPOSURE_PROGRAM = "ExposureProgram";
39const std::string PHOTO_DATA_IMAGE_EXPOSURE_MODE = "ExposureMode";
40const std::string PHOTO_DATA_IMAGE_F_NUMBER = "FNumber";
41const std::string PHOTO_DATA_IMAGE_ISO_SPEED_RATINGS = "ISOSpeedRatings";
42const std::string PHOTO_DATA_IMAGE_SCENE_TYPE = "SceneType";
43const std::string PHOTO_DATA_IMAGE_IMAGE_DESCRIPTION = "ImageDescription";
44const std::string PHOTO_DATA_IMAGE_MAKE = "Make";
45const std::string PHOTO_DATA_IMAGE_MODEL = "Model";
46const std::string PHOTO_DATA_IMAGE_DATE_TIME = "DateTime";
47const std::string PHOTO_DATA_IMAGE_PHOTO_MODE = "HwMnoteCaptureMode";
48const std::string PHOTO_DATA_IMAGE_SENSITIVITY_TYPE = "SensitivityType";
49const std::string PHOTO_DATA_IMAGE_STANDARD_OUTPUT_SENSITIVITY = "StandardOutputSensitivity";
50const std::string PHOTO_DATA_IMAGE_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity";
51const std::string PHOTO_DATA_IMAGE_RECOMMENDED_EXPOSURE_INDEX = "RecommendedExposureIndex";
52const std::string PHOTO_DATA_IMAGE_ISO_SPEED = "ISOSpeedRatings";
53const std::string PHOTO_DATA_IMAGE_APERTURE_VALUE = "ApertureValue";
54const std::string PHOTO_DATA_IMAGE_METERING_MODE = "MeteringMode";
55const std::string PHOTO_DATA_IMAGE_LIGHT_SOURCE = "LightSource";
56const std::string PHOTO_DATA_IMAGE_FLASH = "Flash";
57const std::string PHOTO_DATA_IMAGE_FOCAL_LENGTH = "FocalLength";
58const std::string PHOTO_DATA_IMAGE_MAKER_NOTE = "MakerNote";
59const std::string PHOTO_DATA_IMAGE_USER_COMMENT = "UserComment";
60const std::string PHOTO_DATA_IMAGE_PIXEL_X_DIMENSION = "PixelXDimension";
61const std::string PHOTO_DATA_IMAGE_PIXEL_Y_DIMENSION = "PixelYDimension";
62const std::string PHOTO_DATA_IMAGE_WHITE_BALANCE = "WhiteBalance";
63const std::string PHOTO_DATA_IMAGE_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio";
64const std::string PHOTO_DATA_IMAGE_FOCAL_LENGTH_IN_35_MM_FILM = "FocalLengthIn35mmFilm";
65const std::string PHOTO_DATA_IMAGE_GPS_TIME_STAMP = "GPSTimeStamp";
66const std::string PHOTO_DATA_IMAGE_GPS_DATE_STAMP = "GPSDateStamp";
67const std::string PHOTO_DATA_IMAGE_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel";
68const std::string PHOTO_DATA_IMAGE_EXPOSURE_BIAS_VALUE = "ExposureBiasValue";
69const std::string PHOTO_DATA_IMAGE_ISO_SPEED_LATITUDE_ZZZ = "ISOSpeedLatitudezzz";
70const std::string PHOTO_DATA_IMAGE_FRONT_CAMERA = "HwMnoteFrontCamera";
71const std::string PHOTO_DATA_VIDEO_CUSTOM_INFO = "customInfo";
72const std::string PHOTO_DATA_VIDEO_COVER_TIME = "com.openharmony.covertime";
73const std::string PHOTO_DATA_IMAGE_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal";
74const std::string PHOTO_DATA_IMAGE_SUBSEC_TIME_ORIGINAL = "SubsecTimeOriginal";
75
76const std::vector<std::string> exifInfoKeys = {
77    PHOTO_DATA_IMAGE_BITS_PER_SAMPLE,
78    PHOTO_DATA_IMAGE_IMAGE_LENGTH,
79    PHOTO_DATA_IMAGE_IMAGE_WIDTH,
80    PHOTO_DATA_IMAGE_GPS_LATITUDE_REF,
81    PHOTO_DATA_IMAGE_GPS_LONGITUDE_REF,
82    PHOTO_DATA_IMAGE_DATE_TIME_ORIGINAL,
83    PHOTO_DATA_IMAGE_DATE_TIME_ORIGINAL_FOR_MEDIA,
84    PHOTO_DATA_IMAGE_EXPOSURE_TIME,
85    PHOTO_DATA_IMAGE_F_NUMBER,
86    PHOTO_DATA_IMAGE_ISO_SPEED_RATINGS,
87    PHOTO_DATA_IMAGE_SCENE_TYPE,
88    PHOTO_DATA_IMAGE_IMAGE_DESCRIPTION,
89    PHOTO_DATA_IMAGE_MAKE,
90    PHOTO_DATA_IMAGE_MODEL,
91    PHOTO_DATA_IMAGE_DATE_TIME,
92    PHOTO_DATA_IMAGE_PHOTO_MODE,
93    PHOTO_DATA_IMAGE_SENSITIVITY_TYPE,
94    PHOTO_DATA_IMAGE_STANDARD_OUTPUT_SENSITIVITY,
95    PHOTO_DATA_IMAGE_RECOMMENDED_EXPOSURE_INDEX,
96    PHOTO_DATA_IMAGE_ISO_SPEED,
97    PHOTO_DATA_IMAGE_APERTURE_VALUE,
98    PHOTO_DATA_IMAGE_METERING_MODE,
99    PHOTO_DATA_IMAGE_LIGHT_SOURCE,
100    PHOTO_DATA_IMAGE_FLASH,
101    PHOTO_DATA_IMAGE_FOCAL_LENGTH,
102    PHOTO_DATA_IMAGE_MAKER_NOTE,
103    PHOTO_DATA_IMAGE_PIXEL_X_DIMENSION,
104    PHOTO_DATA_IMAGE_PIXEL_Y_DIMENSION,
105    PHOTO_DATA_IMAGE_WHITE_BALANCE,
106    PHOTO_DATA_IMAGE_FOCAL_LENGTH_IN_35_MM_FILM,
107    PHOTO_DATA_IMAGE_GPS_TIME_STAMP,
108    PHOTO_DATA_IMAGE_GPS_DATE_STAMP,
109    PHOTO_DATA_IMAGE_COMPRESSED_BITS_PER_PIXEL,
110    PHOTO_DATA_IMAGE_EXPOSURE_BIAS_VALUE,
111};
112} // namespace Media
113} // namespace OHOS
114
115#endif // OHOS_FILEMANAGEMENT_MEDIA_EXIF_H
116