• 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     /**
182      * @error unsupported allocator mode, e.g., use share memory to create a HDR image as only
183      * DMA supported hdr metadata.
184      * @since 20
185      */
186     IMAGE_ALLOCATOR_MODE_UNSUPPROTED = 7600501,
187     /** unknown error */
188     IMAGE_UNKNOWN_ERROR = 7600901,
189     /** decode data source exception */
190     IMAGE_BAD_SOURCE = 7700101,
191     /** unsupported mimetype */
192     IMAGE_SOURCE_UNSUPPORTED_MIMETYPE = 7700102,
193     /** image too large */
194     IMAGE_SOURCE_TOO_LARGE = 7700103,
195     /** unsupported allocator type */
196     IMAGE_SOURCE_UNSUPPORTED_ALLOCATOR_TYPE = 7700201,
197     /** unsupported metadata */
198     IMAGE_SOURCE_UNSUPPORTED_METADATA = 7700202,
199     /** unsupported options */
200     IMAGE_SOURCE_UNSUPPORTED_OPTIONS = 7700203,
201     /**
202      * @error Invalid parameter.
203      * @since 19
204      */
205     IMAGE_SOURCE_INVALID_PARAMETER = 7700204,
206     /** decode failed */
207     IMAGE_DECODE_FAILED = 7700301,
208     /** memory allocation failed */
209     IMAGE_SOURCE_ALLOC_FAILED = 7700302,
210     /**
211      * @error Invalid parameter for ImagePacker.
212      * @since 20
213      */
214     IMAGE_PACKER_INVALID_PARAMETER = 7800202,
215     /** encode failed */
216     IMAGE_ENCODE_FAILED = 7800301,
217     /**
218      * @error Invalid parameter for picture.
219      * @since 19
220      */
221     IMAGE_INVALID_PARAMETER = 7800302,
222     /**
223      * @error Invalid parameter for ImageReceiver
224      * @since 20
225      */
226     IMAGE_RECEIVER_INVALID_PARAMETER = 7900201,
227 } Image_ErrorCode;
228 
229 /**
230  * @brief Type of allocator used to allocate memory of a PixelMap.
231  *
232  * @since 20
233  */
234 typedef enum {
235     /**
236      * The system determines which memory to use to create the PixelMap.
237      */
238     IMAGE_ALLOCATOR_MODE_AUTO = 0,
239     /**
240      * Use DMA buffer to create the PixelMap.
241      */
242     IMAGE_ALLOCATOR_MODE_DMA = 1,
243     /**
244      * Use share memory to create the PixelMap.
245      */
246     IMAGE_ALLOCATOR_MODE_SHARED_MEMORY = 2,
247 } IMAGE_ALLOCATOR_MODE;
248 
249 /**
250  * @brief Define the metadata type.
251  *
252  * @since 13
253  */
254 typedef enum {
255     /**
256      * EXIF metadata.
257      */
258     EXIF_METADATA = 1,
259 
260     /**
261      * Fragment metadata.
262      */
263     FRAGMENT_METADATA = 2,
264 
265     /**
266      * Metadata of a GIF image.
267      *
268      * @since 20
269      */
270     GIF_METADATA = 5
271 } Image_MetadataType;
272 
273 /**
274  * @brief Creates a <b>PictureMetadata</b> object.
275  *
276  * @param metadataType The type of metadata.
277  * @param metadata The PictureMetadata pointer will be operated.
278  * @return Image functions result code.
279  *         {@link IMAGE_SUCCESS} if the execution is successful.
280  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
281  * @since 13
282  */
283 Image_ErrorCode OH_PictureMetadata_Create(Image_MetadataType metadataType, OH_PictureMetadata **metadata);
284 
285 /**
286  * @brief Obtains the property of picture metadata.
287  *
288  * @param metadata The PictureMetadata pointer will be operated.
289  * @param key The property's key.
290  * @param value The property's value.
291  * @return Image functions result code.
292  *         {@link IMAGE_SUCCESS} if the execution is successful.
293  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr.
294  *         {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the
295  *         auxiliary picture type.
296  * @since 13
297  */
298 Image_ErrorCode OH_PictureMetadata_GetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value);
299 
300 /**
301  * @brief Set picture metadata property.
302  *
303  * @param metadata The PictureMetadata pointer will be operated.
304  * @param key The property's key.
305  * @param value The property's value.
306  * @return Image functions result code.
307  *         {@link IMAGE_SUCCESS} if the execution is successful.
308  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr.
309  *         {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the
310  *         auxiliary picture type.
311  * @since 13
312  */
313 Image_ErrorCode OH_PictureMetadata_SetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value);
314 
315 /**
316  * @brief Obtains the property of picture metadata. The output value.data is null-terminated.
317  *
318  * @param metadata The PictureMetadata pointer will be operated.
319  * @param key The property's key.
320  * @param value The property's value.
321  * @return Image functions result code:
322  *         {@link IMAGE_SUCCESS} if successful.
323  *         {@link IMAGE_INVALID_PARAMETER} metadata or key or value is nullptr.
324  *         {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the
325  *         auxiliary picture type.
326  * @since 19
327  */
328 Image_ErrorCode OH_PictureMetadata_GetPropertyWithNull(OH_PictureMetadata *metadata,
329                                                        Image_String *key, Image_String *value);
330 
331 /**
332  * @brief Releases this PictureMetadata object.
333  *
334  * @param metadata The PictureMetadata pointer will be operated.
335  * @return Image functions result code.
336  *         {@link IMAGE_SUCCESS} if the execution is successful.
337  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
338  * @since 13
339  */
340 Image_ErrorCode OH_PictureMetadata_Release(OH_PictureMetadata *metadata);
341 
342 /**
343  * @brief Obtains a clone of metadata.
344  *
345  * @param oldMetadata The PictureMetadata pointer will be operated.
346  * @param newMetadata The PictureMetadata pointer will be cloned.
347  * @return Image functions result code.
348  *         {@link IMAGE_SUCCESS} if the execution is successful.
349  *         {@link IMAGE_BAD_PARAMETER} metadata is nullptr.
350  *         {@link IMAGE_ALLOC_FAILED} memory alloc failed.
351  *         {@link IMAGE_COPY_FAILED} memory copy failed.
352  * @since 13
353  */
354 Image_ErrorCode OH_PictureMetadata_Clone(OH_PictureMetadata *oldMetadata, OH_PictureMetadata **newMetadata);
355 
356 /**
357  * @brief Defines the bmp mime type.
358  *
359  * @since 12
360  */
361 static const char* MIME_TYPE_BMP = "image/bmp";
362 
363 /**
364  * @brief Defines the jpeg mime type.
365  *
366  * @since 12
367  */
368 static const char* MIME_TYPE_JPEG = "image/jpeg";
369 
370 /**
371  * @brief Defines the heic mime type.
372  *
373  * @since 12
374  */
375 static const char* MIME_TYPE_HEIC = "image/heic";
376 
377 /**
378  * @brief Defines the png mime type.
379  *
380  * @since 12
381  */
382 static const char* MIME_TYPE_PNG = "image/png";
383 
384 /**
385  * @brief Defines the webp mime type.
386  *
387  * @since 12
388  */
389 static const char* MIME_TYPE_WEBP = "image/webp";
390 
391 /**
392  * @brief Defines the gif mime type.
393  *
394  * @since 12
395  */
396 static const char* MIME_TYPE_GIF = "image/gif";
397 
398 /**
399  * @brief Defines the x-icon mime type.
400  *
401  * @since 12
402  */
403 static const char* MIME_TYPE_ICON = "image/x-icon";
404 
405 /**
406  * @brief Defines a pointer to bits per sample, 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_BITS_PER_SAMPLE = "BitsPerSample";
412 
413 /**
414  * @brief Defines a pointer to the orientation, 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_ORIENTATION = "Orientation";
420 
421 /**
422  * @brief Defines a pointer to the image length, 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_IMAGE_LENGTH = "ImageLength";
428 
429 /**
430  * @brief Defines a pointer to the image width, 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_IMAGE_WIDTH = "ImageWidth";
436 
437 /**
438  * @brief Defines a pointer to the GPS latitude, 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_GPS_LATITUDE = "GPSLatitude";
444 
445 /**
446  * @brief Defines a pointer to the GPS longitude, one of the image properties.
447  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
448  *
449  * @since 12
450  */
451 static const char *OHOS_IMAGE_PROPERTY_GPS_LONGITUDE = "GPSLongitude";
452 
453 /**
454  * @brief Defines a pointer to the GPS latitude reference information, one of the image properties.
455  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
456  *
457  * @since 12
458  */
459 static const char *OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF = "GPSLatitudeRef";
460 
461 /**
462  * @brief Defines a pointer to the GPS longitude reference information, one of the image properties.
463  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
464  *
465  * @since 12
466  */
467 static const char *OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF = "GPSLongitudeRef";
468 
469 /**
470  * @brief Defines a pointer to the created date and time, one of the image properties.
471  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
472  *
473  * @since 12
474  */
475 static const char *OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL = "DateTimeOriginal";
476 
477 /**
478  * @brief Defines a pointer to the exposure time, one of the image properties.
479  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
480  *
481  * @since 12
482  */
483 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_TIME = "ExposureTime";
484 
485 /**
486  * @brief Defines a pointer to the scene type, one of the image properties.
487  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
488  *
489  * @since 12
490  */
491 static const char *OHOS_IMAGE_PROPERTY_SCENE_TYPE = "SceneType";
492 
493 /**
494  * @brief Defines a pointer to the ISO speed ratings, one of the image properties.
495  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
496  *
497  * @since 12
498  */
499 static const char *OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS = "ISOSpeedRatings";
500 
501 /**
502  * @brief Defines a pointer to the f-number of the image, one of the image properties.
503  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
504  *
505  * @since 12
506  */
507 static const char *OHOS_IMAGE_PROPERTY_F_NUMBER = "FNumber";
508 
509 /**
510  * @brief Defines a pointer to the compressed bits per pixel, one of the image properties.
511  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
512  *
513  * @since 12
514  */
515 static const char *OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel";
516 
517 /**
518  * @brief The scheme used for image compression.
519  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
520  *
521  * @since 12
522  */
523 static const char *OHOS_IMAGE_PROPERTY_COMPRESSION = "Compression";
524 
525 /**
526  * @brief Pixel composition, such as RGB or YCbCr.
527  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
528  *
529  * @since 12
530  */
531 static const char *OHOS_IMAGE_PROPERTY_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation";
532 
533 /**
534  * @brief For each strip, the byte offset of that strip.
535  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
536  *
537  * @since 12
538  */
539 static const char *OHOS_IMAGE_PROPERTY_STRIP_OFFSETS = "StripOffsets";
540 
541 /**
542  * @brief The number of components per pixel.
543  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
544  *
545  * @since 12
546  */
547 static const char *OHOS_IMAGE_PROPERTY_SAMPLES_PER_PIXEL = "SamplesPerPixel";
548 
549 /**
550  * @brief The number of rows per strip of image data.
551  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
552  *
553  * @since 12
554  */
555 static const char *OHOS_IMAGE_PROPERTY_ROWS_PER_STRIP = "RowsPerStrip";
556 
557 /**
558  * @brief The total number of bytes in each strip of image data.
559  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
560  *
561  * @since 12
562  */
563 static const char *OHOS_IMAGE_PROPERTY_STRIP_BYTE_COUNTS = "StripByteCounts";
564 
565 /**
566  * @brief The image resolution in the width direction.
567  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
568  *
569  * @since 12
570  */
571 static const char *OHOS_IMAGE_PROPERTY_X_RESOLUTION = "XResolution";
572 
573 /**
574  * @brief The image resolution in the height direction.
575  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
576  *
577  * @since 12
578  */
579 static const char *OHOS_IMAGE_PROPERTY_Y_RESOLUTION = "YResolution";
580 
581 /**
582  * @brief Indicates whether pixel components are recorded in a chunky or planar format.
583  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
584  *
585  * @since 12
586  */
587 static const char *OHOS_IMAGE_PROPERTY_PLANAR_CONFIGURATION = "PlanarConfiguration";
588 
589 /**
590  * @brief The unit used to measure XResolution and YResolution.
591  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
592  *
593  * @since 12
594  */
595 static const char *OHOS_IMAGE_PROPERTY_RESOLUTION_UNIT = "ResolutionUnit";
596 
597 /**
598  * @brief The transfer function for the image, typically used for color correction.
599  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
600  *
601  * @since 12
602  */
603 static const char *OHOS_IMAGE_PROPERTY_TRANSFER_FUNCTION = "TransferFunction";
604 
605 /**
606  * @brief The name and version of the software used to generate the image.
607  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
608  *
609  * @since 12
610  */
611 static const char *OHOS_IMAGE_PROPERTY_SOFTWARE = "Software";
612 
613 /**
614  * @brief The name of the person who created the image.
615  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
616  *
617  * @since 12
618  */
619 static const char *OHOS_IMAGE_PROPERTY_ARTIST = "Artist";
620 
621 /**
622  * @brief The chromaticity of the white point of the image.
623  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
624  *
625  * @since 12
626  */
627 static const char *OHOS_IMAGE_PROPERTY_WHITE_POINT = "WhitePoint";
628 
629 /**
630  * @brief The chromaticity of the primary colors of the image.
631  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
632  *
633  * @since 12
634  */
635 static const char *OHOS_IMAGE_PROPERTY_PRIMARY_CHROMATICITIES = "PrimaryChromaticities";
636 
637 /**
638  * @brief The matrix coefficients for transformation from RGB to YCbCr image data.
639  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
640  *
641  * @since 12
642  */
643 static const char *OHOS_IMAGE_PROPERTY_YCBCR_COEFFICIENTS = "YCbCrCoefficients";
644 
645 /**
646  * @brief The sampling ratio of chrominance components to the luminance component.
647  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
648  *
649  * @since 12
650  */
651 static const char *OHOS_IMAGE_PROPERTY_YCBCR_SUB_SAMPLING = "YCbCrSubSampling";
652 
653 /**
654  * @brief The position of chrominance components in relation to the luminance component.
655  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
656  *
657  * @since 12
658  */
659 static const char *OHOS_IMAGE_PROPERTY_YCBCR_POSITIONING = "YCbCrPositioning";
660 
661 /**
662  * @brief The reference black point value and reference white point value.
663  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
664  *
665  * @since 12
666  */
667 static const char *OHOS_IMAGE_PROPERTY_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite";
668 
669 /**
670  * @brief Copyright information for the image.
671  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
672  *
673  * @since 12
674  */
675 static const char *OHOS_IMAGE_PROPERTY_COPYRIGHT = "Copyright";
676 
677 /**
678  * @brief The offset to the start byte (SOI) of JPEG compressed thumbnail data.
679  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
680  *
681  * @since 12
682  */
683 static const char *OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat";
684 
685 /**
686  * @brief The number of bytes of JPEG compressed thumbnail data.
687  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
688  *
689  * @since 12
690  */
691 static const char *OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength";
692 
693 /**
694  * @brief The class of the program used by the camera to set exposure when the picture is taken.
695  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
696  *
697  * @since 12
698  */
699 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_PROGRAM = "ExposureProgram";
700 
701 /**
702  * @brief Indicates the spectral sensitivity of each channel of the camera used.
703  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
704  *
705  * @since 12
706  */
707 static const char *OHOS_IMAGE_PROPERTY_SPECTRAL_SENSITIVITY = "SpectralSensitivity";
708 
709 /**
710  * @brief Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
711  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
712  *
713  * @since 12
714  */
715 static const char *OHOS_IMAGE_PROPERTY_OECF = "OECF";
716 
717 /**
718  * @brief The version of the Exif standard supported.
719  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
720  *
721  * @since 12
722  */
723 static const char *OHOS_IMAGE_PROPERTY_EXIF_VERSION = "ExifVersion";
724 
725 /**
726  * @brief The date and time when the image was stored as digital data.
727  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
728  *
729  * @since 12
730  */
731 static const char *OHOS_IMAGE_PROPERTY_DATE_TIME_DIGITIZED = "DateTimeDigitized";
732 
733 /**
734  * @brief Information specific to compressed data.
735  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
736  *
737  * @since 12
738  */
739 static const char *OHOS_IMAGE_PROPERTY_COMPONENTS_CONFIGURATION = "ComponentsConfiguration";
740 
741 /**
742  * @brief The shutter speed, expressed as an APEX (Additive System of Photographic Exposure) value.
743  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
744  *
745  * @since 12
746  */
747 static const char *OHOS_IMAGE_PROPERTY_SHUTTER_SPEED_VALUE = "ShutterSpeedValue";
748 
749 /**
750  * @brief The brightness value of the image, in APEX units.
751  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
752  *
753  * @since 12
754  */
755 static const char *OHOS_IMAGE_PROPERTY_BRIGHTNESS_VALUE = "BrightnessValue";
756 
757 /**
758  * @brief The smallest F number of lens.
759  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
760  *
761  * @since 12
762  */
763 static const char *OHOS_IMAGE_PROPERTY_MAX_APERTURE_VALUE = "MaxApertureValue";
764 
765 /**
766  * @brief The distance to the subject, measured in meters.
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_SUBJECT_DISTANCE = "SubjectDistance";
772 
773 /**
774  * @brief This tag indicate the location and area of the main subject in the overall scene.
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_SUBJECT_AREA = "SubjectArea";
780 
781 /**
782  * @brief A tag for manufacturers of Exif/DCF writers to record any desired infomation.
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_MAKER_NOTE = "MakerNote";
788 
789 /**
790  * @brief A tag for record fractions of seconds for the DateTime tag.
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_SUBSEC_TIME = "SubsecTime";
796 
797 /**
798  * @brief A tag used to record fractions of seconds for the DateTimeOriginal tag.
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_SUBSEC_TIME_ORIGINAL = "SubsecTimeOriginal";
804 
805 /**
806  * @brief A tag used to record fractions of seconds for the DateTimeDigitized tag.
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_SUBSEC_TIME_DIGITIZED = "SubsecTimeDigitized";
812 
813 /**
814  * @brief This tag denotes the Flashpix format version supported by an FPXR file, enhancing device compatibility.
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_FLASHPIX_VERSION = "FlashpixVersion";
820 
821 /**
822  * @brief The color space information tag, often recorded as the color space specifier.
823  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
824  *
825  * @since 12
826  */
827 static const char *OHOS_IMAGE_PROPERTY_COLOR_SPACE = "ColorSpace";
828 
829 /**
830  * @brief The name of an audio file related to the image data.
831  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
832  *
833  * @since 12
834  */
835 static const char *OHOS_IMAGE_PROPERTY_RELATED_SOUND_FILE = "RelatedSoundFile";
836 
837 /**
838  * @brief Strobe energy at image capture, in BCPS.
839  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
840  *
841  * @since 12
842  */
843 static const char *OHOS_IMAGE_PROPERTY_FLASH_ENERGY = "FlashEnergy";
844 
845 /**
846  * @brief Camera or input device spatial frequency table.
847  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
848  *
849  * @since 12
850  */
851 static const char *OHOS_IMAGE_PROPERTY_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse";
852 
853 /**
854  * @brief Pixels per FocalPlaneResolutionUnit in the image width.
855  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
856  *
857  * @since 12
858  */
859 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution";
860 
861 /**
862  * @brief Pixels per FocalPlaneResolutionUnit in the image height.
863  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
864  *
865  * @since 12
866  */
867 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution";
868 
869 /**
870  * @brief Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
871  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
872  *
873  * @since 12
874  */
875 static const char *OHOS_IMAGE_PROPERTY_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit";
876 
877 /**
878  * @brief Location of the main subject, relative to the left edge.
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_SUBJECT_LOCATION = "SubjectLocation";
884 
885 /**
886  * @brief Selected exposure index at capture.
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_EXPOSURE_INDEX = "ExposureIndex";
892 
893 /**
894  * @brief Image sensor type on 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_SENSING_METHOD = "SensingMethod";
900 
901 /**
902  * @brief Indicates the image source.
903  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
904  *
905  * @since 12
906  */
907 static const char *OHOS_IMAGE_PROPERTY_FILE_SOURCE = "FileSource";
908 
909 /**
910  * @brief Color filter array (CFA) geometric pattern of the image sensor.
911  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
912  *
913  * @since 12
914  */
915 static const char *OHOS_IMAGE_PROPERTY_CFA_PATTERN = "CFAPattern";
916 
917 /**
918  * @brief Indicates special processing on image data.
919  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
920  *
921  * @since 12
922  */
923 static const char *OHOS_IMAGE_PROPERTY_CUSTOM_RENDERED = "CustomRendered";
924 
925 /**
926  * @brief Exposure mode set when the image was shot.
927  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
928  *
929  * @since 12
930  */
931 static const char *OHOS_IMAGE_PROPERTY_EXPOSURE_MODE = "ExposureMode";
932 
933 /**
934  * @brief Digital zoom ratio at the time of capture.
935  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
936  *
937  * @since 12
938  */
939 static const char *OHOS_IMAGE_PROPERTY_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio";
940 
941 /**
942  * @brief Type of scene captured.
943  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
944  *
945  * @since 12
946  */
947 static const char *OHOS_IMAGE_PROPERTY_SCENE_CAPTURE_TYPE = "SceneCaptureType";
948 
949 /**
950  * @brief Degree of overall image gain adjustment.
951  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
952  *
953  * @since 12
954  */
955 static const char *OHOS_IMAGE_PROPERTY_GAIN_CONTROL = "GainControl";
956 
957 /**
958  * @brief Direction of contrast processing applied by the camera.
959  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
960  *
961  * @since 12
962  */
963 static const char *OHOS_IMAGE_PROPERTY_CONTRAST = "Contrast";
964 
965 /**
966  * @brief Direction of saturation processing applied by the camera.
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_SATURATION = "Saturation";
972 
973 /**
974  * @brief The direction of sharpness processing applied by the camera.
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_SHARPNESS = "Sharpness";
980 
981 /**
982  * @brief Information on picture-taking conditions for a specific camera model.
983  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
984  *
985  * @since 12
986  */
987 static const char *OHOS_IMAGE_PROPERTY_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription";
988 
989 /**
990  * @brief Indicates the distance range to the subject.
991  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
992  *
993  * @since 12
994  */
995 static const char *OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
996 
997 /**
998  * @brief An identifier uniquely assigned to each image.
999  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1000  *
1001  * @since 12
1002  */
1003 static const char *OHOS_IMAGE_PROPERTY_IMAGE_UNIQUE_ID = "ImageUniqueID";
1004 
1005 /**
1006  * @brief The version of the GPSInfoIFD.
1007  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1008  *
1009  * @since 12
1010  */
1011 static const char *OHOS_IMAGE_PROPERTY_GPS_VERSION_ID = "GPSVersionID";
1012 
1013 /**
1014  * @brief Reference altitude used for GPS altitude.
1015  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1016  *
1017  * @since 12
1018  */
1019 static const char *OHOS_IMAGE_PROPERTY_GPS_ALTITUDE_REF = "GPSAltitudeRef";
1020 
1021 /**
1022  * @brief The altitude based on the reference in GPSAltitudeRef.
1023  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1024  *
1025  * @since 12
1026  */
1027 static const char *OHOS_IMAGE_PROPERTY_GPS_ALTITUDE = "GPSAltitude";
1028 
1029 /**
1030  * @brief The GPS satellites used for measurements.
1031  * Used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1032  *
1033  * @since 12
1034  */
1035 static const char *OHOS_IMAGE_PROPERTY_GPS_SATELLITES = "GPSSatellites";
1036 
1037 /**
1038  * @brief The status of the GPS receiver when the image is recorded.
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_STATUS = "GPSStatus";
1044 
1045 /**
1046  * @brief The GPS measurement mode.
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_MEASURE_MODE = "GPSMeasureMode";
1052 
1053 /**
1054  * @brief The GPS DOP (data degree of precision).
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_DOP = "GPSDOP";
1060 
1061 /**
1062  * @brief The unit used to express the GPS receiver speed of movement.
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_SPEED_REF = "GPSSpeedRef";
1068 
1069 /**
1070  * @brief The speed of GPS receiver movement.
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_SPEED = "GPSSpeed";
1076 
1077 /**
1078  * @brief The reference for giving the direction of GPS receiver movement.
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_TRACK_REF = "GPSTrackRef";
1084 
1085 /**
1086  * @brief The direction of GPS receiver movement.
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_TRACK = "GPSTrack";
1092 
1093 /**
1094  * @brief The reference for the image's direction.
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_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef";
1100 
1101 /**
1102  * @brief The direction of the image when captured.
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_GPS_IMG_DIRECTION = "GPSImgDirection";
1108 
1109 /**
1110  * @brief Geodetic survey data used by the GPS receiver.
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_GPS_MAP_DATUM = "GPSMapDatum";
1116 
1117 /**
1118  * @brief Indicates the latitude reference of the destination point.
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_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef";
1124 
1125 /**
1126  * @brief The latitude 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_LATITUDE = "GPSDestLatitude";
1132 
1133 /**
1134  * @brief Indicates the longitude reference of 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_LONGITUDE_REF = "GPSDestLongitudeRef";
1140 
1141 /**
1142  * @brief A character string recording the name of the method used for location finding.
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_PROCESSING_METHOD = "GPSProcessingMethod";
1148 
1149 /**
1150  * @brief A character string recording the name of the GPS area.
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_AREA_INFORMATION = "GPSAreaInformation";
1156 
1157 /**
1158  * @brief This field denotes if differential correction was applied to GPS data, crucial for precise location accuracy.
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_DIFFERENTIAL = "GPSDifferential";
1164 
1165 /**
1166  * @brief The serial number of the camera body.
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_BODY_SERIAL_NUMBER = "BodySerialNumber";
1172 
1173 /**
1174  * @brief The name of the camera owner.
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_CAMERA_OWNER_NAME = "CameraOwnerName";
1180 
1181 /**
1182  * @brief The name of the camera owner.
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_COMPOSITE_IMAGE = "CompositeImage";
1188 
1189 /**
1190  * @brief The DNGVersion tag encodes the four-tier version number for DNG specification compliance.
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_DNG_VERSION = "DNGVersion";
1196 
1197 /**
1198  * @brief The longitude of the destination point.
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_GPS_DEST_LONGITUDE = "GPSDestLongitude";
1204 
1205 /**
1206  * @brief The reference for the bearing to the destination point.
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_GPS_DEST_BEARING_REF = "GPSDestBearingRef";
1212 
1213 /**
1214  * @brief The bearing to the destination point.
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_GPS_DEST_BEARING = "GPSDestBearing";
1220 
1221 /**
1222  * @brief The measurement unit for the distance to the target point.
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_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef";
1228 
1229 /**
1230  * @brief The distance to the destination point.
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_GPS_DEST_DISTANCE = "GPSDestDistance";
1236 
1237 /**
1238  * @brief DefaultCropSize specifies the final image size in raw coordinates, accounting for extra edge pixels.
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_DEFAULT_CROP_SIZE = "DefaultCropSize";
1244 
1245 /**
1246  * @brief Indicates the value of coefficient gamma.
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_GAMMA = "Gamma";
1252 
1253 /**
1254  * @brief The tag indicate the ISO speed latitude yyy value of the camera or input device that is defined in ISO 12232.
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_ISO_SPEED_LATITUDEYYY = "ISOSpeedLatitudeyyy";
1260 
1261 /**
1262  * @brief The tag indicate the ISO speed latitude zzz value of the camera or input device that is defined in ISO 12232.
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_ISO_SPEED_LATITUDEZZZ = "ISOSpeedLatitudezzz";
1268 
1269 /**
1270  * @brief The manufacturer of the lens.
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_LENS_MAKE = "LensMake";
1276 
1277 /**
1278  * @brief The model name of the lens.
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_LENS_MODEL = "LensModel";
1284 
1285 /**
1286  * @brief The serial number of the lens.
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_LENS_SERIAL_NUMBER = "LensSerialNumber";
1292 
1293 /**
1294  * @brief Specifications of the lens used.
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_LENS_SPECIFICATION = "LensSpecification";
1300 
1301 /**
1302  * @brief This tag provides a broad description of the data type in this subfile.
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_NEW_SUBFILE_TYPE = "NewSubfileType";
1308 
1309 /**
1310  * @brief This tag records the UTC offset for the DateTime tag, ensuring accurate timestamps regardless of location.
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_OFFSET_TIME = "OffsetTime";
1316 
1317 /**
1318  * @brief This tag logs the UTC offset when the image was digitized, aiding in accurate timestamp adjustment.
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_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized";
1324 
1325 /**
1326  * @brief This tag records the UTC offset when the original image was created, crucial for time-sensitive applications.
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_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal";
1332 
1333 /**
1334  * @brief Exposure times of source images for a composite image.
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_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE = "SourceExposureTimesOfCompositeImage";
1340 
1341 /**
1342  * @brief The number of source images used for a composite image.
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_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE = "SourceImageNumberOfCompositeImage";
1348 
1349 /**
1350  * @brief This deprecated field signifies the type of data in this subfile. Use the NewSubfileType field instead.
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_SUBFILE_TYPE = "SubfileType";
1356 
1357 /**
1358  * @brief This tag indicates horizontal positioning errors in meters.
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_GPS_H_POSITIONING_ERROR = "GPSHPositioningError";
1364 
1365 /**
1366  * @brief This tag indicates the sensitivity of the camera or input device when the image was shot.
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_PHOTOGRAPHIC_SENSITIVITY = "PhotographicSensitivity";
1372 
1373 /**
1374  * @brief Burst Number
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_BURST_NUMBER = "HwMnoteBurstNumber";
1380 
1381 /**
1382  * @brief Face Conf
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_FACE_CONF = "HwMnoteFaceConf";
1388 
1389 /**
1390  * @brief Face Leye Center
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_FACE_LEYE_CENTER = "HwMnoteFaceLeyeCenter";
1396 
1397 /**
1398  * @brief Face Mouth Center
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_FACE_MOUTH_CENTER = "HwMnoteFaceMouthCenter";
1404 
1405 /**
1406  * @brief Face Pointer
1407  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1408  *
1409  * @since 12
1410  */
1411 static const char *OHOS_IMAGE_PROPERTY_FACE_POINTER = "HwMnoteFacePointer";
1412 
1413 /**
1414  * @brief Face Rect
1415  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1416  *
1417  * @since 12
1418  */
1419 static const char *OHOS_IMAGE_PROPERTY_FACE_RECT = "HwMnoteFaceRect";
1420 
1421 /**
1422  * @brief Face Reye Center
1423  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1424  *
1425  * @since 12
1426  */
1427 static const char *OHOS_IMAGE_PROPERTY_FACE_REYE_CENTER = "HwMnoteFaceReyeCenter";
1428 
1429 /**
1430  * @brief Face Smile Score
1431  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1432  *
1433  * @since 12
1434  */
1435 static const char *OHOS_IMAGE_PROPERTY_FACE_SMILE_SCORE = "HwMnoteFaceSmileScore";
1436 
1437 /**
1438  * @brief Face Version
1439  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1440  *
1441  * @since 12
1442  */
1443 static const char *OHOS_IMAGE_PROPERTY_FACE_VERSION = "HwMnoteFaceVersion";
1444 
1445 /**
1446  * @brief Front Camera
1447  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1448  *
1449  * @since 12
1450  */
1451 static const char *OHOS_IMAGE_PROPERTY_FRONT_CAMERA = "HwMnoteFrontCamera";
1452 
1453 /**
1454  * @brief Scene Pointer
1455  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1456  *
1457  * @since 12
1458  */
1459 static const char *OHOS_IMAGE_PROPERTY_SCENE_POINTER = "HwMnoteScenePointer";
1460 
1461 /**
1462  * @brief Scene Version
1463  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1464  *
1465  * @since 12
1466  */
1467 static const char *OHOS_IMAGE_PROPERTY_SCENE_VERSION = "HwMnoteSceneVersion";
1468 
1469 /**
1470  * @brief Scene Version
1471  * It is used in {@link OH_ImageSource_GetImageProperty} and {@link OH_ImageSource_ModifyImageProperty}.
1472  *
1473  * @since 12
1474  */
1475 static const char *OHOS_IMAGE_PROPERTY_GIF_LOOP_COUNT = "GIFLoopCount";
1476 
1477 /**
1478  * @brief Delay time of each frame in a GIF image in milliseconds.
1479  *
1480  * @since 20
1481  */
1482 static const char *IMAGE_PROPERTY_GIF_DELAY_TIME = "GifDelayTime";
1483 
1484 /**
1485  * @brief Disposal type of each frame in gif.
1486  *
1487  * @since 20
1488  */
1489 static const char *IMAGE_PROPERTY_GIF_DISPOSAL_TYPE = "GifDisposalType";
1490 #ifdef __cplusplus
1491 };
1492 #endif
1493 /** @} */
1494 
1495 #endif // INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_IMAGE_COMMON_H_
1496