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_INVALID_PARAMETER_VALUE = ERR_UNKNOWN + 100, 106 ERR_INVALID_PARAMETER_TYPE = ERR_UNKNOWN + 101, 107 ERR_INVALID_OPERATION = ERR_UNKNOWN + 102, 108 ERR_UNIMPLEMENTED = ERR_UNKNOWN + 103, 109 ERR_TIMED_OUT = ERR_UNKNOWN + 104, 110 ERR_NO_MEMORY = ERR_UNKNOWN + 105, 111 ERR_PERMISSION_DENIED = ERR_UNKNOWN + 106, 112 ERR_IMAGE_EFFECT_RECEIVER_INIT_FAILED = ERR_UNKNOWN + 107, 113 ERR_GL_FRAMEBUFFER_NOT_COMPLETE = ERR_UNKNOWN + 200, 114 ERR_GL_CREATE_TEXTURE_FAILED = ERR_UNKNOWN + 201, 115 ERR_GL_CREATE_PROGRAM_FAILED = ERR_UNKNOWN + 202, 116 ERR_GL_INIT_MESH_FAILED = ERR_UNKNOWN + 203, 117 ERR_GL_PRE_DRAW_FAILED = ERR_UNKNOWN + 204, 118 ERR_GL_DRAW_FAILED = ERR_UNKNOWN + 205, 119 ERR_GL_COPY_PIXELS_FAILED = ERR_UNKNOWN + 206, 120 }; 121 122 std::string GetErrorName(ErrorCode code); 123 124 #ifndef FALSE_RETURN_MSG_W 125 #define FALSE_RETURN_MSG_W(exec, ret, fmt, args...) \ 126 do { \ 127 bool returnValue = (exec); \ 128 if (!returnValue) { \ 129 EFFECT_LOGW(fmt, ##args); \ 130 return ret; \ 131 } \ 132 } while (0) 133 #endif 134 135 #ifndef FALSE_RETURN_E 136 #define FALSE_RETURN_E(exec, ret) \ 137 do { \ 138 bool returnValue = (exec); \ 139 if (!returnValue) { \ 140 EFFECT_LOGE("FALSE_RETURN " #exec); \ 141 return ret; \ 142 } \ 143 } while (0) 144 #endif 145 146 #ifndef FALSE_RETURN_MSG_E 147 #define FALSE_RETURN_MSG_E(exec, ret, fmt, args...) \ 148 do { \ 149 bool returnValue = (exec); \ 150 if (!returnValue) { \ 151 EFFECT_LOGE(fmt, ##args); \ 152 return ret; \ 153 } \ 154 } while (0) 155 #endif 156 157 #ifndef FAIL_RETURN 158 #define FAIL_RETURN(exec) \ 159 do { \ 160 ErrorCode returnValue = (exec); \ 161 if (returnValue != ErrorCode::SUCCESS) { \ 162 EFFECT_LOGE("FAIL_RETURN on ErrorCode(%{public}s).", GetErrorName(returnValue).c_str()); \ 163 return returnValue; \ 164 } \ 165 } while (0) 166 #endif 167 } // namespace Effect 168 } // namespace Media 169 } // namespace OHOS 170 #endif // IMAGE_EFFECT_ERROR_CODE_H 171