• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 /**
17  * @addtogroup image
18  * @{
19  *
20  * @brief Provides APIs for access to the image interface.
21  *
22  * @since 12
23  */
24 
25 /**
26  * @file image_common.h
27  *
28  * @brief Declares the common enums and structs used by the image interface.
29  *
30  * @kit ImageKit
31  * @syscap SystemCapability.Multimedia.Image.Core
32  * @since 12
33  */
34 
35 #ifndef INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_IMAGE_COMMON_H_
36 #define INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_IMAGE_COMMON_H_
37 #include <stdint.h>
38 #include <stddef.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /**
45  * @brief Defines the image size.
46  *
47  * @since 12
48  */
49 struct Image_Size {
50     /** Image width, in pixels. */
51     uint32_t width;
52     /** Image height, in pixels. */
53     uint32_t height;
54 };
55 
56 /**
57  * @brief Declaration the image size.
58  *
59  * @since 12
60  */
61 typedef struct Image_Size Image_Size;
62 
63 /**
64  * @brief Defines the region of the image source to decode.
65  *
66  * @since 12
67  */
68 struct Image_Region {
69     /** X coordinate of the start point, in pixels. */
70     uint32_t x;
71     /** Y coordinate of the start point, in pixels. */
72     uint32_t y;
73     /** Width of the region, in pixels. */
74     uint32_t width;
75     /** Height of the region, in pixels. */
76     uint32_t height;
77 };
78 
79 /**
80  * @brief Declaration the image region.
81  *
82  * @since 12
83  */
84 typedef struct Image_Region Image_Region;
85 
86 #ifdef __cplusplus
87 /**
88  * @brief Defines the region of the image source to decode.
89  *
90  * @since 12
91  */
92 struct Image_String {
93     /** data for string type */
94     char *data = nullptr;
95     /** data lenth for string type */
96     size_t size = 0;
97 };
98 #else
99 /**
100  * @brief Defines the region of the image source to decode.
101  *
102  * @since 12
103  */
104 struct Image_String {
105     /** data for string type */
106     char *data;
107     /** data lenth for string type */
108     size_t size;
109 };
110 #endif
111 
112 /**
113  * @brief Define a PictureMetadata struct type, used for picture metadata.
114  *
115  * @since 13
116  */
117 struct OH_PictureMetadata;
118 
119 /**
120  * @brief Define a PictureMetadata struct type, used for picture metadata.
121  *
122  * @since 13
123  */
124 typedef struct OH_PictureMetadata OH_PictureMetadata;
125 
126 /**
127  * @brief Defines the property string (in key-value format) of the image source.
128  *
129  * @since 12
130  */
131 typedef struct Image_String Image_String;
132 
133 /**
134  * @brief Defines the image encode format.
135  *
136  * @since 12
137  */
138 typedef struct Image_String Image_MimeType;
139 
140 /**
141  * @brief Enumerates the return values that may be used by the interface.
142  *
143  * @since 12
144  */
145 typedef enum {
146     /** operation success */
147     IMAGE_SUCCESS = 0,
148     /** invalid parameter */
149     IMAGE_BAD_PARAMETER = 401,
150     /** unsupported mime type */
151     IMAGE_UNSUPPORTED_MIME_TYPE = 7600101,
152     /** unknown mime type */
153     IMAGE_UNKNOWN_MIME_TYPE = 7600102,
154     /** too large data or image */
155     IMAGE_TOO_LARGE = 7600103,
156     /** @error DMA memory does not exist */
157     IMAGE_DMA_NOT_EXIST = 7600173,
158     /** @error DMA operation failed */
159     IMAGE_DMA_OPERATION_FAILED = 7600174,
160     /** unsupported operations */
161     IMAGE_UNSUPPORTED_OPERATION = 7600201,
162     /** unsupported metadata */
163     IMAGE_UNSUPPORTED_METADATA = 7600202,
164     /** unsupported conversion */
165     IMAGE_UNSUPPORTED_CONVERSION = 7600203,
166     /** invalid region */
167     IMAGE_INVALID_REGION = 7600204,
168     /** @error unsupported memory format
169      *  @since 13
170      */
171     IMAGE_UNSUPPORTED_MEMORY_FORMAT = 7600205,
172     /** failed to allocate memory */
173     IMAGE_ALLOC_FAILED = 7600301,
174     /** memory copy failed */
175     IMAGE_COPY_FAILED = 7600302,
176     /**
177      * @error memory lock or unlock failed
178      * @since 15
179      */
180     IMAGE_LOCK_UNLOCK_FAILED = 7600303,
181     /** unknown error */
182     IMAGE_UNKNOWN_ERROR = 7600901,
183     /** decode data source exception */
184     IMAGE_BAD_SOURCE = 7700101,
185     /** unsupported mimetype */
186     IMAGE_SOURCE_UNSUPPORTED_MIMETYPE = 7700102,
187     /** image too large */
188     IMAGE_SOURCE_TOO_LARGE = 7700103,
189     /** unsupported allocator type */
190     IMAGE_SOURCE_UNSUPPORTED_ALLOCATOR_TYPE = 7700201,
191     /** unsupported options */
192     IMAGE_SOURCE_UNSUPPORTED_OPTIONS = 7700203,
193     /** decode failed */
194     IMAGE_DECODE_FAILED = 7700301,
195     /** memory allocation failed */
196     IMAGE_SOURCE_ALLOC_FAILED = 7700302,
197     /** encode failed */
198     IMAGE_ENCODE_FAILED = 7800301,
199 } Image_ErrorCode;
200 
201 /**
202  * @brief Define the metadata type.
203  *
204  * @since 13
205  */
206 typedef enum {
207     /*
208     * EXIF metadata.
209     */
210     EXIF_METADATA = 1,
211     /*
212     * Fragment metadata.
213     */
214     FRAGMENT_METADATA = 2,
215 } Image_MetadataType;
216 
217 /**
218  * @brief Creates a <b>PictureMetadata</b> object.
219  *
220  * @param metadataType The type of metadata.
221  * @param metadata The PictureMetadata pointer will be operated.
222  * @return Image functions result code.
223  *         {@link IMAGE_SUCCESS} if the execution is successful.
224  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
225  * @since 13
226  */
227 Image_ErrorCode OH_PictureMetadata_Create(Image_MetadataType metadataType, OH_PictureMetadata **metadata);
228 
229 /**
230  * @brief Obtains the property of picture metadata.
231  *
232  * @param metadata The PictureMetadata pointer will be operated.
233  * @param key The property's key.
234  * @param value The property's value.
235  * @return Image functions result code.
236  *         {@link IMAGE_SUCCESS} if the execution is successful.
237  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr.
238  *         {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the
239  *         auxiliary picture type.
240  * @since 13
241  */
242 Image_ErrorCode OH_PictureMetadata_GetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value);
243 
244 /**
245  * @brief Set picture metadata property.
246  *
247  * @param metadata The PictureMetadata pointer will be operated.
248  * @param key The property's key.
249  * @param value The property's value.
250  * @return Image functions result code.
251  *         {@link IMAGE_SUCCESS} if the execution is successful.
252  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr.
253  *         {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the
254  *         auxiliary picture type.
255  * @since 13
256  */
257 Image_ErrorCode OH_PictureMetadata_SetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value);
258 
259 /**
260  * @brief Releases this PictureMetadata object.
261  *
262  * @param metadata The PictureMetadata pointer will be operated.
263  * @return Image functions result code.
264  *         {@link IMAGE_SUCCESS} if the execution is successful.
265  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
266  * @since 13
267  */
268 Image_ErrorCode OH_PictureMetadata_Release(OH_PictureMetadata *metadata);
269 
270 /**
271  * @brief Obtains a clone of metadata.
272  *
273  * @param oldMetadata The PictureMetadata pointer will be operated.
274  * @param newMetadata The PictureMetadata pointer will be cloned.
275  * @return Image functions result code.
276  *         {@link IMAGE_SUCCESS} if the execution is successful.
277  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
278  *         {@link IMAGE_ALLOC_FAILED} memory alloc failed.
279  *         {@link IMAGE_COPY_FAILED} memory copy failed.
280  * @since 13
281  */
282 Image_ErrorCode OH_PictureMetadata_Clone(OH_PictureMetadata *oldMetadata, OH_PictureMetadata **newMetadata);
283 
284 /**
285  * @brief Defines the bmp mime type.
286  *
287  * @since 12
288  */
289 static const char* MIME_TYPE_BMP = "image/bmp";
290 
291 /**
292  * @brief Defines the jpeg mime type.
293  *
294  * @since 12
295  */
296 static const char* MIME_TYPE_JPEG = "image/jpeg";
297 
298 /**
299  * @brief Defines the heic mime type.
300  *
301  * @since 12
302  */
303 static const char* MIME_TYPE_HEIC = "image/heic";
304 
305 /**
306  * @brief Defines the png mime type.
307  *
308  * @since 12
309  */
310 static const char* MIME_TYPE_PNG = "image/png";
311 
312 /**
313  * @brief Defines the webp mime type.
314  *
315  * @since 12
316  */
317 static const char* MIME_TYPE_WEBP = "image/webp";
318 
319 /**
320  * @brief Defines the gif mime type.
321  *
322  * @since 12
323  */
324 static const char* MIME_TYPE_GIF = "image/gif";
325 
326 /**
327  * @brief Defines the x-icon mime type.
328  *
329  * @since 12
330  */
331 static const char* MIME_TYPE_ICON = "image/x-icon";
332 
333 /**
334  * @brief Defines a pointer to bits per sample, one of the image properties.
335  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
336  *
337  * @since 12
338  */
339 static const char *OHOS_IMAGE_PROPERTY_BITS_PER_SAMPLE = "BitsPerSample";
340 
341 /**
342  * @brief Defines a pointer to the orientation, one of the image properties.
343  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
344  *
345  * @since 12
346  */
347 static const char *OHOS_IMAGE_PROPERTY_ORIENTATION = "Orientation";
348 
349 /**
350  * @brief Defines a pointer to the image length, one of the image properties.
351  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
352  *
353  * @since 12
354  */
355 static const char *OHOS_IMAGE_PROPERTY_IMAGE_LENGTH = "ImageLength";
356 
357 /**
358  * @brief Defines a pointer to the image width, one of the image properties.
359  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
360  *
361  * @since 12
362  */
363 static const char *OHOS_IMAGE_PROPERTY_IMAGE_WIDTH = "ImageWidth";
364 
365 /**
366  * @brief Defines a pointer to the GPS latitude, one of the image properties.
367  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
368  *
369  * @since 12
370  */
371 static const char *OHOS_IMAGE_PROPERTY_GPS_LATITUDE = "GPSLatitude";
372 
373 /**
374  * @brief Defines a pointer to the GPS longitude, one of the image properties.
375  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
376  *
377  * @since 12
378  */
379 static const char *OHOS_IMAGE_PROPERTY_GPS_LONGITUDE = "GPSLongitude";
380 
381 /**
382  * @brief Defines a pointer to the GPS latitude reference information, one of the image properties.
383  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
384  *
385  * @since 12
386  */
387 static const char *OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF = "GPSLatitudeRef";
388 
389 /**
390  * @brief Defines a pointer to the GPS longitude reference information, one of the image properties.
391  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
392  *
393  * @since 12
394  */
395 static const char *OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF = "GPSLongitudeRef";
396 
397 /**
398  * @brief Defines a pointer to the created date and time, one of the image properties.
399  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
400  *
401  * @since 12
402  */
403 static const char *OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL = "DateTimeOriginal";
404 
405 /**
406  * @brief Defines a pointer to the exposure time, one of the image properties.
407  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
408  *
409  * @since 12
410  */
411 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_TIME = "ExposureTime";
412 
413 /**
414  * @brief Defines a pointer to the scene type, one of the image properties.
415  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
416  *
417  * @since 12
418  */
419 static const char *OHOS_IMAGE_PROPERTY_SCENE_TYPE = "SceneType";
420 
421 /**
422  * @brief Defines a pointer to the ISO speed ratings, one of the image properties.
423  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
424  *
425  * @since 12
426  */
427 static const char *OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS = "ISOSpeedRatings";
428 
429 /**
430  * @brief Defines a pointer to the f-number of the image, one of the image properties.
431  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
432  *
433  * @since 12
434  */
435 static const char *OHOS_IMAGE_PROPERTY_F_NUMBER = "FNumber";
436 
437 /**
438  * @brief Defines a pointer to the compressed bits per pixel, one of the image properties.
439  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
440  *
441  * @since 12
442  */
443 static const char *OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel";
444 
445 /**
446  * @brief The scheme used for image compression.
447  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
448  *
449  * @since 12
450  */
451 static const char *OHOS_IMAGE_PROPERTY_COMPRESSION = "Compression";
452 
453 /**
454  * @brief Pixel composition, such as RGB or YCbCr.
455  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
456  *
457  * @since 12
458  */
459 static const char *OHOS_IMAGE_PROPERTY_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation";
460 
461 /**
462  * @brief For each strip, the byte offset of that strip.
463  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
464  *
465  * @since 12
466  */
467 static const char *OHOS_IMAGE_PROPERTY_STRIP_OFFSETS = "StripOffsets";
468 
469 /**
470  * @brief The number of components per pixel.
471  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
472  *
473  * @since 12
474  */
475 static const char *OHOS_IMAGE_PROPERTY_SAMPLES_PER_PIXEL = "SamplesPerPixel";
476 
477 /**
478  * @brief The number of rows per strip of image data.
479  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
480  *
481  * @since 12
482  */
483 static const char *OHOS_IMAGE_PROPERTY_ROWS_PER_STRIP = "RowsPerStrip";
484 
485 /**
486  * @brief The total number of bytes in each strip of image data.
487  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
488  *
489  * @since 12
490  */
491 static const char *OHOS_IMAGE_PROPERTY_STRIP_BYTE_COUNTS = "StripByteCounts";
492 
493 /**
494  * @brief The image resolution in the width direction.
495  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
496  *
497  * @since 12
498  */
499 static const char *OHOS_IMAGE_PROPERTY_X_RESOLUTION = "XResolution";
500 
501 /**
502  * @brief The image resolution in the height direction.
503  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
504  *
505  * @since 12
506  */
507 static const char *OHOS_IMAGE_PROPERTY_Y_RESOLUTION = "YResolution";
508 
509 /**
510  * @brief Indicates whether pixel components are recorded in a chunky or planar format.
511  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
512  *
513  * @since 12
514  */
515 static const char *OHOS_IMAGE_PROPERTY_PLANAR_CONFIGURATION = "PlanarConfiguration";
516 
517 /**
518  * @brief The unit used to measure XResolution and YResolution.
519  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
520  *
521  * @since 12
522  */
523 static const char *OHOS_IMAGE_PROPERTY_RESOLUTION_UNIT = "ResolutionUnit";
524 
525 /**
526  * @brief The transfer function for the image, typically used for color correction.
527  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
528  *
529  * @since 12
530  */
531 static const char *OHOS_IMAGE_PROPERTY_TRANSFER_FUNCTION = "TransferFunction";
532 
533 /**
534  * @brief The name and version of the software used to generate the image.
535  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
536  *
537  * @since 12
538  */
539 static const char *OHOS_IMAGE_PROPERTY_SOFTWARE = "Software";
540 
541 /**
542  * @brief The name of the person who created the image.
543  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
544  *
545  * @since 12
546  */
547 static const char *OHOS_IMAGE_PROPERTY_ARTIST = "Artist";
548 
549 /**
550  * @brief The chromaticity of the white point of the image.
551  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
552  *
553  * @since 12
554  */
555 static const char *OHOS_IMAGE_PROPERTY_WHITE_POINT = "WhitePoint";
556 
557 /**
558  * @brief The chromaticity of the primary colors of the image.
559  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
560  *
561  * @since 12
562  */
563 static const char *OHOS_IMAGE_PROPERTY_PRIMARY_CHROMATICITIES = "PrimaryChromaticities";
564 
565 /**
566  * @brief The matrix coefficients for transformation from RGB to YCbCr image data.
567  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
568  *
569  * @since 12
570  */
571 static const char *OHOS_IMAGE_PROPERTY_YCBCR_COEFFICIENTS = "YCbCrCoefficients";
572 
573 /**
574  * @brief The sampling ratio of chrominance components to the luminance component.
575  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
576  *
577  * @since 12
578  */
579 static const char *OHOS_IMAGE_PROPERTY_YCBCR_SUB_SAMPLING = "YCbCrSubSampling";
580 
581 /**
582  * @brief The position of chrominance components in relation to the luminance component.
583  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
584  *
585  * @since 12
586  */
587 static const char *OHOS_IMAGE_PROPERTY_YCBCR_POSITIONING = "YCbCrPositioning";
588 
589 /**
590  * @brief The reference black point value and reference white point value.
591  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
592  *
593  * @since 12
594  */
595 static const char *OHOS_IMAGE_PROPERTY_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite";
596 
597 /**
598  * @brief Copyright information for the image.
599  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
600  *
601  * @since 12
602  */
603 static const char *OHOS_IMAGE_PROPERTY_COPYRIGHT = "Copyright";
604 
605 /**
606  * @brief The offset to the start byte (SOI) of JPEG compressed thumbnail data.
607  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
608  *
609  * @since 12
610  */
611 static const char *OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat";
612 
613 /**
614  * @brief The number of bytes of JPEG compressed thumbnail data.
615  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
616  *
617  * @since 12
618  */
619 static const char *OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength";
620 
621 /**
622  * @brief The class of the program used by the camera to set exposure when the picture is taken.
623  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
624  *
625  * @since 12
626  */
627 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_PROGRAM = "ExposureProgram";
628 
629 /**
630  * @brief Indicates the spectral sensitivity of each channel of the camera used.
631  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
632  *
633  * @since 12
634  */
635 static const char *OHOS_IMAGE_PROPERTY_SPECTRAL_SENSITIVITY = "SpectralSensitivity";
636 
637 /**
638  * @brief Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
639  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
640  *
641  * @since 12
642  */
643 static const char *OHOS_IMAGE_PROPERTY_OECF = "OECF";
644 
645 /**
646  * @brief The version of the Exif standard supported.
647  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
648  *
649  * @since 12
650  */
651 static const char *OHOS_IMAGE_PROPERTY_EXIF_VERSION = "ExifVersion";
652 
653 /**
654  * @brief The date and time when the image was stored as digital data.
655  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
656  *
657  * @since 12
658  */
659 static const char *OHOS_IMAGE_PROPERTY_DATE_TIME_DIGITIZED = "DateTimeDigitized";
660 
661 /**
662  * @brief Information specific to compressed data.
663  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
664  *
665  * @since 12
666  */
667 static const char *OHOS_IMAGE_PROPERTY_COMPONENTS_CONFIGURATION = "ComponentsConfiguration";
668 
669 /**
670  * @brief The shutter speed, expressed as an APEX (Additive System of Photographic Exposure) value.
671  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
672  *
673  * @since 12
674  */
675 static const char *OHOS_IMAGE_PROPERTY_SHUTTER_SPEED_VALUE = "ShutterSpeedValue";
676 
677 /**
678  * @brief The brightness value of the image, in APEX units.
679  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
680  *
681  * @since 12
682  */
683 static const char *OHOS_IMAGE_PROPERTY_BRIGHTNESS_VALUE = "BrightnessValue";
684 
685 /**
686  * @brief The smallest F number of lens.
687  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
688  *
689  * @since 12
690  */
691 static const char *OHOS_IMAGE_PROPERTY_MAX_APERTURE_VALUE = "MaxApertureValue";
692 
693 /**
694  * @brief The distance to the subject, measured in meters.
695  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
696  *
697  * @since 12
698  */
699 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE = "SubjectDistance";
700 
701 /**
702  * @brief This tag indicate the location and area of the main subject in the overall scene.
703  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
704  *
705  * @since 12
706  */
707 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_AREA = "SubjectArea";
708 
709 /**
710  * @brief A tag for manufacturers of Exif/DCF writers to record any desired infomation.
711  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
712  *
713  * @since 12
714  */
715 static const char *OHOS_IMAGE_PROPERTY_MAKER_NOTE = "MakerNote";
716 
717 /**
718  * @brief A tag for record fractions of seconds for the DateTime tag.
719  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
720  *
721  * @since 12
722  */
723 static const char *OHOS_IMAGE_PROPERTY_SUBSEC_TIME = "SubsecTime";
724 
725 /**
726  * @brief A tag used to record fractions of seconds for the DateTimeOriginal tag.
727  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
728  *
729  * @since 12
730  */
731 static const char *OHOS_IMAGE_PROPERTY_SUBSEC_TIME_ORIGINAL = "SubsecTimeOriginal";
732 
733 /**
734  * @brief A tag used to record fractions of seconds for the DateTimeDigitized tag.
735  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
736  *
737  * @since 12
738  */
739 static const char *OHOS_IMAGE_PROPERTY_SUBSEC_TIME_DIGITIZED = "SubsecTimeDigitized";
740 
741 /**
742  * @brief This tag denotes the Flashpix format version supported by an FPXR file, enhancing device compatibility.
743  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
744  *
745  * @since 12
746  */
747 static const char *OHOS_IMAGE_PROPERTY_FLASHPIX_VERSION = "FlashpixVersion";
748 
749 /**
750  * @brief The color space information tag, often recorded as the color space specifier.
751  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
752  *
753  * @since 12
754  */
755 static const char *OHOS_IMAGE_PROPERTY_COLOR_SPACE = "ColorSpace";
756 
757 /**
758  * @brief The name of an audio file related to the image data.
759  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
760  *
761  * @since 12
762  */
763 static const char *OHOS_IMAGE_PROPERTY_RELATED_SOUND_FILE = "RelatedSoundFile";
764 
765 /**
766  * @brief Strobe energy at image capture, in BCPS.
767  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
768  *
769  * @since 12
770  */
771 static const char *OHOS_IMAGE_PROPERTY_FLASH_ENERGY = "FlashEnergy";
772 
773 /**
774  * @brief Camera or input device spatial frequency table.
775  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
776  *
777  * @since 12
778  */
779 static const char *OHOS_IMAGE_PROPERTY_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse";
780 
781 /**
782  * @brief Pixels per FocalPlaneResolutionUnit in the image width.
783  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
784  *
785  * @since 12
786  */
787 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution";
788 
789 /**
790  * @brief Pixels per FocalPlaneResolutionUnit in the image height.
791  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
792  *
793  * @since 12
794  */
795 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution";
796 
797 /**
798  * @brief Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
799  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
800  *
801  * @since 12
802  */
803 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit";
804 
805 /**
806  * @brief Location of the main subject, relative to the left edge.
807  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
808  *
809  * @since 12
810  */
811 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_LOCATION = "SubjectLocation";
812 
813 /**
814  * @brief Selected exposure index at capture.
815  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
816  *
817  * @since 12
818  */
819 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_INDEX = "ExposureIndex";
820 
821 /**
822  * @brief Image sensor type on the camera.
823  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
824  *
825  * @since 12
826  */
827 static const char *OHOS_IMAGE_PROPERTY_SENSING_METHOD = "SensingMethod";
828 
829 /**
830  * @brief Indicates the image source.
831  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
832  *
833  * @since 12
834  */
835 static const char *OHOS_IMAGE_PROPERTY_FILE_SOURCE = "FileSource";
836 
837 /**
838  * @brief Color filter array (CFA) geometric pattern of the image sensor.
839  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
840  *
841  * @since 12
842  */
843 static const char *OHOS_IMAGE_PROPERTY_CFA_PATTERN = "CFAPattern";
844 
845 /**
846  * @brief Indicates special processing on image data.
847  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
848  *
849  * @since 12
850  */
851 static const char *OHOS_IMAGE_PROPERTY_CUSTOM_RENDERED = "CustomRendered";
852 
853 /**
854  * @brief Exposure mode set when the image was shot.
855  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
856  *
857  * @since 12
858  */
859 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_MODE = "ExposureMode";
860 
861 /**
862  * @brief Digital zoom ratio at the time of capture.
863  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
864  *
865  * @since 12
866  */
867 static const char *OHOS_IMAGE_PROPERTY_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio";
868 
869 /**
870  * @brief Type of scene captured.
871  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
872  *
873  * @since 12
874  */
875 static const char *OHOS_IMAGE_PROPERTY_SCENE_CAPTURE_TYPE = "SceneCaptureType";
876 
877 /**
878  * @brief Degree of overall image gain adjustment.
879  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
880  *
881  * @since 12
882  */
883 static const char *OHOS_IMAGE_PROPERTY_GAIN_CONTROL = "GainControl";
884 
885 /**
886  * @brief Direction of contrast processing applied by the camera.
887  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
888  *
889  * @since 12
890  */
891 static const char *OHOS_IMAGE_PROPERTY_CONTRAST = "Contrast";
892 
893 /**
894  * @brief Direction of saturation processing applied by the camera.
895  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
896  *
897  * @since 12
898  */
899 static const char *OHOS_IMAGE_PROPERTY_SATURATION = "Saturation";
900 
901 /**
902  * @brief The direction of sharpness processing applied by the camera.
903  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
904  *
905  * @since 12
906  */
907 static const char *OHOS_IMAGE_PROPERTY_SHARPNESS = "Sharpness";
908 
909 /**
910  * @brief Information on picture-taking conditions for a specific camera model.
911  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
912  *
913  * @since 12
914  */
915 static const char *OHOS_IMAGE_PROPERTY_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription";
916 
917 /**
918  * @brief Indicates the distance range to the subject.
919  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
920  *
921  * @since 12
922  */
923 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
924 
925 /**
926  * @brief An identifier uniquely assigned to each image.
927  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
928  *
929  * @since 12
930  */
931 static const char *OHOS_IMAGE_PROPERTY_IMAGE_UNIQUE_ID = "ImageUniqueID";
932 
933 /**
934  * @brief The version of the GPSInfoIFD.
935  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
936  *
937  * @since 12
938  */
939 static const char *OHOS_IMAGE_PROPERTY_GPS_VERSION_ID = "GPSVersionID";
940 
941 /**
942  * @brief Reference altitude used for GPS altitude.
943  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
944  *
945  * @since 12
946  */
947 static const char *OHOS_IMAGE_PROPERTY_GPS_ALTITUDE_REF = "GPSAltitudeRef";
948 
949 /**
950  * @brief The altitude based on the reference in GPSAltitudeRef.
951  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
952  *
953  * @since 12
954  */
955 static const char *OHOS_IMAGE_PROPERTY_GPS_ALTITUDE = "GPSAltitude";
956 
957 /**
958  * @brief The GPS satellites used for measurements.
959  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
960  *
961  * @since 12
962  */
963 static const char *OHOS_IMAGE_PROPERTY_GPS_SATELLITES = "GPSSatellites";
964 
965 /**
966  * @brief The status of the GPS receiver when the image is recorded.
967  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
968  *
969  * @since 12
970  */
971 static const char *OHOS_IMAGE_PROPERTY_GPS_STATUS = "GPSStatus";
972 
973 /**
974  * @brief The GPS measurement mode.
975  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
976  *
977  * @since 12
978  */
979 static const char *OHOS_IMAGE_PROPERTY_GPS_MEASURE_MODE = "GPSMeasureMode";
980 
981 /**
982  * @brief The GPS DOP (data degree of precision).
983  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
984  *
985  * @since 12
986  */
987 static const char *OHOS_IMAGE_PROPERTY_GPS_DOP = "GPSDOP";
988 
989 /**
990  * @brief The unit used to express the GPS receiver speed of movement.
991  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
992  *
993  * @since 12
994  */
995 static const char *OHOS_IMAGE_PROPERTY_GPS_SPEED_REF = "GPSSpeedRef";
996 
997 /**
998  * @brief The speed of GPS receiver movement.
999  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1000  *
1001  * @since 12
1002  */
1003 static const char *OHOS_IMAGE_PROPERTY_GPS_SPEED = "GPSSpeed";
1004 
1005 /**
1006  * @brief The reference for giving the direction of GPS receiver movement.
1007  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1008  *
1009  * @since 12
1010  */
1011 static const char *OHOS_IMAGE_PROPERTY_GPS_TRACK_REF = "GPSTrackRef";
1012 
1013 /**
1014  * @brief The direction of GPS receiver movement.
1015  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1016  *
1017  * @since 12
1018  */
1019 static const char *OHOS_IMAGE_PROPERTY_GPS_TRACK = "GPSTrack";
1020 
1021 /**
1022  * @brief The reference for the image's direction.
1023  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1024  *
1025  * @since 12
1026  */
1027 static const char *OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef";
1028 
1029 /**
1030  * @brief The direction of the image when captured.
1031  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1032  *
1033  * @since 12
1034  */
1035 static const char *OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION = "GPSImgDirection";
1036 
1037 /**
1038  * @brief Geodetic survey data used by the GPS receiver.
1039  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1040  *
1041  * @since 12
1042  */
1043 static const char *OHOS_IMAGE_PROPERTY_GPS_MAP_DATUM = "GPSMapDatum";
1044 
1045 /**
1046  * @brief Indicates the latitude reference of the destination point.
1047  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1048  *
1049  * @since 12
1050  */
1051 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef";
1052 
1053 /**
1054  * @brief The latitude of the destination point.
1055  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1056  *
1057  * @since 12
1058  */
1059 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE = "GPSDestLatitude";
1060 
1061 /**
1062  * @brief Indicates the longitude reference of the destination point.
1063  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1064  *
1065  * @since 12
1066  */
1067 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef";
1068 
1069 /**
1070  * @brief A character string recording the name of the method used for location finding.
1071  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1072  *
1073  * @since 12
1074  */
1075 static const char *OHOS_IMAGE_PROPERTY_GPS_PROCESSING_METHOD = "GPSProcessingMethod";
1076 
1077 /**
1078  * @brief A character string recording the name of the GPS area.
1079  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1080  *
1081  * @since 12
1082  */
1083 static const char *OHOS_IMAGE_PROPERTY_GPS_AREA_INFORMATION = "GPSAreaInformation";
1084 
1085 /**
1086  * @brief This field denotes if differential correction was applied to GPS data, crucial for precise location accuracy.
1087  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1088  *
1089  * @since 12
1090  */
1091 static const char *OHOS_IMAGE_PROPERTY_GPS_DIFFERENTIAL = "GPSDifferential";
1092 
1093 /**
1094  * @brief The serial number of the camera body.
1095  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1096  *
1097  * @since 12
1098  */
1099 static const char *OHOS_IMAGE_PROPERTY_BODY_SERIAL_NUMBER = "BodySerialNumber";
1100 
1101 /**
1102  * @brief The name of the camera owner.
1103  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1104  *
1105  * @since 12
1106  */
1107 static const char *OHOS_IMAGE_PROPERTY_CAMERA_OWNER_NAME = "CameraOwnerName";
1108 
1109 /**
1110  * @brief The name of the camera owner.
1111  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1112  *
1113  * @since 12
1114  */
1115 static const char *OHOS_IMAGE_PROPERTY_COMPOSITE_IMAGE = "CompositeImage";
1116 
1117 /**
1118  * @brief The DNGVersion tag encodes the four-tier version number for DNG specification compliance.
1119  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1120  *
1121  * @since 12
1122  */
1123 static const char *OHOS_IMAGE_PROPERTY_DNG_VERSION = "DNGVersion";
1124 
1125 /**
1126  * @brief The longitude of the destination point.
1127  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1128  *
1129  * @since 12
1130  */
1131 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE = "GPSDestLongitude";
1132 
1133 /**
1134  * @brief The reference for the bearing to the destination point.
1135  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1136  *
1137  * @since 12
1138  */
1139 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING_REF = "GPSDestBearingRef";
1140 
1141 /**
1142  * @brief The bearing to the destination point.
1143  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1144  *
1145  * @since 12
1146  */
1147 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING = "GPSDestBearing";
1148 
1149 /**
1150  * @brief The measurement unit for the distance to the target point.
1151  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1152  *
1153  * @since 12
1154  */
1155 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef";
1156 
1157 /**
1158  * @brief The distance to the destination point.
1159  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1160  *
1161  * @since 12
1162  */
1163 static const char *OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE = "GPSDestDistance";
1164 
1165 /**
1166  * @brief DefaultCropSize specifies the final image size in raw coordinates, accounting for extra edge pixels.
1167  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1168  *
1169  * @since 12
1170  */
1171 static const char *OHOS_IMAGE_PROPERTY_DEFAULT_CROP_SIZE = "DefaultCropSize";
1172 
1173 /**
1174  * @brief Indicates the value of coefficient gamma.
1175  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1176  *
1177  * @since 12
1178  */
1179 static const char *OHOS_IMAGE_PROPERTY_GAMMA = "Gamma";
1180 
1181 /**
1182  * @brief The tag indicate the ISO speed latitude yyy value of the camera or input device that is defined in ISO 12232.
1183  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1184  *
1185  * @since 12
1186  */
1187 static const char *OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEYYY = "ISOSpeedLatitudeyyy";
1188 
1189 /**
1190  * @brief The tag indicate the ISO speed latitude zzz value of the camera or input device that is defined in ISO 12232.
1191  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1192  *
1193  * @since 12
1194  */
1195 static const char *OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEZZZ = "ISOSpeedLatitudezzz";
1196 
1197 /**
1198  * @brief The manufacturer of the lens.
1199  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1200  *
1201  * @since 12
1202  */
1203 static const char *OHOS_IMAGE_PROPERTY_LENS_MAKE = "LensMake";
1204 
1205 /**
1206  * @brief The model name of the lens.
1207  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1208  *
1209  * @since 12
1210  */
1211 static const char *OHOS_IMAGE_PROPERTY_LENS_MODEL = "LensModel";
1212 
1213 /**
1214  * @brief The serial number of the lens.
1215  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1216  *
1217  * @since 12
1218  */
1219 static const char *OHOS_IMAGE_PROPERTY_LENS_SERIAL_NUMBER = "LensSerialNumber";
1220 
1221 /**
1222  * @brief Specifications of the lens used.
1223  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1224  *
1225  * @since 12
1226  */
1227 static const char *OHOS_IMAGE_PROPERTY_LENS_SPECIFICATION = "LensSpecification";
1228 
1229 /**
1230  * @brief This tag provides a broad description of the data type in this subfile.
1231  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1232  *
1233  * @since 12
1234  */
1235 static const char *OHOS_IMAGE_PROPERTY_NEW_SUBFILE_TYPE = "NewSubfileType";
1236 
1237 /**
1238  * @brief This tag records the UTC offset for the DateTime tag, ensuring accurate timestamps regardless of location.
1239  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1240  *
1241  * @since 12
1242  */
1243 static const char *OHOS_IMAGE_PROPERTY_OFFSET_TIME = "OffsetTime";
1244 
1245 /**
1246  * @brief This tag logs the UTC offset when the image was digitized, aiding in accurate timestamp adjustment.
1247  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1248  *
1249  * @since 12
1250  */
1251 static const char *OHOS_IMAGE_PROPERTY_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized";
1252 
1253 /**
1254  * @brief This tag records the UTC offset when the original image was created, crucial for time-sensitive applications.
1255  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1256  *
1257  * @since 12
1258  */
1259 static const char *OHOS_IMAGE_PROPERTY_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal";
1260 
1261 /**
1262  * @brief Exposure times of source images for a composite image.
1263  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1264  *
1265  * @since 12
1266  */
1267 static const char *OHOS_IMAGE_PROPERTY_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE = "SourceExposureTimesOfCompositeImage";
1268 
1269 /**
1270  * @brief The number of source images used for a composite image.
1271  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1272  *
1273  * @since 12
1274  */
1275 static const char *OHOS_IMAGE_PROPERTY_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE = "SourceImageNumberOfCompositeImage";
1276 
1277 /**
1278  * @brief This deprecated field signifies the type of data in this subfile. Use the NewSubfileType field instead.
1279  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1280  *
1281  * @since 12
1282  */
1283 static const char *OHOS_IMAGE_PROPERTY_SUBFILE_TYPE = "SubfileType";
1284 
1285 /**
1286  * @brief This tag indicates horizontal positioning errors in meters.
1287  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1288  *
1289  * @since 12
1290  */
1291 static const char *OHOS_IMAGE_PROPERTY_GPS_H_POSITIONING_ERROR = "GPSHPositioningError";
1292 
1293 /**
1294  * @brief This tag indicates the sensitivity of the camera or input device when the image was shot.
1295  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1296  *
1297  * @since 12
1298  */
1299 static const char *OHOS_IMAGE_PROPERTY_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity";
1300 
1301 /**
1302  * @brief Burst Number
1303  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1304  *
1305  * @since 12
1306  */
1307 static const char *OHOS_IMAGE_PROPERTY_BURST_NUMBER = "HwMnoteBurstNumber";
1308 
1309 /**
1310  * @brief Face Conf
1311  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1312  *
1313  * @since 12
1314  */
1315 static const char *OHOS_IMAGE_PROPERTY_FACE_CONF = "HwMnoteFaceConf";
1316 
1317 /**
1318  * @brief Face Leye Center
1319  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1320  *
1321  * @since 12
1322  */
1323 static const char *OHOS_IMAGE_PROPERTY_FACE_LEYE_CENTER = "HwMnoteFaceLeyeCenter";
1324 
1325 /**
1326  * @brief Face Mouth Center
1327  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1328  *
1329  * @since 12
1330  */
1331 static const char *OHOS_IMAGE_PROPERTY_FACE_MOUTH_CENTER = "HwMnoteFaceMouthCenter";
1332 
1333 /**
1334  * @brief Face Pointer
1335  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1336  *
1337  * @since 12
1338  */
1339 static const char *OHOS_IMAGE_PROPERTY_FACE_POINTER = "HwMnoteFacePointer";
1340 
1341 /**
1342  * @brief Face Rect
1343  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1344  *
1345  * @since 12
1346  */
1347 static const char *OHOS_IMAGE_PROPERTY_FACE_RECT = "HwMnoteFaceRect";
1348 
1349 /**
1350  * @brief Face Reye Center
1351  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1352  *
1353  * @since 12
1354  */
1355 static const char *OHOS_IMAGE_PROPERTY_FACE_REYE_CENTER = "HwMnoteFaceReyeCenter";
1356 
1357 /**
1358  * @brief Face Smile Score
1359  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1360  *
1361  * @since 12
1362  */
1363 static const char *OHOS_IMAGE_PROPERTY_FACE_SMILE_SCORE = "HwMnoteFaceSmileScore";
1364 
1365 /**
1366  * @brief Face Version
1367  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1368  *
1369  * @since 12
1370  */
1371 static const char *OHOS_IMAGE_PROPERTY_FACE_VERSION = "HwMnoteFaceVersion";
1372 
1373 /**
1374  * @brief Front Camera
1375  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1376  *
1377  * @since 12
1378  */
1379 static const char *OHOS_IMAGE_PROPERTY_FRONT_CAMERA = "HwMnoteFrontCamera";
1380 
1381 /**
1382  * @brief Scene Pointer
1383  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1384  *
1385  * @since 12
1386  */
1387 static const char *OHOS_IMAGE_PROPERTY_SCENE_POINTER = "HwMnoteScenePointer";
1388 
1389 /**
1390  * @brief Scene Version
1391  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1392  *
1393  * @since 12
1394  */
1395 static const char *OHOS_IMAGE_PROPERTY_SCENE_VERSION = "HwMnoteSceneVersion";
1396 
1397 /**
1398  * @brief Scene Version
1399  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1400  *
1401  * @since 12
1402  */
1403 static const char *OHOS_IMAGE_PROPERTY_GIF_LOOP_COUNT = "GIFLoopCount";
1404 #ifdef __cplusplus
1405 };
1406 #endif
1407 /** @} */
1408 
1409 #endif // INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_IMAGE_COMMON_H_
1410