• 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  * @syscap SystemCapability.Multimedia.Image.Core
23  * @since 10
24  * @version 2.0
25  */
26 
27 /**
28  * @file image_mdk_common.h
29  *
30  * @brief Declares the common enums and structs used by the image interface.
31  *
32  * @kit ImageKit
33  * @library libimage_ndk.z.so
34  * @syscap SystemCapability.Multimedia.Image.Core
35  * @since 10
36  * @version 2.0
37  */
38 
39 #ifndef INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_COMMON_H_
40 #define INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_COMMON_H_
41 #include <stdint.h>
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 #define IMAGE_RESULT_BASE 62980096
47 /**
48  * @brief Enumerates the return values that may be used by the interface.
49  *
50  * @since 10
51  * @version 2.0
52  */
53 typedef enum {
54     IMAGE_RESULT_SUCCESS = 0,                                      // Operation success
55     IMAGE_RESULT_BAD_PARAMETER = -1,                               // Invalid parameter
56     IMAGE_RESULT_IMAGE_RESULT_BASE = IMAGE_RESULT_BASE,            // Operation failed
57     IMAGE_RESULT_ERR_IPC = IMAGE_RESULT_BASE + 1,                  // ipc error
58     IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST = IMAGE_RESULT_BASE + 2,     // sharememory error
59     IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL = IMAGE_RESULT_BASE + 3, // sharememory data abnormal
60     IMAGE_RESULT_DECODE_ABNORMAL = IMAGE_RESULT_BASE + 4,          // image decode error
61     IMAGE_RESULT_DATA_ABNORMAL = IMAGE_RESULT_BASE + 5,            // image input data error
62     IMAGE_RESULT_MALLOC_ABNORMAL = IMAGE_RESULT_BASE + 6,          // image malloc error
63     IMAGE_RESULT_DATA_UNSUPPORT = IMAGE_RESULT_BASE + 7,           // image type unsupported
64     IMAGE_RESULT_INIT_ABNORMAL = IMAGE_RESULT_BASE + 8,            // image init error
65     IMAGE_RESULT_GET_DATA_ABNORMAL = IMAGE_RESULT_BASE + 9,        // image get data error
66     IMAGE_RESULT_TOO_LARGE = IMAGE_RESULT_BASE + 10,               // image data too large
67     IMAGE_RESULT_TRANSFORM = IMAGE_RESULT_BASE + 11,               // image transform error
68     IMAGE_RESULT_COLOR_CONVERT = IMAGE_RESULT_BASE + 12,           // image color convert error
69     IMAGE_RESULT_CROP = IMAGE_RESULT_BASE + 13,                    // crop error
70     IMAGE_RESULT_SOURCE_DATA = IMAGE_RESULT_BASE + 14,             // image source data error
71     IMAGE_RESULT_SOURCE_DATA_INCOMPLETE = IMAGE_RESULT_BASE + 15,  // image source data incomplete
72     IMAGE_RESULT_MISMATCHED_FORMAT = IMAGE_RESULT_BASE + 16,       // image mismatched format
73     IMAGE_RESULT_UNKNOWN_FORMAT = IMAGE_RESULT_BASE + 17,          // image unknown format
74     IMAGE_RESULT_SOURCE_UNRESOLVED = IMAGE_RESULT_BASE + 18,       // image source unresolved
75     IMAGE_RESULT_INVALID_PARAMETER = IMAGE_RESULT_BASE + 19,       // image invalid parameter
76     IMAGE_RESULT_DECODE_FAILED = IMAGE_RESULT_BASE + 20,           // decode fail
77     IMAGE_RESULT_PLUGIN_REGISTER_FAILED = IMAGE_RESULT_BASE + 21,  // register plugin fail
78     IMAGE_RESULT_PLUGIN_CREATE_FAILED = IMAGE_RESULT_BASE + 22,    // create plugin fail
79     IMAGE_RESULT_ENCODE_FAILED = IMAGE_RESULT_BASE + 23,           // image encode fail
80     IMAGE_RESULT_ADD_PIXEL_MAP_FAILED = IMAGE_RESULT_BASE + 24,    // image add pixel map fail
81     IMAGE_RESULT_HW_DECODE_UNSUPPORT = IMAGE_RESULT_BASE + 25,     // image hardware decode unsupported
82     IMAGE_RESULT_DECODE_HEAD_ABNORMAL = IMAGE_RESULT_BASE + 26,    // image decode head error
83     IMAGE_RESULT_DECODE_EXIF_UNSUPPORT = IMAGE_RESULT_BASE + 27,   // image decode exif unsupport
84     IMAGE_RESULT_PROPERTY_NOT_EXIST = IMAGE_RESULT_BASE + 28,      // image property not exist
85 
86     IMAGE_RESULT_MEDIA_DATA_UNSUPPORT = IMAGE_RESULT_BASE + 30,               // media type unsupported
87     IMAGE_RESULT_MEDIA_TOO_LARGE = IMAGE_RESULT_BASE + 31,                    // media data too large
88     IMAGE_RESULT_MEDIA_MALLOC_FAILED = IMAGE_RESULT_BASE + 32,                // media malloc memory failed
89     IMAGE_RESULT_MEDIA_END_OF_STREAM = IMAGE_RESULT_BASE + 33,                // media end of stream error
90     IMAGE_RESULT_MEDIA_IO_ABNORMAL = IMAGE_RESULT_BASE + 34,                  // media io error
91     IMAGE_RESULT_MEDIA_MALFORMED = IMAGE_RESULT_BASE + 35,                    // media malformed error
92     IMAGE_RESULT_MEDIA_BUFFER_TOO_SMALL = IMAGE_RESULT_BASE + 36,             // media buffer too small error
93     IMAGE_RESULT_MEDIA_OUT_OF_RANGE = IMAGE_RESULT_BASE + 37,                 // media out of range error
94     IMAGE_RESULT_MEDIA_STATUS_ABNORMAL = IMAGE_RESULT_BASE + 38,              // media status abnormal error
95     IMAGE_RESULT_MEDIA_VALUE_INVALID = IMAGE_RESULT_BASE + 39,                // media value invalid
96     IMAGE_RESULT_MEDIA_NULL_POINTER = IMAGE_RESULT_BASE + 40,                 // media error operation
97     IMAGE_RESULT_MEDIA_INVALID_OPERATION = IMAGE_RESULT_BASE + 41,            // media invalid operation
98     IMAGE_RESULT_MEDIA_ERR_PLAYER_NOT_INIT = IMAGE_RESULT_BASE + 42,          // media init error
99     IMAGE_RESULT_MEDIA_EARLY_PREPARE = IMAGE_RESULT_BASE + 43,                // media early prepare
100     IMAGE_RESULT_MEDIA_SEEK_ERR = IMAGE_RESULT_BASE + 44,                     // media rewind error
101     IMAGE_RESULT_MEDIA_PERMISSION_DENIED = IMAGE_RESULT_BASE + 45,            // media permission denied
102     IMAGE_RESULT_MEDIA_DEAD_OBJECT = IMAGE_RESULT_BASE + 46,                  // media dead object
103     IMAGE_RESULT_MEDIA_TIMED_OUT = IMAGE_RESULT_BASE + 47,                    // media time out
104     IMAGE_RESULT_MEDIA_TRACK_NOT_ALL_SUPPORTED = IMAGE_RESULT_BASE + 48,      // media track subset support
105     IMAGE_RESULT_MEDIA_ADAPTER_INIT_FAILED = IMAGE_RESULT_BASE + 49,          // media recorder adapter init failed
106     IMAGE_RESULT_MEDIA_WRITE_PARCEL_FAIL = IMAGE_RESULT_BASE + 50,            // write parcel failed
107     IMAGE_RESULT_MEDIA_READ_PARCEL_FAIL = IMAGE_RESULT_BASE + 51,             // read parcel failed
108     IMAGE_RESULT_MEDIA_NO_AVAIL_BUFFER = IMAGE_RESULT_BASE + 52,              // read parcel failed
109     IMAGE_RESULT_MEDIA_INVALID_PARAM = IMAGE_RESULT_BASE + 53,                // media function found invalid param
110     IMAGE_RESULT_MEDIA_CODEC_ADAPTER_NOT_EXIST = IMAGE_RESULT_BASE + 54,      // media zcodec adapter not init
111     IMAGE_RESULT_MEDIA_CREATE_CODEC_ADAPTER_FAILED = IMAGE_RESULT_BASE + 55,  // media create zcodec adapter failed
112     IMAGE_RESULT_MEDIA_CODEC_ADAPTER_NOT_INIT = IMAGE_RESULT_BASE + 56,       // media adapter inner not init
113     IMAGE_RESULT_MEDIA_ZCODEC_CREATE_FAILED = IMAGE_RESULT_BASE + 57,         // media adapter inner not init
114     IMAGE_RESULT_MEDIA_ZCODEC_NOT_EXIST = IMAGE_RESULT_BASE + 58,             // media zcodec not exist
115     IMAGE_RESULT_MEDIA_JNI_CLASS_NOT_EXIST = IMAGE_RESULT_BASE + 59,          // media jni class not found
116     IMAGE_RESULT_MEDIA_JNI_METHOD_NOT_EXIST = IMAGE_RESULT_BASE + 60,         // media jni method not found
117     IMAGE_RESULT_MEDIA_JNI_NEW_OBJ_FAILED = IMAGE_RESULT_BASE + 61,           // media jni obj new failed
118     IMAGE_RESULT_MEDIA_JNI_COMMON_ERROR = IMAGE_RESULT_BASE + 62,             // media jni normal error
119     IMAGE_RESULT_MEDIA_DISTRIBUTE_NOT_SUPPORT = IMAGE_RESULT_BASE + 63,       // media distribute not support
120     IMAGE_RESULT_MEDIA_SOURCE_NOT_SET = IMAGE_RESULT_BASE + 64,               // media source not set
121     IMAGE_RESULT_MEDIA_RTSP_ADAPTER_NOT_INIT = IMAGE_RESULT_BASE + 65,        // media rtsp adapter not init
122     IMAGE_RESULT_MEDIA_RTSP_ADAPTER_NOT_EXIST = IMAGE_RESULT_BASE + 66,       // media rtsp adapter not exist
123     IMAGE_RESULT_MEDIA_RTSP_SURFACE_UNSUPPORT = IMAGE_RESULT_BASE + 67,       // media rtsp surface not support
124     IMAGE_RESULT_MEDIA_RTSP_CAPTURE_NOT_INIT = IMAGE_RESULT_BASE + 68,        // media rtsp capture init error
125     IMAGE_RESULT_MEDIA_RTSP_SOURCE_URL_INVALID = IMAGE_RESULT_BASE + 69,      // media rtsp source url invalid
126     IMAGE_RESULT_MEDIA_RTSP_VIDEO_TRACK_NOT_FOUND = IMAGE_RESULT_BASE + 70,   // media rtsp can't find video track
127     IMAGE_RESULT_MEDIA_RTSP_CAMERA_NUM_REACH_MAX = IMAGE_RESULT_BASE + 71,    // rtsp camera num reach to max num
128     IMAGE_RESULT_MEDIA_SET_VOLUME = IMAGE_RESULT_BASE + 72,                   // media set volume error
129     IMAGE_RESULT_MEDIA_NUMBER_OVERFLOW = IMAGE_RESULT_BASE + 73,              // media number operation overflow
130     IMAGE_RESULT_MEDIA_DIS_PLAYER_UNSUPPORTED = IMAGE_RESULT_BASE + 74,       // media distribute player unsupporteded
131     IMAGE_RESULT_MEDIA_DENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 75,           // image dencode ICC fail
132     IMAGE_RESULT_MEDIA_ENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 76,            // image encode ICC fail
133 
134     IMAGE_RESULT_MEDIA_READ_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 150,        // read pixelmap failed
135     IMAGE_RESULT_MEDIA_WRITE_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 151,       // write pixelmap failed
136     IMAGE_RESULT_MEDIA_PIXELMAP_NOT_ALLOW_MODIFY = IMAGE_RESULT_BASE + 152,   // pixelmap not allow modify
137     IMAGE_RESULT_MEDIA_CONFIG_FAILED = IMAGE_RESULT_BASE + 153,               // config error
138     IMAGE_RESULT_JNI_ENV_ABNORMAL = IMAGE_RESULT_BASE + 154,                  // Abnormal JNI environment
139     IMAGE_RESULT_SURFACE_GRALLOC_BUFFER_FAILED = IMAGE_RESULT_BASE + 155,     // surface gralloc buffer failed
140     IMAGE_RESULT_CREATE_SURFACE_FAILED = IMAGE_RESULT_BASE + 156,             // create surface failed
141     IMAGE_RESULT_SURFACE_GET_PARAMETER_FAILED = IMAGE_RESULT_BASE + 157,      // Failed to obtain parameters for surface
142     IMAGE_RESULT_GET_SURFACE_FAILED = IMAGE_RESULT_BASE + 158,                // get sufrace failed
143     IMAGE_RESULT_SURFACE_ACQUIRE_BUFFER_FAILED = IMAGE_RESULT_BASE + 159,     // Acquire Buffer failed
144     IMAGE_RESULT_SURFACE_REQUEST_BUFFER_FAILED = IMAGE_RESULT_BASE + 160,     // request Buffer failed
145     IMAGE_RESULT_REGISTER_LISTENER_FAILED = IMAGE_RESULT_BASE + 161,          // Failed to register listener
146     IMAGE_RESULT_REGISTER_BUFFER_FAILED = IMAGE_RESULT_BASE + 162,            // Failed to register buffer
147     IMAGE_RESULT_FREAD_FAILED = IMAGE_RESULT_BASE + 163,                      // read file failed
148     IMAGE_RESULT_PEEK_FAILED = IMAGE_RESULT_BASE + 164,                       // peek file failed
149     IMAGE_RESULT_SEEK_FAILED = IMAGE_RESULT_BASE + 165,                       // seek file failed
150     IMAGE_RESULT_STREAM_SIZE_ERROR = IMAGE_RESULT_BASE + 166,                 // stream bad
151     IMAGE_RESULT_FILE_FD_ERROR = IMAGE_RESULT_BASE + 167,                     // file fd is bad
152     IMAGE_RESULT_FILE_DAMAGED = IMAGE_RESULT_BASE + 168,                      // file damaged
153     IMAGE_RESULT_CREATE_DECODER_FAILED = IMAGE_RESULT_BASE + 169,             // create decoder failed
154     IMAGE_RESULT_CREATE_ENCODER_FAILED = IMAGE_RESULT_BASE + 170,             // create encoder failed
155     IMAGE_RESULT_CHECK_FORMAT_ERROR = IMAGE_RESULT_BASE + 171,                // check format failed
156     IMAGE_RESULT_THIRDPART_SKIA_ERROR = IMAGE_RESULT_BASE + 172,              // skia error
157     IMAGE_RESULT_HW_DECODE_FAILED = IMAGE_RESULT_BASE + 173,                  // hard decode failed
158     IMAGE_RESULT_ALLOCATER_TYPE_ERROR = IMAGE_RESULT_BASE + 174,              // hard decode failed
159     IMAGE_RESULT_ALPHA_TYPE_ERROR = IMAGE_RESULT_BASE + 175,                  // hard decode failed
160     IMAGE_RESULT_INDEX_INVALID = IMAGE_RESULT_BASE + 176,                     // invalid index
161 
162     IMAGE_RESULT_MEDIA_UNKNOWN = IMAGE_RESULT_BASE + 200,                     // media unknown error
163 } IRNdkErrCode;
164 
165 /**
166  * @brief Defines the image size.
167  *
168  * @since 10
169  * @version 2.0
170  */
171 struct OhosImageSize {
172     /** Image width, in pixels. */
173     int32_t width;
174     /** Image height, in pixels. */
175     int32_t height;
176 };
177 
178 #ifdef __cplusplus
179 };
180 #endif
181 /** @} */
182 
183 #endif // INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_COMMON_H_