1 /* 2 * Copyright (C) 2024 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 LIBEXIF_MNOTE_HUAWEI_TAG_H 17 #define LIBEXIF_MNOTE_HUAWEI_TAG_H 18 19 #include <libexif/exif-data.h> 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif /* __cplusplus */ 24 25 enum _MnoteHuaweiTag { 26 MNOTE_HUAWEI_INFO = 0xFFFF, 27 MNOTE_HUAWEI_CAPTURE_MODE = 0x0200, 28 MNOTE_HUAWEI_BURST_NUMBER = 0x0201, 29 MNOTE_HUAWEI_FRONT_CAMERA = 0x0202, 30 MNOTE_HUAWEI_ROLL_ANGLE = 0x0203, 31 MNOTE_HUAWEI_PITCH_ANGLE = 0x0204, 32 MNOTE_HUAWEI_PHYSICAL_APERTURE = 0x0205, 33 MNOTE_HUAWEI_FOCUS_MODE = 0x020d, 34 MNOTE_MOVING_PHOTO_ID = 0x020e, 35 MNOTE_MOVING_PHOTO_VERSION = 0x020f, 36 MNOTE_MICRO_VIDEO_PRESENTATION_TIMESTAMP_US = 0x0210, 37 38 MNOTE_HUAWEI_SCENE_INFO = 0x0000, /* subtree */ 39 MNOTE_HUAWEI_SCENE_VERSION = 0x0001, 40 MNOTE_HUAWEI_SCENE_FOOD_CONF = 0x0002, 41 MNOTE_HUAWEI_SCENE_STAGE_CONF = 0x0003, 42 MNOTE_HUAWEI_SCENE_BLUESKY_CONF = 0x0004, 43 MNOTE_HUAWEI_SCENE_GREENPLANT_CONF = 0x0005, 44 MNOTE_HUAWEI_SCENE_BEACH_CONF = 0x0006, 45 MNOTE_HUAWEI_SCENE_SNOW_CONF = 0x0007, 46 MNOTE_HUAWEI_SCENE_SUNSET_CONF = 0x0008, 47 MNOTE_HUAWEI_SCENE_FLOWERS_CONF = 0x0009, 48 MNOTE_HUAWEI_SCENE_NIGHT_CONF = 0x000a, 49 MNOTE_HUAWEI_SCENE_TEXT_CONF = 0x000b, 50 51 MNOTE_HUAWEI_FACE_INFO = 0x0100, /* subtree */ 52 MNOTE_HUAWEI_FACE_VERSION = 0x0101, 53 MNOTE_HUAWEI_FACE_COUNT = 0x0102, 54 MNOTE_HUAWEI_FACE_CONF = 0x0103, 55 MNOTE_HUAWEI_FACE_SMILE_SCORE = 0x0104, 56 MNOTE_HUAWEI_FACE_RECT = 0x0105, 57 MNOTE_HUAWEI_FACE_LEYE_CENTER = 0x0106, 58 MNOTE_HUAWEI_FACE_REYE_CENTER = 0x0107, 59 MNOTE_HUAWEI_FACE_MOUTH_CENTER = 0x0108, 60 }; 61 typedef enum _MnoteHuaweiTag MnoteHuaweiTag; 62 63 enum _MnoteHuaweiTagType { 64 MNOTE_HUAWEI_TAG_TYPE_UNKONW, 65 MNOTE_HUAWEI_TAG_TYPE_TAG, 66 MNOTE_HUAWEI_TAG_TYPE_IFD, 67 MNOTE_HUAWEI_TAG_TYPE_STRUCT, 68 }; 69 typedef enum _MnoteHuaweiTagType MnoteHuaweiTagType; 70 71 MnoteHuaweiTag mnote_huawei_tag_from_name(const char *name); 72 const char *mnote_huawei_tag_get_name(MnoteHuaweiTag); 73 const char *mnote_huawei_tag_get_title(MnoteHuaweiTag); 74 const char *mnote_huawei_tag_get_description(MnoteHuaweiTag); 75 MnoteHuaweiTagType mnote_huawei_tag_type(MnoteHuaweiTag); 76 MnoteHuaweiTag get_tag_owner_tag(MnoteHuaweiTag tag); 77 int is_ifd_tag(MnoteHuaweiTag tag); 78 79 #ifdef __cplusplus 80 } 81 #endif /* __cplusplus */ 82 83 #endif /* !defined(LIBEXIF_MNOTE_HUAWEI_TAG_H) */ 84