• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef IMAGE_EFFECT_ERROR_CODE_H
17 #define IMAGE_EFFECT_ERROR_CODE_H
18 
19 #include <stdint.h>
20 #include <string>
21 
22 namespace OHOS {
23 namespace Media {
24 namespace Effect {
25 enum struct ErrorCode : int32_t {
26     SUCCESS = 0,
27     ERR_PARAM_INVALID = 401,
28     ERR_UNKNOWN = INT32_MIN + 0,
29     ERR_INPUT_NULL = ERR_UNKNOWN + 1,
30     ERR_NO_VALUE = ERR_UNKNOWN + 2,
31     ERR_UNSUPPORTED_IPTYPE_FOR_EFFECT = ERR_UNKNOWN + 3,
32     ERR_UNSUPPORTED_FORMAT_TYPE = ERR_UNKNOWN + 4,
33     ERR_ANY_CAST_TYPE_NOT_IPTYPE = ERR_UNKNOWN + 5,
34     ERR_UNSUPPORTED_CONFIG_TYPE = ERR_UNKNOWN + 6,
35     ERR_INVALID_SRC_PIXELMAP = ERR_UNKNOWN + 7,
36     ERR_INVALID_DST_PIXELMAP = ERR_UNKNOWN + 8,
37     ERR_UNSUPPORTED_PIXEL_FORMAT = ERR_UNKNOWN + 9,
38     ERR_UNSUPPORTED_DATA_TYPE = ERR_UNKNOWN + 10,
39     ERR_NO_DATA = ERR_UNKNOWN + 11,
40     ERR_PIXELMAP_GETIMAGEINFO_FAIL = ERR_UNKNOWN + 12,
41     ERR_PIXELMAP_ACCESSPIXELS_FAIL = ERR_UNKNOWN + 13,
42     ERR_UNSUPPORTED_INPUT_ANYTYPE = ERR_UNKNOWN + 14,
43     ERR_UNSUPPORTED_VALUE_KEY = ERR_UNKNOWN + 15,
44     ERR_ANY_CAST_TYPE_NOT_FLOAT = ERR_UNKNOWN + 16,
45     ERR_VALUE_OUT_OF_RANGE = ERR_UNKNOWN + 17,
46     ERR_NO_VALUE_KEY = ERR_UNKNOWN + 18,
47     ERR_ANY_CAST_TYPE_NOT_MATCH = ERR_UNKNOWN + 19,
48     ERR_NOT_SUPPORT_SWITCH_TO_OHANY = ERR_UNKNOWN + 20,
49     ERR_JSON_DATA_TYPE = ERR_UNKNOWN + 21,
50     ERR_JSON_NO_TARGET = ERR_UNKNOWN + 22,
51     ERR_NO_FILTER_OPERATOR_LEVEL = ERR_UNKNOWN + 23,
52     ERR_PIPELINE_INVALID_FILTER = ERR_UNKNOWN + 24,
53     ERR_PIPELINE_INVALID_FILTER_PORT = ERR_UNKNOWN + 25,
54     ERR_PIPELINE_INVALID_FILTER_CALLBACK = ERR_UNKNOWN + 26,
55     ERR_CUSTOM_EFILTER_APPLY_FAIL = ERR_UNKNOWN + 27,
56     ERR_CUSTOM_EFILTER_SETVALUE_FAIL = ERR_UNKNOWN + 28,
57     ERR_CUSTOM_EFILTER_SAVE_FAIL = ERR_UNKNOWN + 29,
58     ERR_CUSTOM_EFILTER_RESTORE_FAIL = ERR_UNKNOWN + 30,
59     ERR_ALLOC_MEMORY_SIZE_OUT_OF_RANGE = ERR_UNKNOWN + 31,
60     ERR_ALLOC_MEMORY_FAIL = ERR_UNKNOWN + 32,
61     ERR_FREE_MEMORY_ADDR_ABNORMAL = ERR_UNKNOWN + 33,
62     ERR_MEMCPY_FAIL = ERR_UNKNOWN + 34,
63     ERR_UNSUPPORTED_RUNNINGTYPE = ERR_UNKNOWN + 35,
64     ERR_INVALID_SRC_SURFACEBUFFER = ERR_UNKNOWN + 36,
65     ERR_INVALID_DST_SURFACEBUFFER = ERR_UNKNOWN + 37,
66     ERR_PARSE_FOR_EFFECT_BUFFER_FAIL = ERR_UNKNOWN + 38,
67     ERR_NOT_SUPPORT_DIFF_DATATYPE = ERR_UNKNOWN + 39,
68     ERR_CREATE_IMAGESOURCE_FAIL = ERR_UNKNOWN + 40,
69     ERR_CREATE_PIXELMAP_FAIL = ERR_UNKNOWN + 41,
70     ERR_EXTRA_INFO_NULL = ERR_UNKNOWN + 42,
71     ERR_BUFFER_INFO_NULL = ERR_UNKNOWN + 43,
72     ERR_NOT_SUPPORT_DIFF_FORMAT = ERR_UNKNOWN + 44,
73     ERR_IMAGE_PACKER_EXEC_FAIL = ERR_UNKNOWN + 45,
74     ERR_SET_IMAGE_INFO_EXEC_FAIL = ERR_UNKNOWN + 46,
75     ERR_FILE_TYPE_NOT_SUPPORT = ERR_UNKNOWN + 47,
76     ERR_INVALID_INDEX = ERR_UNKNOWN + 48,
77     ERR_BUFFER_NOT_ALLOW_CHANGE = ERR_UNKNOWN + 49,
78     ERR_CREATE_MEMORY_FAIL = ERR_UNKNOWN + 50,
79     ERR_SET_IMAGE_INFO_FAIL = ERR_UNKNOWN + 51,
80     ERR_MEMORY_DATA_ABNORMAL = ERR_UNKNOWN + 52,
81     ERR_NOT_FILTERS_WITH_RENDER = ERR_UNKNOWN + 53,
82     ERR_NOT_SET_INPUT_DATA = ERR_UNKNOWN + 54,
83     ERR_UNSUPPORTED_INOUT_WITH_DIFF_BUFFER = ERR_UNKNOWN + 55,
84     ERR_UNSUPPORTED_BUFFER_TYPE = ERR_UNKNOWN + 56,
85     ERR_INVALID_SURFACE_BUFFER = ERR_UNKNOWN + 57,
86     ERR_INVALID_FD = ERR_UNKNOWN + 58,
87     ERR_SRC_EFFECT_BUFFER_NULL = ERR_UNKNOWN + 59,
88     ERR_VPE_COMPOSE_IMAGE_FAIL = ERR_UNKNOWN + 60,
89     ERR_VPE_DECOMPOSE_IMAGE_FAIL = ERR_UNKNOWN + 61,
90     ERR_VPE_PROCESS_IMAGE_FAIL = ERR_UNKNOWN + 62,
91     ERR_VPE_METADATA_PROCESS_IMAGE_FAIL = ERR_UNKNOWN + 63,
92     ERR_INVALID_VPE_INSTANCE = ERR_UNKNOWN + 64,
93     ERR_SET_METADATA_FAIL = ERR_UNKNOWN + 65,
94     ERR_GET_METADATA_FAIL = ERR_UNKNOWN + 66,
95     ERR_SET_COLORSPACETYPE_FAIL = ERR_UNKNOWN + 67,
96     ERR_GET_COLORSPACETYPE_FAIL = ERR_UNKNOWN + 68,
97     ERR_INVALID_COLORSPACE = ERR_UNKNOWN + 69,
98     ERR_APPLYCOLORSPACE_FAIL = ERR_UNKNOWN + 70,
99     ERR_NOT_SUPPORT_INPUT_OUTPUT_COLORSPACE = ERR_UNKNOWN + 71,
100     ERR_FILTER_NOT_SUPPORT_INPUT_OUTPUT_COLORSPACE = ERR_UNKNOWN + 72,
101     ERR_COLORSPACE_NOT_SUPPORT_CONVERT = ERR_UNKNOWN + 73,
102     ERR_NOT_SUPPORT_CONVERT_FORMAT = ERR_UNKNOWN + 74,
103     ERR_CREATE_PICTURE_FAIL = ERR_UNKNOWN + 75,
104     ERR_IMAGE_DATA = ERR_UNKNOWN + 76,
105     ERR_GET_MAIN_PIXELMAP_FROM_PICTURE_FAIL = ERR_UNKNOWN + 77,
106     ERR_AUXILIARY_MAP_NOT_FOUND = ERR_UNKNOWN + 78,
107     ERR_EFILTER_RENDER_FAILED = ERR_UNKNOWN + 79,
108     ERR_INVALID_TEXTURE = ERR_UNKNOWN + 80,
109     ERR_UNSUPPORTED_TEXTURE_FORMAT = ERR_UNKNOWN + 81,
110     ERR_NO_DST_TEX = ERR_UNKNOWN + 82,
111     ERR_INVALID_PARAMETER_VALUE = ERR_UNKNOWN + 100,
112     ERR_INVALID_PARAMETER_TYPE = ERR_UNKNOWN + 101,
113     ERR_INVALID_OPERATION = ERR_UNKNOWN + 102,
114     ERR_UNIMPLEMENTED = ERR_UNKNOWN + 103,
115     ERR_TIMED_OUT = ERR_UNKNOWN + 104,
116     ERR_NO_MEMORY = ERR_UNKNOWN + 105,
117     ERR_PERMISSION_DENIED = ERR_UNKNOWN + 106,
118     ERR_IMAGE_EFFECT_RECEIVER_INIT_FAILED = ERR_UNKNOWN + 107,
119     ERR_GL_FRAMEBUFFER_NOT_COMPLETE = ERR_UNKNOWN + 200,
120     ERR_GL_CREATE_TEXTURE_FAILED = ERR_UNKNOWN + 201,
121     ERR_GL_CREATE_PROGRAM_FAILED = ERR_UNKNOWN + 202,
122     ERR_GL_INIT_MESH_FAILED = ERR_UNKNOWN + 203,
123     ERR_GL_PRE_DRAW_FAILED = ERR_UNKNOWN + 204,
124     ERR_GL_DRAW_FAILED = ERR_UNKNOWN + 205,
125     ERR_GL_COPY_PIXELS_FAILED = ERR_UNKNOWN + 206,
126 };
127 
128 std::string GetErrorName(ErrorCode code);
129 
130 #ifndef FALSE_RETURN_MSG_W
131 #define FALSE_RETURN_MSG_W(exec, ret, fmt, args...) \
132     do {                                            \
133         bool returnValue = (exec);                  \
134         if (!returnValue) {                         \
135             EFFECT_LOGW(fmt, ##args);               \
136             return ret;                             \
137         }                                           \
138     } while (0)
139 #endif
140 
141 #ifndef FALSE_RETURN_E
142 #define FALSE_RETURN_E(exec, ret)               \
143     do {                                        \
144         bool returnValue = (exec);              \
145         if (!returnValue) {                     \
146             EFFECT_LOGE("FALSE_RETURN " #exec); \
147             return ret;                         \
148         }                                       \
149     } while (0)
150 #endif
151 
152 #ifndef FALSE_RETURN_MSG_E
153 #define FALSE_RETURN_MSG_E(exec, ret, fmt, args...) \
154     do {                                            \
155         bool returnValue = (exec);                  \
156         if (!returnValue) {                         \
157             EFFECT_LOGE(fmt, ##args);               \
158             return ret;                             \
159         }                                           \
160     } while (0)
161 #endif
162 
163 #ifndef FALSE_RETURN_VOID_MSG_E
164 #define FALSE_RETURN_VOID_MSG_E(exec, fmt, args...) \
165     do {                                            \
166         bool returnValue = (exec);                  \
167         if (!returnValue) {                         \
168             EFFECT_LOGE(fmt, ##args);               \
169             return;                                 \
170         }                                           \
171     } while (0)
172 #endif
173 
174 #ifndef FAIL_RETURN
175 #define FAIL_RETURN(exec)                                                                            \
176     do {                                                                                             \
177         ErrorCode returnValue = (exec);                                                              \
178         if (returnValue != ErrorCode::SUCCESS) {                                                     \
179             EFFECT_LOGE("FAIL_RETURN on ErrorCode(%{public}s).", GetErrorName(returnValue).c_str()); \
180             return returnValue;                                                                      \
181         }                                                                                            \
182     } while (0)
183 #endif
184 } // namespace Effect
185 } // namespace Media
186 } // namespace OHOS
187 #endif // IMAGE_EFFECT_ERROR_CODE_H
188